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