This breaks the pint CI currently. This is probably due to the next version of php (8.4) adding opcache optimizations to sprintf and our config requiring pre-slashing native functions.
These permissions were never meant to be directly edited by staff. They should never have been added to the staff user edit page as it just caused confusion when the settings reset at the daily group change. I've now added these settings to the group directly and allow the settings on the user edit page to override the group settings. I refrained from fixing the can_download permission for now, because so many different things affect it and it will need at 3 separate permissions to control everything it does. Trying to fix it will take much more effort than what can be fixed today. Because of this, I removed the setting from the user edit page to reduce confusion from staff who don't realize it is controlled by the scheduler. Relevant issue: #1820.
- this commit tackles more phpstan errors from the baseline.
- the 2024_06_19_210338_update_colum_types.php migration will have more added to it. This PR is draft until more baaseline errors are closed.
Makes announce processing job code easier to deal with. There is negligible performance loss (<5%) by querying the peer count realtime on the torrents and torrent pages.
We were deduping keywords, but we were only checking for exact duplicates. Now we check for case insensitive duplicates, and make sure to update the duplicates on upsert instead of treating the upsert as an insert. Fixes#3412.
- performance increase by not having to query tmdb api.
- fixes issue where trailers were only loading on torrent details page and not views where meta partial is used like similar,requests,etc
We only cache it if it exists, so let's not query it every single time it doesn't exist.
We don't remove it from the hourly run command yet so that currently existing freeleeches can be deleted.
With almost 1000 distributors, it's a nightmare trying to add a new distributor and having to change its position. All the distributors are ordered alphabetically anyways so just order based on the `name` field instead.