* fix: added a refresh interval if download status is in progress
* refactor: switched to a function instead of useEffect
* feat: added editable download sync schedule
* fix(ui): hide available media on person page
* fix(ui): set correct label for image cache settings
* fix(ui): disable status badge tooltip for collections
* fix(ui): replace empty space when no episodes in season
* fix: suggested changes
* fix(jobs): set watchlist sync to short interval
* chore: run i18n:extract
* fix: suggested changes
* fix(jobs): reset job schedule edit modal values when closed
* feat(jobs): show job's current frequency
* fix(jobs): reset job schedule edit modal values when cancelled
* chore: rebase
* refactor(jobs): use reducer instead of several react states
* fix(jobs): reset modal state when opening instead of closing the modal
This prevents the modal state from glitching when saving/closing the modal
* feat(jobs): parse job schedule cron string
unavailable locale will fallback to english
* feat(jobs): backend implementation
* feat(jobs): initial frontend implementation
* feat(jobs): store job settings as Record
* feat(jobs): use heroicons/react instead of inline svgs
* feat(jobs): use presets instead of cron expressions
* feat(jobs): ran `yarn i18n:extract`
* feat(jobs): suggested changes
- use job ids in settings
- add intervalDuration to jobs to allow choosing only minutes or hours for the job schedule
- move job schedule defaults to settings.json
- better TS types for jobs in settings cache component
- make suggested changes to wording
- plural form for label when job schedule can be defined in minutes
- add fixed job interval duration
- add predefined interval choices for minutes and hours
- add new schema for job to overseerr api
* feat(jobs): required change for CI to not fail
* feat(jobs): suggested changes
* fix(jobs): revert offending type refactor
* feat: map AniDB IDs from Hama agent to tvdb/tmdb/imdb IDs
re #453
* refactor: removes sync job for AnimeList, load mapping on demand
* refactor: addressing review comments, using typescript types for xml parsing
* refactor: make sure sync job does not update create same tvshow/movie twice
Hama agent can have same tvdbid it for different library items - for example
when user stores different seasons for same tv show separately. This change
adds "AsyncLock" that guarantees code in callback runs for same id fully,
before running same callback next time.
* refactor: do not use season 0 tvdbid for tvshow from mapping file
* refactor: support multiple imdb mappings for same anidb entry
* refactor: add debug log for missing tvdb entries in tmdb lookups from anidb/hama agent
With this change, plex sync will now process 20 items at a time every 4 seconds. (About double its
previous speed). We will see how much faster we can push this in the future.