Files
Magent/docs/user-feature-access.md
T
Assclaw ec0a866ef3
Magent CI/CD / verify (push) Canceled after 1m19s
Magent CI/CD / deploy-prod (push) Canceled after 0s
Magent CI/CD / deploy-beta (push) Canceled after 0s
Add user feature permissions and unified account management
2026-09-11 12:31:25 +12:00

3.0 KiB

User feature access

In Configuration → User management → Manage users, the Feature access checkboxes apply to all existing non-admin accounts. A mixed checkbox means some accounts have access. Only changed checkboxes are saved; search filters do not restrict the bulk operation. New accounts retain the default access described below.

Open a user and choose Manage this user to change individual permissions, contact email, role, automatic search/download, profile defaults or expiry. Request statistics remain on the main profile page. Administrators always have all features.

Feature Access controlled
My Stats Viewing statistics, report exports, report email preferences and delivery
My Requests Existing requests, progress, request actions and live request streams
New Requests Media request options and submission
Issues Issue lists, reporting, comments, resolution responses and issue repair actions
Invites Creating, viewing and managing personal invitations; existing limits still apply

Media search is shared by New Requests and the issue picker. Either permission allows search; only New Requests permits submission. The existing automatic search/download permission still applies in addition to feature access.

Navigation and direct-page access use the authenticated account's permissions. APIs enforce them independently on each request. Open request streams recheck access, and report emails recheck Stats access before sending. Removing a permission does not erase existing records or unsend emails. The switches apply inside Magent and do not change Jellyfin or Seerr permissions.

Existing users retain Stats, My Requests, New Requests and Issues access when upgrading. Invite access uses the existing users.invite_management_enabled column. Other overrides are stored by Magent user ID in user_feature_permissions; deletion of the account removes its overrides. The old site-wide navigation visibility setting is no longer used by the menus.

The red account section distinguishes:

  • Block Magent access: prevent Magent sign-in and keep the account.
  • Disable Magent and Jellyfin access: block Magent, attempt to disable the same-name Jellyfin account, disable issued invitations and attempt a notification email. Seerr relies on Jellyfin sign-in; its account is not directly banned. Restoring access does not reactivate invitations.
  • Delete Magent, Jellyfin and Seerr accounts: remove Magent and local activity, attempt deletion of the same-name Jellyfin account and linked Seerr account, disable invitations and attempt notification. Media files and Jellystat history are retained. External actions can partially fail.

Validation: backend permission tests use temporary databases and real signed tokens. scripts/review_feature_access_ui.cjs checks desktop/mobile profiles, dialogs, bulk scope and denied routes with intercepted API fixtures. Set PLAYWRIGHT_PACKAGE when Playwright is installed outside the project, and optionally REVIEW_BASE to target a deployed frontend.