nextcloud/server · error · Sabre\DAV\Exception

Href is empty

Error message

Href is empty

What it means

Error "Href is empty" thrown in nextcloud/server.

Source

Thrown at apps/dav/lib/DAV/CustomPropertiesBackend.php:342

		$qb->update('properties')
			->set('propertypath', $qb->createNamedParameter($this->formatPath($destination)))
			->where($qb->expr()->eq('userid', $qb->createNamedParameter($this->user->getUID())))
			->andWhere($qb->expr()->eq('propertypath', $qb->createNamedParameter($this->formatPath($source))));
		$qb->executeStatement();
	}

	/**
	 * Validate the value of a property. Will throw if a value is invalid.
	 *
	 * @throws DavException The value of the property is invalid
	 */
	private function validateProperty(string $path, string $propName, mixed $propValue): void {
		switch ($propName) {
			case '{urn:ietf:params:xml:ns:caldav}schedule-default-calendar-URL':
				/** @var Href $propValue */
				$href = $propValue->getHref();
				if ($href === null) {
					throw new DavException('Href is empty');
				}

				// $path is the principal here as this prop is only set on principals
				$node = $this->tree->getNodeForPath($href);
				if (!($node instanceof Calendar) || $node->getOwner() !== $path) {
					throw new DavException('No such calendar');
				}

				$this->defaultCalendarValidator->validateScheduleDefaultCalendar($node);
				break;
		}
	}

	/**
	 * @param string[] $requestedProperties
	 *
	 * @return array<string, mixed|Complex|Href|string>
	 * @throws \OCP\DB\Exception

View on GitHub (pinned to ecdeb153ff)

When it happens

Trigger: Thrown at apps/dav/lib/DAV/CustomPropertiesBackend.php:342 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of nextcloud/server@ecdeb153ff (2026-08-17). Data as JSON: /api/errors/42f0b00f78cb0e45. Report an issue: GitHub.