feat!: remove the shared demo account
The demo account — one shared user that whitelisted emails entered from the login page, reset on a schedule — goes end to end (owner decision, E34): demo.py and the reset job, users.is_demo and demo_whitelist (migration 0098 deletes the demo user, its audit rows, the reset job's override and notices, then drops the column and table; the downgrade restores the empty schema), the /auth/demo entry, the admin whitelist and reset, the Demo tab, the banner, the login page's "Try the demo", and every is_demo branch in routes, userscope, scheduler and the UI. require_human only ever refused the demo account, so its 87 uses become current_user (owner-approved); require_write_scope keeps its own check. The login page's "or" divider now shows only beside the Google button: without the demo entry under it, an instance without Google would have said "or" to nothing. A contract test (removedFeatures) fails on the word anywhere in the backend, frontend, e2e or scripts — seen red on a planted hit. Size ceilings tightened for the modules that shrank; admin.py is back under the limit.
This commit is contained in:
@@ -73,7 +73,6 @@
|
||||
"deleteTitle": "Delete your account?",
|
||||
"deleteConfirm": "This permanently erases your account and all your data (subscriptions, tags, watch/saved/hidden state, playlists, settings). It can't be undone.",
|
||||
"deleteConfirmButton": "Delete everything",
|
||||
"demoNotice": "This is the shared demo account. It has no YouTube connection — you can browse the whole shared Library, filter and sort it, build playlists and try things out, but nothing touches a real YouTube account.",
|
||||
"signInMethods": "Sign-in methods",
|
||||
"googleLink": {
|
||||
"title": "Google account",
|
||||
@@ -132,28 +131,6 @@
|
||||
"removeConfirmAction": "Delete",
|
||||
"loadError": "Couldn't load your download authentication settings"
|
||||
},
|
||||
"demo": {
|
||||
"title": "Demo access",
|
||||
"intro": "Emails here can enter the shared demo account straight from the login page — no Google sign-in. They just type the address into the field and are let in after a moment.",
|
||||
"addPlaceholder": "Whitelist an email for demo…",
|
||||
"add": "Add",
|
||||
"added": "{{email}} added to the demo whitelist",
|
||||
"addFailed": "Couldn't add that email",
|
||||
"removeFailed": "Couldn't remove that email",
|
||||
"remove": "Remove",
|
||||
"removeHint": "Remove this email from the demo whitelist.",
|
||||
"addedBy": "added by {{who}}",
|
||||
"reset": "Reset demo state",
|
||||
"resetHint": "Wipe the demo account's playlists, hidden/watched/saved videos and settings, then re-seed a few sample playlists.",
|
||||
"resetTitle": "Reset demo state?",
|
||||
"resetConfirm": "This clears everything the demo account has accumulated — playlists, hidden/watched/saved videos and settings — and re-seeds a few sample playlists. It can't be undone.",
|
||||
"resetDone_one": "Demo reset — {{count}} sample playlist seeded",
|
||||
"resetDone_other": "Demo reset — {{count}} sample playlists seeded",
|
||||
"resetFailed": "Couldn't reset the demo account",
|
||||
"removed": "Removed from the demo whitelist",
|
||||
"removeTitle": "Remove demo access?",
|
||||
"removeConfirm": "Remove {{email}} from the demo whitelist? They'll no longer be able to enter the demo account."
|
||||
},
|
||||
"invites": {
|
||||
"title": "Access requests",
|
||||
"noPending": "No pending requests.",
|
||||
@@ -228,7 +205,6 @@
|
||||
},
|
||||
"status": "{{level}} logging · back to “Basic” in {{time}}",
|
||||
"revert": "Back to “Basic” now",
|
||||
"demo": "The demo account is shared by several people, so detailed logging can't be turned on here.",
|
||||
"failed": "Couldn't change the logging level"
|
||||
},
|
||||
"myLog": {
|
||||
|
||||
Reference in New Issue
Block a user