Skip to content

[Bug]: Share dialog hangs with infinite spinner when clicking "Set expiration date" checkbox (Windows, Qt FluentWinUI3 style) #9859

@jman0815

Description

@jman0815

⚠️ Before submitting, please verify the following: ⚠️

Bug description

When creating a public link share via the Windows desktop client and clicking the "Set expiration date" checkbox, the UI shows an infinite loading spinner. The user can neither choose nor confirm a date. The share is created on the server with an effective expiration date of "today" or "tomorrow", regardless of the server-side default (which is set to 90 days in our case). The same action works correctly in the web client and when creating shares directly via the OCS API.

Steps to reproduce

  1. Install Nextcloud Desktop Client on Windows 11.
  2. Connect to a Nextcloud Hub 26 Winter (33.0.2) server.
  3. Open the share dialog for any synced file via the client window.
  4. Create a public link share.
  5. Click the "Set expiration date" checkbox.

Expected behavior

A date picker appears; the user can choose a date up to the configured maximum (90 days in our setup).

Actual behavior
The checkbox spinner continues to load indefinitely. No date can be selected. The share is silently created with an expiration date of approximately "today" or "today + 1 day"

Which files are affected by this bug

/qml/src/gui/filedetails/FileDetailsWindow.qml, /qml/src/gui/filedetails/ShareDelegate.qml, /qml/src/gui/filedetails/ShareDetailsPage.qml, /qml/src/gui/filedetails/ShareeSearchField.qml

Operating system

Windows

Which version of the operating system you are running.

Windows 11 Version 25H2

Package

Official Windows MSI

Nextcloud Server version

33.0.2

Nextcloud Desktop Client version

33.0.2

Is this bug present after an update or on a fresh install?

Fresh desktop client install

Are you using the Nextcloud Server Encryption module?

Encryption is Disabled

Are you using an external user-backend?

  • Default internal user-backend
  • LDAP/ Active Directory
  • SSO - SAML
  • Other

Nextcloud Server logs

Additional info

Client configuration

  • OS: Windows 11 Version 25H2
  • Nextcloud Desktop Client versions tested (all affected):
    * 4.0.4 build 20251215
    * 4.0.5 build 20260119
    * 4.0.6 build 20260122
    * 33.0.2 build 20260331
  • Qt Quick Controls style: FluentWinUI3 (default on Windows 11)
  • Locale: de_DE

Server configuration

  • Nextcloud 33.0.2.2 (Hub 26 Winter), managed instance (NETWAYS SaaS)
  • Sharing → Public links:
    * Default expiration: 90 days
    * Enforced: false
    * Password required: false
  • Server capabilities (abbreviated):
  • "public": { "expire_date": { "days": 90, "enabled": true, "enforced": false }}

Troubleshooting already performed

  • Full client reinstall with %APPDATA%\Nextcloud and %LOCALAPPDATA%\Nextcloud deleted → bug reproduces
  • Multiple client versions tested (4.0.4, 4.0.5, 4.0.6, 33.0.2) → bug reproduces on all
  • Share creation via web UI → works correctly
  • Share creation via OCS API (POST /ocs/v2.php/apps/files_sharing/api/v1/shares with expireDate) → works correctly, returns the provided date

Relevant log output
The following QML errors and warnings occur when the share details page is opened and the "Set expiration date" checkbox is activated:
qrc:/qml/src/gui/filedetails/FileDetailsWindow.qml:28:
TypeError: Cannot read property 'name' of undefined

qrc:/qml/src/gui/filedetails/ShareDelegate.qml:59:
TypeError: Cannot read property 'left' of null

qrc:/qml/src/gui/filedetails/ShareDelegate.qml:60:
TypeError: Cannot read property 'right' of null

qrc:/qml/src/gui/filedetails/ShareDetailsPage.qml:419:21:
QML CheckBox: Detected anchors on an item that is managed by a layout.
This is undefined behavior; use Layout.alignment instead.

qrc:/qml/src/gui/filedetails/ShareeSearchField.qml:152:5:
QML Popup: Binding loop detected for property "implicitHeight"
qrc:/qt-project.org/imports/QtQuick/Controls/FluentWinUI3/Popup.qml:15:5
The ShareDetailsPage.qml CheckBox at line 419 is the "Set expiration date" control that hangs. The combination of misused anchors-within-layout, null-property access in ShareDelegate.qml, and the binding loop in ShareeSearchField.qml under the FluentWinUI3 style appears to prevent the date picker from rendering and returning its value.
Full debug log can be provided on request.

Hypothesized root cause
The CheckBox at ShareDetailsPage.qml:419 uses anchors on an item managed by a Layout, which is explicitly undefined behavior. In combination with the null-reference errors in ShareDelegate.qml and the FluentWinUI3 Popup binding loop, the date picker popup never completes its rendering cycle, leaving the checkbox in a permanent "loading" state. Since the POST to the share API is never issued with a valid expireDate, the server falls back to its minimum / near-current-day expiration.

Metadata

Metadata

Assignees

No one assigned

    Type

    No fields configured for Bug.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions