Commit Graph

214 Commits

Author SHA1 Message Date
Tom Wheeler e370b71207 fix(collection-posters): fixes custom icons not being saved correctly
fix #308
2026-01-06 18:30:09 +13:00
Weblate (bot) 4cf1ad5105 Translations update from Hosted Weblate (#310)
* Translated using Weblate (French)

Currently translated at 40.4% (579 of 1432 strings)

Translation: agregarr/Agregarr Frontend
Translate-URL: https://hosted.weblate.org/projects/agregarr/agregarr-frontend/fr/

* Translated using Weblate (Hungarian)

Currently translated at 73.4% (1052 of 1432 strings)

Translation: agregarr/Agregarr Frontend
Translate-URL: https://hosted.weblate.org/projects/agregarr/agregarr-frontend/hu/

* Translated using Weblate (French)

Currently translated at 54.1% (775 of 1432 strings)

Translation: agregarr/Agregarr Frontend
Translate-URL: https://hosted.weblate.org/projects/agregarr/agregarr-frontend/fr/

* Translated using Weblate (German)

Currently translated at 25.4% (364 of 1432 strings)

Translation: agregarr/Agregarr Frontend
Translate-URL: https://hosted.weblate.org/projects/agregarr/agregarr-frontend/de/

* Translated using Weblate (Hungarian)

Currently translated at 77.2% (1106 of 1432 strings)

Translation: agregarr/Agregarr Frontend
Translate-URL: https://hosted.weblate.org/projects/agregarr/agregarr-frontend/hu/

* Translated using Weblate (French)

Currently translated at 55.4% (794 of 1432 strings)

Translation: agregarr/Agregarr Frontend
Translate-URL: https://hosted.weblate.org/projects/agregarr/agregarr-frontend/fr/

* Translated using Weblate (Hungarian)

Currently translated at 77.8% (1115 of 1432 strings)

Translation: agregarr/Agregarr Frontend
Translate-URL: https://hosted.weblate.org/projects/agregarr/agregarr-frontend/hu/

* Translated using Weblate (German)

Currently translated at 25.1% (360 of 1432 strings)

Translation: agregarr/Agregarr Frontend
Translate-URL: https://hosted.weblate.org/projects/agregarr/agregarr-frontend/de/

* Translated using Weblate (Hungarian)

Currently translated at 79.6% (1140 of 1432 strings)

Translation: agregarr/Agregarr Frontend
Translate-URL: https://hosted.weblate.org/projects/agregarr/agregarr-frontend/hu/

---------

Co-authored-by: Sulli <susu.leduc@gmail.com>
Co-authored-by: Koch Norbert <kochnorbert@icloud.com>
2026-01-05 23:46:58 +13:00
Tom Wheeler 5e8958a43e chore(locale): add swedish 2026-01-05 23:16:35 +13:00
Tom Wheeler 9788b43fe6 chore(placeholders): fix form validation for placeholder root folders 2026-01-05 23:16:33 +13:00
Weblate (bot) e0309635a6 Translated using Weblate (French) (#309)
Currently translated at 40.4% (579 of 1432 strings)

Translation: agregarr/Agregarr Frontend
Translate-URL: https://hosted.weblate.org/projects/agregarr/agregarr-frontend/fr/

Co-authored-by: Sulli <susu.leduc@gmail.com>
2026-01-05 03:24:03 +13:00
Tom Wheeler fecdfb8bba feat(placeholders): placeholder folders can now be created per-library
changes from global movie/tv root folders to per-library, including migration

fix #251, fix #252
2026-01-05 01:54:33 +13:00
bitr8 be4e100ec8 fix(collections): sync networksCountry to sources array on change (#304)
When editing an existing Networks collection, changing the country
dropdown updated the top-level networksCountry but not sources[0].networksCountry.
The form submits the sources array, so the old value was sent to the API.

Fixes #296

Co-authored-by: bitr8 <bitr8@users.noreply.github.com>
2026-01-05 01:31:35 +13:00
Tom Wheeler 6709810601 fix(placeholders): add warning when placeholder creation is enabled without respective filtered hub 2026-01-04 14:05:20 +13:00
Weblate (bot) c47c7ce264 Translations update from Hosted Weblate (#298)
* Translated using Weblate (Italian)

Currently translated at 23.3% (334 of 1432 strings)

Translation: agregarr/Agregarr Frontend
Translate-URL: https://hosted.weblate.org/projects/agregarr/agregarr-frontend/it/

* Translated using Weblate (French)

Currently translated at 29.7% (426 of 1432 strings)

Translation: agregarr/Agregarr Frontend
Translate-URL: https://hosted.weblate.org/projects/agregarr/agregarr-frontend/fr/

* Translated using Weblate (French)

Currently translated at 29.7% (426 of 1432 strings)

Translation: agregarr/Agregarr Frontend
Translate-URL: https://hosted.weblate.org/projects/agregarr/agregarr-frontend/fr/

* Translated using Weblate (French)

Currently translated at 29.7% (426 of 1432 strings)

Translation: agregarr/Agregarr Frontend
Translate-URL: https://hosted.weblate.org/projects/agregarr/agregarr-frontend/fr/

* Translated using Weblate (Spanish)

Currently translated at 24.6% (353 of 1432 strings)

Translation: agregarr/Agregarr Frontend
Translate-URL: https://hosted.weblate.org/projects/agregarr/agregarr-frontend/es/

* Translated using Weblate (Dutch)

Currently translated at 24.6% (353 of 1432 strings)

Translation: agregarr/Agregarr Frontend
Translate-URL: https://hosted.weblate.org/projects/agregarr/agregarr-frontend/nl/

* Translated using Weblate (Hungarian)

Currently translated at 59.4% (852 of 1432 strings)

Translation: agregarr/Agregarr Frontend
Translate-URL: https://hosted.weblate.org/projects/agregarr/agregarr-frontend/hu/

* Translated using Weblate (Hungarian)

Currently translated at 59.4% (852 of 1432 strings)

Translation: agregarr/Agregarr Frontend
Translate-URL: https://hosted.weblate.org/projects/agregarr/agregarr-frontend/hu/

* Translated using Weblate (Russian)

Currently translated at 25.3% (363 of 1432 strings)

Translation: agregarr/Agregarr Frontend
Translate-URL: https://hosted.weblate.org/projects/agregarr/agregarr-frontend/ru/

* Translated using Weblate (German)

Currently translated at 24.1% (346 of 1432 strings)

Translation: agregarr/Agregarr Frontend
Translate-URL: https://hosted.weblate.org/projects/agregarr/agregarr-frontend/de/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 24.4% (350 of 1432 strings)

Translation: agregarr/Agregarr Frontend
Translate-URL: https://hosted.weblate.org/projects/agregarr/agregarr-frontend/pt_BR/

---------

Co-authored-by: Sulli <susu.leduc@gmail.com>
Co-authored-by: Axel <axelcotte2007@gmail.com>
Co-authored-by: Koch Norbert <kochnorbert@icloud.com>
2026-01-04 12:57:58 +13:00
Lucas Charles 85ef834b0e chore(collection-config): fix typo (#283)
chore: Fix typo, s/limiations/limitations
2026-01-03 22:17:42 +13:00
bitr8 37591405ef perf(overlays): add TMDB poster caching and fix race conditions (#277)
P0 Critical fixes:
- Add TMDB poster file cache with 7-day TTL (reduces API calls by ~99%)
- Add per-job TMDB URL cache with Promise coalescing for concurrent requests
- Add per-library mutex lock to prevent concurrent overlay processing
- Fix variable shadowing where passed tmdbId was ignored

P1 High priority fixes:
- Fix silent failure path - propagate errors from base poster failures
- Add cache cleanup at job start to prevent stale data

P2 Medium priority fixes:
- Fix neq condition evaluation for undefined/null fields
- Handle rejected promises in URL cache (remove on failure)

---------

Co-authored-by: bitr8 <bitr8@users.noreply.github.com>
Co-authored-by: Tom Wheeler <thomas.wheeler.tcw@gmail.com>
2026-01-03 22:14:12 +13:00
Basti Qdoba cc9dc828d1 feat(overlays): add Radarr/Sonarr tag support for overlay conditions (#276)
Enables users to conditionally apply overlays based on Radarr/Sonarr tags.
Allows dynamic overlays based on audio languages or custom tagging schemes.

Implements feature request #272
2026-01-03 19:02:20 +13:00
Basti Qdoba 47465ea6c7 fix(bulk-edit): Fix Firefox bulk edit table rendering issue (#271)
Adds select-none CSS class to all sortable column headers in the bulk
edit collections modal to prevent text selection when clicking to sort.

This fixes a Firefox-specific error where clicking column headers would
trigger the Selection API, causing "IndexSizeError: Selection.getRangeAt:
0 is out of range" and preventing the table from rendering properly.

Firefox has unique multi-range table selection behavior and stricter
Selection API error handling compared to Safari/Chrome. By preventing
text selection on interactive headers, the Selection API is never
involved during click events, resolving the error.

The fix also improves UX - clickable headers shouldn't be selectable.

Fixes #270

Co-authored-by: Basti Qdoba <webmaster@qudiqudi.de>
2026-01-03 16:55:00 +13:00
Tom Wheeler 21b65fef1b chore(overlays): comment out metacritic in (future implementation)
re #250
2026-01-02 13:24:14 +13:00
Tom Wheeler b2b7e3f3f3 fix(tmdb auto-franchise): add grab missing item
fix #205
2026-01-02 04:20:09 +13:00
Tom Wheeler 74e4dabe49 fix(missing item filtering): fixes country/language exclusions
removes deprecated functions and fields

fix #262
2026-01-01 18:20:53 +13:00
Tom Wheeler 9efac40145 chore(title variables): update helper text to only show for relevant collection types
fix #267
2026-01-01 17:11:25 +13:00
Tom Wheeler 1a73555ca9 chore(languages): add hungarian base translation file from overseerr, update translations 2026-01-01 16:48:00 +13:00
Tom Wheeler 464825d28c fix(language): add Hungarian as language option (locale and TMDB) 2026-01-01 13:59:45 +13:00
Tom Wheeler f5792601bc fix(overseerr): fixes radarr/sonarr settings not being avaialable when only a single server is setup
fix #154
2026-01-01 13:55:19 +13:00
Tom Wheeler 3eeaf2704c fix(tautulli): fixes changes to tautulli minimum plays not being respected 2026-01-01 09:05:20 +13:00
Tom Wheeler 424c8f2347 fix(missing items filtering): adds RT audience as missing item filter
fix #246
2026-01-01 09:03:57 +13:00
Tom Wheeler 82a04d33fe fix(collection config): prevents closing form when clicking outside of modal
fix #237
2026-01-01 07:48:38 +13:00
Tom Wheeler a3fec4027f fix(tmdb posters): language option can now be selected per-library
fix #220
2026-01-01 07:36:44 +13:00
Tom Wheeler b2e645bc95 fix(overlays): add backend support for DoVi, add preset for HDR and DoVi
fix #183
2025-12-31 10:44:57 +13:00
Tom Wheeler 858f7934a6 feat(overlays): add support for overlays based on maintainerr action
fix #233
2025-12-24 12:29:45 +13:00
Tom Wheeler 9b32601d1d chore(config form): add helper text for placeholders 2025-12-24 01:09:20 +13:00
Tom Wheeler ea2d07b74a fix(overlays): add date formatting options for nextSeasonAirDate
fix #231
2025-12-24 00:24:18 +13:00
Tom Wheeler 7f0962e5fe fix(job scheduling): fixes cron parsing for following execution time 2025-12-23 23:49:42 +13:00
Tom Wheeler 6f58a6caa3 chore(placeholders): add youtube cookies frontend helper 2025-12-23 23:33:16 +13:00
Tom Wheeler dafe428a58 chore(translations): remove english placeholders 2025-12-20 16:30:11 +13:00
Tom Wheeler ad0e96400c feat(internationalisation): enable language picker and first few languages
for future weblate translations
2025-12-20 14:54:00 +13:00
Tom Wheeler 02d08aebdf docs(i18n): extract i18n 2025-12-19 21:25:13 +13:00
Tom Wheeler 31098b2b1c fix(debug): add export for config data
database, settings.json, and logs can now be exported
2025-12-19 20:48:19 +13:00
Tom Wheeler 74a88794eb chore(docs): add link to agregarr.org 2025-12-19 19:58:26 +13:00
Tom Wheeler 7b568909e5 fix(overlays): add further date formats
fix #216
2025-12-19 09:57:19 +13:00
Tom Wheeler 57e3c5a804 fix(overlays): enable per library overlays sync
fix #218
2025-12-19 09:22:10 +13:00
Tom Wheeler 4c066b33fc fix(overlays): fixes operator not updating when changing condition
re #210
2025-12-18 22:41:23 +13:00
Tom Wheeler c5af8b4226 fix(overlay editor): add text opacity for overlays 2025-12-18 22:40:35 +13:00
Tom Wheeler 73984f0961 fix(overlays): fix some variables not having correct operators
fix #211
2025-12-18 21:39:30 +13:00
Tom Wheeler 6333c1a7a5 feat(overlays): add overlays test modal, allowing testing of indivdual items
displays matching overlays and raw variables

fix #212
2025-12-18 17:45:56 +13:00
Tom Wheeler 0bcd709a80 fix(titles): fix some title variables not working correctly 2025-12-18 16:39:31 +13:00
Tom Wheeler 3eb1f53508 chore(labels): update Recently Released Episodes -> Recently Added Episodes 2025-12-18 13:22:48 +13:00
Tom Wheeler 7d96b52f25 fix(library): fixes promotion/demotion not working for agregarr collections
fix #207
2025-12-18 13:17:57 +13:00
Tom Wheeler 3c4ca7c64c fix(badges): extract badge data to common component, add placeholder creation badge 2025-12-18 13:17:57 +13:00
Tom Wheeler bc630a759e fix(root folder): add home button to go to root
when docker container volume was changed, the file explorer would not allow new selection of root
folder
2025-12-17 20:19:37 +13:00
Tom Wheeler 5b0023de68 fix(filtered hubs): adds recently released episodes filtered hub 2025-12-17 19:45:17 +13:00
Tom Wheeler 9cbc3b594a fix(config): fix incorrect variable check
also adds badges for actor and director collections
2025-12-17 19:26:17 +13:00
akina5525 f91b7faa80 feat(sources): add actor and director collections with seperators (#198)
adds new source 'Plex Library' with Auto Director and Auto Actor collection sub-types, option to configure minimum items. utilises smart collections. adds new poster template. adds separators option.

---------

Co-authored-by: Tom Wheeler <thomas.wheeler.tcw@gmail.com>
2025-12-17 00:17:23 +13:00
Tom Wheeler 785ba18638 fix(config): enable wallpaper, theme, and summary for pre-existing collections 2025-12-16 18:26:36 +13:00