797 Commits

Author SHA1 Message Date
DariusIII 697cdc84c1 Update user cleanup 2026-08-27 00:09:53 +02:00
DariusIII 931fc55d8a Update migrations 2026-08-14 12:43:33 +02:00
DariusIII 79e7736c4c Refactor releases table 2026-08-14 08:46:01 +02:00
DariusIII f1912e5e74 Fix views inconsistencies 2026-08-09 14:37:39 +02:00
DariusIII e1d1c3cee7 Use manticore for mediainfo data 2026-08-07 16:01:41 +02:00
DariusIII 0800786471 Fix issue preventing schema import. Closes #1866 2026-08-07 11:03:37 +02:00
DariusIII f0a7e1a017 Update cbp handling 2026-08-03 16:48:25 +02:00
DariusIII afb06af625 Update manticore search usage 2026-08-02 22:49:50 +02:00
DariusIII 7906148f7f Update dashboard widgets 2026-07-20 13:07:56 +02:00
DariusIII ba7cef9b3c Fix image links 2026-07-16 16:45:14 +02:00
DariusIII b27fb8d86b Make webp default format for images 2026-07-16 15:57:20 +02:00
DariusIII efd52fb1d8 Improve search handling in manticore and elasticsearch 2026-07-14 16:10:02 +02:00
DariusIII 064154ad12 Try to gain API speed 2026-07-14 13:26:18 +02:00
DariusIII 5ee33502b1 Update nzb creation 2026-07-13 16:51:10 +02:00
DariusIII 0eae1a7ca9 Harden 2FA 2026-07-13 13:07:17 +02:00
DariusIII b5b6841eca Update admin area views and controllers 2026-07-13 11:36:42 +02:00
DariusIII ccb79f13b9 Update API handling 2026-07-11 10:00:01 +02:00
DariusIII b0c781421c Update admin views and controllers 2026-07-10 22:35:32 +02:00
DariusIII f6c18cdeac Update views and related controllers 2026-07-10 21:31:19 +02:00
DariusIII 06379f25cb Revert "Fix getCategoryExclusionById() excluding every category for role-only users" 2026-07-09 08:14:18 +02:00
joemeyer76 e62724f2cd Fix getCategoryExclusionById() excluding every category for role-only users
RolesAndPermissionsSeeder grants every 'view *' permission via
Role::givePermissionTo() only -- it never grants permissions directly to a
user with User::givePermissionTo(). That is true for every seeded role,
including Admin.

User::getCategoryExclusionById() computed the allowed permission set as:

    $userAllowed = $user->getDirectPermissions()->pluck('name')->toArray();
    $roleAllowed = $user->getAllPermissions()->pluck('name')->toArray();
    $allowed = array_intersect($roleAllowed, $userAllowed);

getAllPermissions() already includes permissions granted via the user's
role(s), so intersecting it with getDirectPermissions() (permissions
assigned directly to the user, bypassing roles) means $allowed is empty
for any user whose permissions come only from their role. Since every
seeded role works this way, this silently excluded every category root
for every user on a fresh install, and any subsequent Newznab/Torznab API
search or browse request returned zero results with no visible error.

Fix: use getAllPermissions() directly, since it already reflects both
role-granted and directly-granted permissions.

Added a regression test (test_role_only_permissions_are_not_excluded)
that mirrors the real seeder setup -- role-only permissions, nothing
granted directly to the user -- to make sure this doesn't regress.
2026-07-03 18:18:46 -04:00
DariusIII afe6202460 Fix multiple user id queries 2026-06-26 23:19:30 +02:00
DariusIII 5f5ce7b4b1 Add missing files 2026-06-22 21:24:58 +02:00
DariusIII ab41b91af5 Add GDPR compliance 2026-06-17 09:49:39 +02:00
DariusIII 96f6900306 Add user bulk actions 2026-06-15 11:36:03 +02:00
Kcchouette 062548f57a refactor: replace strpos with PHP 8.x string functions
- IRCClient: strpos(..., 'PONG') !== 0 → ! str_starts_with(...)
- IGDBService: strpos(, '//') === 0 → str_starts_with(...)
- Settings: strpos(, '.') !== false → str_contains(...)
- NntmuxCheckIndex: 3x strpos → str_contains

strpos with offset (YencService, MovieService, ReleaseRemoverService)
is left untouched as it is a legitimate use case.
2026-06-13 18:12:22 +02:00
DariusIII d970bbffc6 Improve security 2026-06-12 10:11:15 +02:00
DariusIII 499d6d8cfc CS fixes 2026-06-11 10:32:38 +02:00
DariusIII 832fb5fb59 Fix couple of security issues 2026-06-11 10:26:29 +02:00
DariusIII f8294f1b0a Add release report response 2026-06-08 16:31:15 +02:00
DariusIII a0e78e7385 Fix phpstan discovered issues 2026-05-30 23:31:00 +02:00
DariusIII f8c52d176e Update expiry email to show pending role. if there is one 2026-05-30 18:15:49 +02:00
DariusIII 890dbede94 Add payments summary 2026-05-22 15:24:55 +02:00
DariusIII d747864333 Fix wrong function used 2026-05-21 16:24:45 +02:00
DariusIII b33bfd2bd8 Allow bulk changing release category 2026-05-15 15:45:08 +02:00
DariusIII a6a095586f Remove nzb_guid column 2026-05-08 18:52:14 +02:00
DariusIII c0c153fdf9 Update passkeys - logout other devices 2026-05-08 15:53:58 +02:00
DariusIII ac1ac603cb Update emails 2026-05-07 14:03:21 +02:00
DariusIII f98fbba39c Cs fixes 2026-04-30 16:45:15 +02:00
DariusIII dba05ec344 Fix auto refresh 2026-04-30 16:44:53 +02:00
DariusIII b1a6541033 Update admin dashboard 2026-04-27 17:00:41 +02:00
DariusIII c29f5febd5 Add passkey support 2026-04-24 12:03:49 +02:00
DariusIII 891d5f6865 Update books handling 2026-04-23 14:51:59 +02:00
DariusIII e89d719534 Track more statuses and add redis fallback 2026-04-13 12:37:32 +02:00
DariusIII a7eeeac549 Improve release indexng on release update 2026-04-10 15:20:12 +02:00
DariusIII 00c6c12da0 Update indexing of releases 2026-04-10 15:09:51 +02:00
DariusIII ed6020caa8 Add newe indexes, improve old ones and use them where possible 2026-04-10 14:32:10 +02:00
DariusIII 1e8e607148 Make imdbid string everywhere 2026-04-09 17:16:17 +02:00
DariusIII 4995988d18 Store imdbid as is 2026-04-09 16:12:44 +02:00
DariusIII 1aa9ec1785 Improve speed of user list 2026-04-01 15:05:43 +02:00