Setting a password for an external link to a file or folder does not work in a stable, reproducible manner

The Basics

  • Nextcloud Server version (e.g., 29.x.x):
    • 32.0.6
  • Operating system and version (e.g., Ubuntu 24.04):
    • Ubuntu 22.0.4 LTS
  • Web server and version (e.g, Apache 2.4.25):
    • Apache 2.4
  • Reverse proxy and version _(e.g. nginx 1.27.2)
    • none
  • PHP version (e.g, 8.3):
    • 8.2.29
  • Is this the first time you’ve seen this error? (Yes / No):
    • yes
  • When did this problem seem to first start?
    • was reported by a used recently
  • Installation method (e.g. AlO, NCP, Bare Metal/Archive, etc.)
    • bare metal
  • Are you using CloudfIare, mod_security, or similar? (Yes / No)
    • no

Summary of the issue you are facing:

Setting a password for an external link to a single file does not work in a stable, reproducible manner

Steps to replicate it (hint: details matter!)

Click on “create public link” then “create share”
Click on “Customize link”
Check “Set Password” (wait until the message that a password was created fades away)
After that, the password field stays just empty
Click on “Update share”
Copy the shares link and test in separate browser → file is displayed without being asked for a password
Return to other browser and click on “Customize link” → suddenly, there IS a password
Click “Update share” and test again in the second browser window → now the password is respected.
Return to other browser and click on “Customize link” → Password field is empty again
Enter your own password and save
Return to second browser and test → file is being displayed without asking for a password.

After that, I can’t get the share link to ask for a password ever again - either it saves the password but it does not work.

Or the password just vanishes, sometimes even the “Set password” checkbox is unchecked after saving.

The behaviour seems to be unpredictable and erratic.

You should also be able to change other settings of the link without losing the password!

Log entries

Nextcloud

Please provide the log entries from your Nextcloud log that are generated during the time of problem (via the Copy raw option from Administration settings->Logging screen or from your nextcloud.log located in your data directory). Feel free to use a pastebin/gist service if necessary.

No log entries apart from the normal ones like "HMAC does not match..."

Web Browser

If the problem is related to the Web interface, open your browser inspector Console and Network tabs while refreshing (reloading) and reproducing the problem. Provide any relevant output/errors here that appear.

SharingEntryLink.vue:586 external legacy {__ob__: e} []
externalLegacyShareActions @ SharingEntryLink.vue:586
(anonymous) @ vue.runtime.esm.js:3462
(anonymous) @ vue.runtime.esm.js:3563
(anonymous) @ vue.runtime.esm.js:5557
(anonymous) @ SharingEntryLink.vue:1
(anonymous) @ vue.runtime.esm.js:2700
a @ vue.runtime.esm.js:3891
(anonymous) @ vue.runtime.esm.js:3462
e @ vue.runtime.esm.js:3452
(anonymous) @ vue.runtime.esm.js:3908
(anonymous) @ vue.runtime.esm.js:8797
init @ vue.runtime.esm.js:4427
(anonymous) @ vue.runtime.esm.js:6591
m @ vue.runtime.esm.js:6545
(anonymous) @ vue.runtime.esm.js:6840
C @ vue.runtime.esm.js:6933
(anonymous) @ vue.runtime.esm.js:7101
(anonymous) @ vue.runtime.esm.js:3785
a @ vue.runtime.esm.js:3891
(anonymous) @ vue.runtime.esm.js:3462
(anonymous) @ vue.runtime.esm.js:3538
aa @ vue.runtime.esm.js:4141
(anonymous) @ vue.runtime.esm.js:3159
fn @ vue.runtime.esm.js:3081
Promise.then
cn @ vue.runtime.esm.js:3106
yn @ vue.runtime.esm.js:3171
ra @ vue.runtime.esm.js:4227
(anonymous) @ vue.runtime.esm.js:3529
(anonymous) @ vue.runtime.esm.js:732
set @ vue.runtime.esm.js:976
(anonymous) @ vue.runtime.esm.js:5376
pushNewLinkShare @ SharingEntryLink.vue:748
await in pushNewLinkShare
onNewLinkShare @ SharingEntryLink.vue:691
click @ SharingEntryLink.vue:1
ln @ vue.runtime.esm.js:3033
n @ vue.runtime.esm.js:1832
ln @ vue.runtime.esm.js:3033
(anonymous) @ vue.runtime.esm.js:3732
onClick @ actionText-BMig9Egt.mjs:78
handleClick @ NcActionButton-1gSJfFUC.mjs:145
ln @ vue.runtime.esm.js:3033
n @ vue.runtime.esm.js:1832
push.85471.i._wrapper @ vue.runtime.esm.js:7500
server.css?v=4231f3fe-26:1  GET https://cloud.ellis-events.com/apps/theming/image/logo?v=26 404 (Not Found)
SharingDetailsTab.vue:784 legacy details tab {__ob__: e} []
externalLegacyShareActions @ SharingDetailsTab.vue:784
(anonymous) @ vue.runtime.esm.js:3462
(anonymous) @ vue.runtime.esm.js:3563
(anonymous) @ vue.runtime.esm.js:5557
(anonymous) @ SharingDetailsTab.vue:3
(anonymous) @ vue.runtime.esm.js:2700
a @ vue.runtime.esm.js:3891
(anonymous) @ vue.runtime.esm.js:3462
e @ vue.runtime.esm.js:3452
(anonymous) @ vue.runtime.esm.js:3908
(anonymous) @ vue.runtime.esm.js:8797
init @ vue.runtime.esm.js:4427
(anonymous) @ vue.runtime.esm.js:6591
m @ vue.runtime.esm.js:6545
(anonymous) @ vue.runtime.esm.js:6840
C @ vue.runtime.esm.js:6933
(anonymous) @ vue.runtime.esm.js:7101
(anonymous) @ vue.runtime.esm.js:3785
a @ vue.runtime.esm.js:3891
(anonymous) @ vue.runtime.esm.js:3462
(anonymous) @ vue.runtime.esm.js:3538
aa @ vue.runtime.esm.js:4141
(anonymous) @ vue.runtime.esm.js:3159
fn @ vue.runtime.esm.js:3081
Promise.then
cn @ vue.runtime.esm.js:3106
yn @ vue.runtime.esm.js:3171
ra @ vue.runtime.esm.js:4227
(anonymous) @ vue.runtime.esm.js:3529
(anonymous) @ vue.runtime.esm.js:732
set @ vue.runtime.esm.js:976
(anonymous) @ vue.runtime.esm.js:5376
toggleShareDetailsView @ SharingTab.vue:588
ln @ vue.runtime.esm.js:3033
n @ vue.runtime.esm.js:1832
ln @ vue.runtime.esm.js:3033
(anonymous) @ vue.runtime.esm.js:3732
openSharingDetails @ ShareDetails.js:48
open-sharing-details @ SharingLinkList.vue:1
ln @ vue.runtime.esm.js:3033
n @ vue.runtime.esm.js:1832
ln @ vue.runtime.esm.js:3033
(anonymous) @ vue.runtime.esm.js:3732
openSharingDetails @ ShareDetails.js:48
click @ SharingEntryLink.vue:1
ln @ vue.runtime.esm.js:3033
n @ vue.runtime.esm.js:1832
ln @ vue.runtime.esm.js:3033
(anonymous) @ vue.runtime.esm.js:3732
onClick @ actionText-BMig9Egt.mjs:78
handleClick @ NcActionButton-1gSJfFUC.mjs:145
ln @ vue.runtime.esm.js:3033
n @ vue.runtime.esm.js:1832
push.85471.i._wrapper @ vue.runtime.esm.js:7500

Web server / Reverse Proxy

The output of your Apache/nginx/system log in /var/log/____:

PASTE HERE

Configuration

Nextcloud

The output of occ config:list system or similar is best, but, if not possible, the contents of your config.php file from /path/to/nextcloud is fine (make sure to remove any identifiable information!):

{
    "system": {
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "***REMOVED SENSITIVE VALUE***",
            "***REMOVED SENSITIVE VALUE***"
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "default_language": "en",
        "dbtype": "mysql",
        "version": "32.0.6.1",
        "overwrite.cli.url": "https:\/\/***REMOVED SENSITIVE VALUE***\/",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbport": "",
        "dbtableprefix": "oc_",
        "mysql.utf8mb4": true,
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "htaccess.RewriteBase": "\/",
        "mail_smtpmode": "smtp",
        "mail_sendmailmode": "smtp",
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpport": "1587",
        "mail_smtpauth": true,
        "mail_smtpauthtype": "LOGIN",
        "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
        "mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
        "maintenance": false,
        "theme": "",
        "loglevel": 3,
        "default_phone_region": "DE",
        "memcache.local": "\\OC\\Memcache\\APCu",
        "defaultapp": "files",
        "updater.secret": "***REMOVED SENSITIVE VALUE***"
    }
}

Apps

Enabled:

  • activity: 5.0.0
  • app_api: 32.0.0
  • bruteforcesettings: 5.0.0
  • circles: 32.0.0
  • cloud_federation_api: 1.16.0
  • collectives: 3.6.1
  • comments: 1.22.0
  • contacts: 8.3.2
  • contactsinteraction: 1.13.1
  • dashboard: 7.12.0
  • dav: 1.34.2
  • federatedfilesharing: 1.22.0
  • federation: 1.22.0
  • files: 2.4.0
  • files_downloadlimit: 5.0.0-dev.0
  • files_pdfviewer: 5.0.0
  • files_reminders: 1.5.0
  • files_sharing: 1.24.1
  • files_trashbin: 1.22.0
  • files_versions: 1.25.0
  • firstrunwizard: 5.0.0
  • groupfolders: 20.1.10
  • logreader: 5.0.0
  • lookup_server_connector: 1.20.0
  • nextcloud_announcements: 4.0.0
  • notifications: 5.0.0
  • oauth2: 1.20.0
  • password_policy: 4.0.0
  • photos: 5.0.0
  • privacy: 4.0.0
  • profile: 1.1.0
  • provisioning_api: 1.22.0
  • recommendations: 5.0.0
  • registration: 2.8.0
  • related_resources: 3.0.0
  • serverinfo: 4.0.0
  • settings: 1.15.1
  • sharebymail: 1.22.0
  • support: 4.0.0
  • survey_client: 4.0.0
  • systemtags: 1.22.0
  • text: 6.0.1
  • theming: 2.7.0
  • theming_customcss: 1.19.0
  • twofactor_backupcodes: 1.21.0
  • updatenotification: 1.22.0
  • user_status: 1.12.0
  • viewer: 5.0.0
  • weather_status: 1.12.0
  • webhook_listeners: 1.3.0
  • workflowengine: 2.14.0
    Disabled:
  • admin_audit: 1.22.0
  • cfg_share_links: 7.0.1 (installed 7.0.1)
  • encryption: 2.20.0
  • files_external: 1.24.1
  • files_rightclick: 0.15.1 (installed 1.6.0)
  • suspicious_login: 10.0.0
  • twofactor_nextcloud_notification: 6.0.0
  • twofactor_totp: 14.0.0
  • user_ldap: 1.23.0

Tips for increasing the likelihood of a response

  • Use the preformatted text formatting option in the editor for all log entries and configuration output.
  • If screenshots are useful, feel free to include them.
    • If possible, also include key error output in text form so it can be searched for.
  • Try to edit log output only minimally (if at all) so that it can be ran through analyzers / formatters by those trying to help you.