Non-operator UI for the public share links master switch #351
Labels
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: Cordy/Cairn#351
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What exists after #352
settings.ShareLinksDisabledis a real, enforced master switch.shareCreaterejects any new link with400 policy: public share links are turned off on this server, checked before the password and expiry rules so no combination of other settings gets a link through. Existing links keep working; revocation stays on Sharing → Active links.The gap
Enforcement is correct but invisible to the people it affects. A regular user today:
Every step after the first is wasted work, and the error arrives at the point of most investment. The switch is an instance-wide policy, so it should be legible before the dialog, not enforced after it.
Scope
Decide and build how a non-operator learns that public share links are off.
The data is already there:
shareLinksDisabledrides in the sameserverSettingsobject the share dialog already reads forshareRequirePassword,shareUploadsForbidden,shareMaxExpiryandshareDefaultExpiry(web/static/index.html, around the share-dialog setup). No new endpoint is needed.The design question is which of these it should be, and the answer is not obvious:
Whichever wins should also cover WebDAV and API callers, who get the 400 and nothing else — at minimum the error string should read as policy rather than failure, which it currently does.
Definition of done
Related