Commit Graph

357 Commits

Author SHA1 Message Date
DariusIII de005d3e7e Update nzb and nfo import 2026-07-14 20:18:04 +02:00
DariusIII 567a614a02 Update APIv2 endpoints 2026-07-14 16:49:15 +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 4a54077480 Fix issue with wrong date() 2026-07-14 12:53:54 +02:00
DariusIII 92b1c39613 Update API and APIv2 handling 2026-07-14 12:32:04 +02:00
DariusIII 5ee33502b1 Update nzb creation 2026-07-13 16:51:10 +02:00
DariusIII 645eba20e2 Update additional PP 2026-07-12 16:30:39 +02:00
DariusIII 16388f1666 Make small speed improvements in XML_Response 2026-07-12 10:52:53 +02:00
DariusIII e11318eb2c Update XML_Response for API 2026-07-12 10:20:19 +02:00
DariusIII a3a6fd8e4a Add missing files 2026-07-11 12:05:47 +02:00
DariusIII ccb79f13b9 Update API handling 2026-07-11 10:00:01 +02:00
DariusIII f6c18cdeac Update views and related controllers 2026-07-10 21:31:19 +02:00
joemeyer76 b0fd5491a0 Fix NNTPService::getXOVER() TypeError on NNTP error responses
getXOVER() declared its return type as `array|string|NNTPService`, which
does not include DariusIII\NetNntp\Error. The underlying NNTP client
legitimately returns an Error object whenever the server responds with
an error to an XOVER command (e.g. a group with no matching articles,
or a range past the group's high-water mark) -- both call sites in
BinariesService already guard for exactly this case via
NNTPService::isError($result). Because the declared return type
excluded Error, PHP raised a TypeError before either caller ever got a
chance to run that check:

    App\Services\NNTP\NNTPService::getXOVER(): Return value must be of
    type App\Services\NNTP\NNTPService|array|string, DariusIII\NetNntp\Error
    returned

In practice this crashed the first XOVER call that hit any error
response, which made historical backfill (`update:backfill` /
`multiprocessing:backfill`) unusable beyond the very first successful
chunk for a group -- backfill by its nature keeps requesting older and
older ranges until it walks off the group's actual history, at which
point the server error becomes inevitable.

Every sibling method on this class that the NNTP client can answer with
an Error object (doConnect, doQuit, getOverview, getGroups, getMessages,
getMessagesByMessageID) already declares `mixed` for this same reason.
This change brings getXOVER() in line with that existing convention
rather than introducing a new pattern.

Added a regression test that uses reflection to assert getXOVER()'s
return type permits DariusIII\NetNntp\Error (or is unrestricted via
`mixed`), plus a sanity check that NNTPService::isError() correctly
identifies Error instances. Verified the test fails against the old
`array|string|NNTPService` signature and passes against `mixed`.

Manually verified against a live NNTP server: `update:backfill` on a
real group ran 15+ chunks past the point where it previously crashed on
the very first error response, with no exceptions.
2026-07-03 20:21:36 -04:00
DariusIII 7b5313e97e Update detection 2026-07-02 11:43:08 +02:00
DariusIII dbeb6a3c49 Add missing class 2026-06-22 21:59:31 +02:00
DariusIII 74d874c17b Update manticoresearch support for latest version changes 2026-06-22 21:12:38 +02:00
DariusIII 8d1d238f5f Update Trakt support 2026-06-19 23:22:16 +02:00
DariusIII 995c215be9 CS fixes 2026-06-17 12:31:33 +02:00
DariusIII 580f5a1589 Fix issues in GDPR support 2026-06-17 12:26:04 +02:00
DariusIII ab41b91af5 Add GDPR compliance 2026-06-17 09:49:39 +02:00
DariusIII b6b3828d5a Merge pull request #1858 from Kcchouette/fix/stripos-reversed-args
fix: correct reversed stripos/strpos arguments in ConsoleService
2026-06-13 23:07:19 +02:00
Kcchouette e5df723720 fix: correct reversed stripos/strpos arguments in ConsoleService
Fix 5 instances of stripos('literal', ) where arguments were
reversed, causing the needle to be searched inside a short literal
instead of the literal inside the variable:

- Line 599: stripos('dlc', ) → stripos(, 'dlc') — DLC
  branch was never entered for real game titles
- Line 601: stripos('Rock Band Network', ) → stripos(, ...)
  — Rock Band check was dead code inside the dead DLC branch
- Line 603: strpos('-', ) → str_contains(, '-') — DLC
  hyphen splitting never triggered
- Line 622: stripos('PSX2PSP', ) → stripos(, ...)
  — worked by accident (PSX is prefix of PSX2PSP)
- Line 626: stripos('XBLA', ) + stripos('dlc', ) →
  stripos(, ...) + stripos(, ...)

Also adds ConsoleServiceDlcParsingTest (9 tests) covering DLC title
parsing, Rock Band Network handling, hyphen splitting, and XBLA
platform upgrade.
2026-06-13 21:05:15 +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 5a837e52af Update release reporting 2026-06-08 16:42:06 +02:00
DariusIII f8294f1b0a Add release report response 2026-06-08 16:31:15 +02:00
DariusIII a8f79c05b1 Fix in process count 2026-06-04 09:54:43 +02:00
DariusIII a0e78e7385 Fix phpstan discovered issues 2026-05-30 23:31:00 +02:00
DariusIII 51aaf2b130 Fix PPA guid char issue 2026-05-30 23:04:58 +02:00
DariusIII 096f9e919c Update PPA handling 2026-05-27 14:04:06 +02:00
DariusIII 2129e17fb4 CS fixes 2026-05-25 10:22:06 +02:00
DariusIII cb080efe8f Add option to add tvshows in admin interface 2026-05-25 10:12:18 +02:00
DariusIII 97aaa3f665 Add payment widget to dashboard 2026-05-22 15:12:17 +02:00
DariusIII ed806d27b5 Improve XXX VR categorization 2026-05-21 13:07:34 +02:00
DariusIII 01d0c7828f Delete release that is not in table anymore 2026-05-19 14:20:29 +02:00
DariusIII 828b2cab38 Update advanced search 2026-05-15 16:08:49 +02:00
DariusIII b33bfd2bd8 Allow bulk changing release category 2026-05-15 15:45:08 +02:00
DariusIII f62336305a Use proper multiprocessing 2026-05-15 14:33:41 +02:00
DariusIII efa7b748cd Update concurrency handling 2026-05-15 10:44:52 +02:00
DariusIII 9003c572ef Use same categories layout as in header search 2026-05-14 12:50:41 +02:00
DariusIII bd9aa517d3 Fix bulk insert issue 2026-05-14 11:39:21 +02:00
DariusIII c2b00752d7 Fix bad column definition 2026-05-14 10:57:50 +02:00
DariusIII 4b04ac9625 Show unprocessed releases in search 2026-05-14 10:30:35 +02:00
DariusIII 282070a2af Update search and indexing 2026-05-13 08:51:11 +02:00
DariusIII 4d91912342 Update anime releases categorization 2026-05-12 15:41:02 +02:00
DariusIII 0723dfa3d9 Fix naming on import 2026-05-12 15:38:01 +02:00
DariusIII a6a095586f Remove nzb_guid column 2026-05-08 18:52:14 +02:00
DariusIII 97029c4eb1 Update cbp and add FKs back 2026-05-06 10:20:05 +02:00
DariusIII 07c605e5bc Manage deadlocks 2026-05-05 14:00:27 +02:00