audiobookshelf/client/pages
zriddle 464b720d9e Add canStream user permission to control streaming access
Adds a per-user "Can Stream" permission mirroring the existing "Can Download"
pattern. Server admins can now disable streaming for specific users, encouraging
local downloads instead. Addresses #2572.

Changes:
- User model: stream permission in mapping, defaults, and getter
- ApiKey model: stream permission in defaults
- Controller: 403 enforcement on playback session creation endpoints
- Frontend: permission toggle in admin UI, play button gated by canStream,
  download button shown when streaming disabled, message when neither allowed
- Tests: 11 Mocha tests (model + controller), 1 Cypress test (card UI)
- Localization: English strings for toggle label and fallback message

The getter uses !== false (rather than !!) so existing users without the
stream key in their permissions JSON default to allowed on upgrade.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 14:12:08 -06:00
..
audiobook/_id Update tooltip with plaintext prop 2025-12-12 17:24:01 -06:00
author Tailwind V4 migration initial commit 2025-03-16 16:41:37 +02:00
batch Merge master 2025-03-25 17:29:09 -05:00
collection Tailwind V4 migration initial commit 2025-03-16 16:41:37 +02:00
config Update Confirm component to support allowHtml prompt option 2026-03-18 16:51:51 -05:00
item/_id Add canStream user permission to control streaming access 2026-04-02 14:12:08 -06:00
library/_library Use getServerSetting to ensure serverSettings is set before accessing 2025-07-06 17:39:03 -05:00
playlist Merge branch 'advplyr:master' into tailwind-4-migration 2025-03-20 13:06:04 +02:00
share Fix player track tooltip overflowing on share player 2025-04-29 17:46:54 -05:00
upload Merge pull request #4702 from Vito0912/feat/uploadProgress 2025-11-24 17:08:03 -06:00
account.vue Seperate out auth strategies, update change password to return error status codes 2025-07-07 15:04:40 -05:00
config.vue Add get all, update and delete endpoints. Add api keys config page 2025-06-30 11:32:02 -05:00
index.vue Update:No longer creating initial root user and initial library, add init root user page, web app works with no libraries 2022-05-14 17:23:22 -05:00
login.vue Explicitly launch OpenID Connect authentication with ?autoLaunch=1 2025-10-09 16:02:02 +02:00
oops.vue Support for libraries and folder mapping, updating static cover path, detect reader.txt 2021-10-04 22:11:42 -05:00