edde746
2a7e5f4f9c
fix(jellyfin): ask the server who may delete before offering it
...
Jellyfin never consults IsAdministrator when authorizing a library
delete: BaseItem.IsAuthorizedToDelete looks at EnableContentDeletion and
the per-library grant, and only the first user a server creates gets the
former for free. Gating the "Delete from server" entry on the admin bit
therefore offered a destructive action that answers 401 to later
administrators, and hid it from plain users who do hold the grant.
Ask the server per item instead, through the new
MediaDeletionPermissionClient capability: BaseItemDto.CanDelete already
folds the global grant, the per-library grant, and item state such as
missing files or an in-progress recording. The probe runs when a menu
opens on a deletable kind, costs ~0.5 KB, carries a whole-request
deadline because the client's own budget covers connect and receive
separately, and fails closed on anything unknown. Plex keeps its
account-level owner/admin gate; it has no per-item permission on the
wire.
close #1749
2026-08-02 07:08:14 +02:00
..
2026-08-02 03:59:56 +02:00
2026-07-28 23:28:25 +02:00
2026-07-29 06:47:54 +02:00
2026-07-30 14:51:32 +02:00
2026-07-24 03:46:46 +02:00
2026-07-13 02:15:03 +02:00
2026-07-30 11:55:13 +02:00
2026-07-26 03:41:19 +02:00
2026-07-26 04:24:55 +02:00
2026-08-01 06:59:20 +02:00
2026-04-25 13:44:15 +02:00
2026-07-27 03:59:27 +02:00
2026-07-24 03:46:50 +02:00
2026-07-11 17:38:22 +02:00
2026-07-05 14:16:04 +02:00
2026-07-26 14:58:38 +02:00
2026-06-14 13:40:16 +02:00
2026-07-30 14:57:26 +02:00
2026-07-12 17:31:15 +02:00
2026-07-24 03:56:40 +02:00
2026-07-24 03:46:46 +02:00
2026-07-27 17:44:52 +02:00
2026-07-24 03:46:46 +02:00
2026-07-28 23:28:25 +02:00
2026-07-26 19:41:23 +02:00
2026-07-26 06:09:47 +02:00
2026-05-01 01:20:36 +02:00
2026-07-29 05:19:27 +02:00
2026-07-13 02:15:03 +02:00
2026-07-26 03:41:19 +02:00
2026-07-10 12:07:19 +02:00
2026-07-24 03:46:46 +02:00
2026-07-28 05:07:00 +02:00
2026-07-26 04:24:56 +02:00
2026-07-13 00:03:52 +02:00
2026-07-24 03:46:46 +02:00
2026-07-31 21:45:33 +02:00
2026-08-02 07:08:14 +02:00
2026-07-27 17:44:52 +02:00
2026-08-02 06:40:04 +02:00
2026-07-24 03:46:46 +02:00
2026-06-13 13:23:22 +02:00
2026-07-24 03:46:46 +02:00
2026-08-02 03:59:56 +02:00
2026-07-24 03:46:46 +02:00
2026-07-17 16:30:10 +02:00
2026-07-12 17:31:16 +02:00
2026-07-24 03:46:46 +02:00
2026-07-24 03:46:46 +02:00
2026-07-12 17:31:12 +02:00
2026-07-26 04:24:55 +02:00
2026-07-25 09:13:00 +02:00
2026-07-18 20:04:09 +02:00
2026-07-26 06:09:47 +02:00
2026-07-26 06:09:48 +02:00
2026-07-26 04:24:55 +02:00
2026-07-12 17:31:16 +02:00
2026-07-26 06:09:48 +02:00
2026-07-24 03:46:46 +02:00
2026-07-29 05:19:27 +02:00
2026-07-17 23:09:07 +02:00
2026-07-24 03:46:46 +02:00
2026-07-26 06:09:49 +02:00
2026-07-26 06:09:48 +02:00
2026-07-24 03:46:46 +02:00
2026-07-26 06:09:49 +02:00
2026-07-28 23:53:52 +02:00
2026-07-26 06:09:47 +02:00
2026-07-13 02:15:03 +02:00
2026-07-26 06:09:49 +02:00
2026-07-30 14:57:26 +02:00
2026-07-24 03:46:46 +02:00
2026-07-26 06:09:49 +02:00
2026-07-25 17:38:09 +02:00
2026-07-24 03:46:50 +02:00
2026-08-02 06:40:04 +02:00
2026-07-29 05:19:27 +02:00
2026-07-24 03:46:46 +02:00
2026-07-26 04:34:08 +02:00
2026-07-24 08:08:10 +02:00
2026-07-26 06:09:47 +02:00
2026-07-16 14:36:48 +02:00
2026-08-02 03:59:56 +02:00
2026-07-12 17:31:12 +02:00
2026-07-25 04:21:37 +02:00
2026-07-29 05:19:27 +02:00
2026-08-02 03:59:56 +02:00
2026-07-26 14:58:38 +02:00
2026-05-16 22:54:53 +02:00
2026-07-12 17:31:16 +02:00
2026-07-12 17:31:12 +02:00
2026-08-01 06:59:20 +02:00
2026-08-01 06:59:20 +02:00
2026-08-01 06:59:20 +02:00
2026-08-02 04:37:29 +02:00
2026-07-31 21:45:32 +02:00
2026-05-01 01:20:36 +02:00
2026-07-12 08:42:25 +02:00
2026-07-27 17:44:52 +02:00
2026-07-30 03:16:49 +02:00
2026-07-26 19:41:23 +02:00
2026-07-24 03:46:50 +02:00
2026-07-24 03:46:46 +02:00
2026-08-02 04:37:29 +02:00
2026-07-24 03:56:40 +02:00
2026-07-30 14:57:26 +02:00
2026-07-26 19:41:23 +02:00
2026-07-26 04:34:08 +02:00
2026-07-30 02:46:10 +02:00
2026-07-26 06:09:47 +02:00
2026-07-30 14:57:26 +02:00
2026-07-24 03:56:40 +02:00
2026-07-24 03:46:46 +02:00
2026-07-26 06:09:49 +02:00
2026-07-24 03:46:46 +02:00
2026-07-12 17:31:16 +02:00