337 Commits

Author SHA1 Message Date
AnabolicsAnonymous
07b83a1cd9 update: simplify torrent request name logic 2025-08-30 18:58:35 -05:00
unit3d-bot
0e62748220 automation: laravel pint ci 2025-08-30 23:47:48 +00:00
Anabol
3df82225aa update: simplify tmdb movie/tv id fetching
Co-authored-by: Roardom <roardom@protonmail.com>
2025-08-30 18:45:37 -05:00
Anabol
6c0ddf8a7a remove: unnecessary parentheses
Co-authored-by: Roardom <roardom@protonmail.com>
2025-08-30 18:34:25 -05:00
Anabol
2e5fa2f33b update: only load relevent relations
Co-authored-by: Roardom <roardom@protonmail.com>
2025-08-30 18:32:26 -05:00
Anabol
62b1117a47 update: only load relevent relations
Co-authored-by: Roardom <roardom@protonmail.com>
2025-08-30 18:32:07 -05:00
Anabol
05e69dd2ec update: consistently name bounties variable
Co-authored-by: Roardom <roardom@protonmail.com>
2025-08-30 18:31:21 -05:00
Anabol
a8a47527f0 update: consistently name bounties variable
Co-authored-by: Roardom <roardom@protonmail.com>
2025-08-30 18:31:02 -05:00
AnabolicsAnonymous
802b1d7110 update: replace regex check on imdb parameter 2025-08-30 17:30:48 -05:00
AnabolicsAnonymous
c86f935baa update: consistent use of meta id parameters 2025-08-30 17:22:41 -05:00
AnabolicsAnonymous
ffdcfe670a update: use torrentRequestResource for pagination 2025-08-28 20:22:22 -05:00
unit3d-bot
ef6587d1d3 automation: laravel pint ci 2025-08-24 22:01:29 +00:00
AnabolicsAnonymous
79338d68a9 update: arrow function syntax and removing description query 2025-08-24 16:57:59 -05:00
AnabolicsAnonymous
be200c5db1 update: use eloquent's when() instead of if statements 2025-08-24 15:07:07 -05:00
AnabolicsAnonymous
4544f6cc59 update: use findorfail for request retrieval in request controller 2025-08-24 14:44:50 -05:00
AnabolicsAnonymous
7591906037 update: request integer methods 2025-08-24 14:03:16 -05:00
AnabolicsAnonymous
c12c2024ad fix: use whereNotNull for spellcheck CI 2025-08-22 18:15:31 -05:00
unit3d-bot
a41fe736fd automation: laravel pint ci 2025-08-22 23:04:19 +00:00
AnabolicsAnonymous
75e3200381 add: torrent request API controller 2025-08-22 18:02:05 -05:00
Roardom
e1486613bb security: randomize info_hash upon upload and hide it from users
Require a user to download a .torrent file in order to view the info_hash.
2025-08-20 12:27:12 +00:00
HDVinnie
5600e18fb9 Merge pull request #4861 from Roardom/fix-null-quicksearch
(Fix) Quicksearch searching by null throws error
2025-07-22 17:29:00 -04:00
Roardom
26e27f7300 fix: quicksearch searching by null throws error
The middleware automatically converts empty strings to null. We want to accept empty strings here for the search to work. Currently, the regex throws an error when a null is passed to it.
2025-07-22 09:26:21 +00:00
Roardom
820946c2b6 refactor: chatbox user chat status
Only save the user's chat status in one place, and sync it with the server when it's updated.
2025-07-20 10:18:17 +00:00
Roardom
8618aa1474 update: improve imdb regex
Lookarounds are not performant. Also, fix the client side regex validation to allow links.
2025-07-19 08:22:12 +00:00
Roardom
46bfccc8b7 refactor: use enums for auth guards, middleware groups, and rate limits 2025-06-22 20:00:02 +00:00
AnabolicsAnonymous
3cbb2e5340 update: add a moderation opt in check to torrent api 2025-04-29 07:18:01 -05:00
Roardom
fb7b320f99 update: cache 1-2-character quicksearch results
Meilisearch seems to be a bit slow sometimes for 1 character searches (300ms delay) since it tries to count the total count accurately. Normally meilisearch has a maxTotalHits of 1000, but we have it set to the number of torrents plus 1000 so that we can have accurate page counts. This causes some additional lag for the quick search which only returns the top 20 results.

Every cache entry uses approximately 12kB from some quick testing, so 2 character is ~30 MB, while 3 characters is ~1.5 GB. Only cache up to 2 characters for now as a result.
2025-04-13 08:20:11 +00:00
Roardom
0e7f3a1c62 fix: allow searching for movies/tv whose names are numbers
Searching for a number is a shortcut to searching by tmdb. Unfortunately, that means searching for movies/tv whose names are number never show up in the quick search results. Change the logic to also search by an exact name match when searching by number to additionally include shows whose names are numbers alongside the tmdb result.
2025-03-31 22:37:19 +00:00
Roardom
9c1282649b fix: extracting first character from utf8 string
The logic wasn't multi-byte safe. Should fix #4599.
2025-03-30 08:30:46 +00:00
Roardom
7d13e1fb56 fix: allow nullable meta ids in api torrent upload validation 2025-03-26 22:37:49 +00:00
Roardom
f16b775151 fix: api torrent upload nullable metadata ids
The falsey to nullable conversion has to be done here as well.
2025-03-26 05:47:31 +00:00
Roardom
57fada887f fix: typo in quick search meilisearch query
Incorrect syntax.
2025-03-26 02:44:57 +00:00
HDVinnie
7eea77c3e3 Merge pull request #4580 from Roardom/nullable-meta-ids
(Update) Store null for metadata id if they do not exist
2025-03-25 21:47:34 -04:00
Roardom
ea1bdca818 update: store null for metadata id if they do not exist
And make it difficult / encourage users to submit the ids instead of leaving them empty.
2025-03-25 23:19:10 +00:00
Roardom
8257629a10 fix: api upload by modo always announcing as featured 2025-03-24 22:28:01 +00:00
Roardom
ae33c74f2b refactor: prefix tmdb metadata models with tmdb
Will help for when there exists other metadata sources available (such as already done for igdb)

Step 4 in cleaner meta fetching code.
2025-03-17 20:41:01 +00:00
Roardom
32cf8da4db refactor: split tmdb into movie_id and tv_id
Step 2 in cleaner meta fetching code.
2025-03-16 22:55:24 +00:00
HDVinnie
09f8404ada Merge pull request #4559 from Roardom/igdb-int 2025-03-16 17:32:40 -04:00
Roardom
7889c71618 refactor: use unsigned int for igdb
Use the correct type for the external id.

Step 3 in cleaner meta fetching code.
2025-03-16 20:58:30 +00:00
HDVinnie
49c31d3515 Merge pull request #4557 from Roardom/game-meta-auto 2025-03-16 16:30:29 -04:00
Roardom
24ed359288 fix: auto fetch igdb metadata on torrent/request create/update 2025-03-15 13:47:59 +00:00
Roardom
494afca0d7 fix: torrents uploaded by mods via api automatically featured 2025-03-13 21:32:34 +00:00
HDVinnie
2a3a718dfe Merge pull request #4553 from Roardom/game-db
(Refactor) Save igdb games to the database
2025-03-12 21:29:17 -04:00
Roardom
8fde78124b refactor: save igdb games to the database
Step 1 towards cleaner meta fetching code.

Users with a game category must run `php artisan fetch:meta` after migration.
2025-03-11 19:48:25 +00:00
Roardom
b9dfd3e6dd update: show category name instead of Movie/TV in quick search
For when there exists multiple categories of the same meta.
2025-03-10 11:42:09 +00:00
Roardom
5a6259cea7 remove: sd content and stream optimized flags
SD content is represented by the resolutions table now instead of this flag. Most people prefer web-dls over stream-optimized encodes these days.
2025-03-09 03:33:32 +00:00
HDVinnie
6e2c8f569d Merge pull request #4492 from Roardom/moderation-status-enum
(Refactor) Use moderation status enum and cast
2025-03-05 06:16:23 -05:00
HDVinnie
2cbdd3553a Merge pull request #4513 from Roardom/fix-storage
(Fix) Torrent files storage disk
2025-03-04 21:42:38 -05:00
Roardom
2357db36a3 fix: torrent files storage disk
Regression from #4497
2025-03-01 03:54:31 +00:00
HDVinnie
7c4a0e84ac PHP Style Change (Laravel Pint CI) 2025-02-27 13:36:46 +00:00