* feat(ci): tidy up workflows and implement a consistent style
all workflows now use ubuntu-24.04 as the runner type to match the release workflows
codeql.yml
- bump actions to v3
- add least-privilege perms + concurrency to stop duplicate runs
- ignore docs only changes
conflict_labeler.yml
- run on opened, reopened, and synchronize
- bump action version
- add concurrency group to avoid duplicate labeling
cypress.yml
- skip docs-only changes; don’t run on draft PRs
- add concurrency to stop duplicate runs + 10m timeout
docs-deploy.yml
- add configure-pages@v5 and bump upload-pages-artifact to v4
- set explicit pages/id-token perms + concurrency
- minor cleanups (working-directory, ubuntu-24.04)
helm.yml
- switch oras discover to oras manifest fetch
- add concurrency to stop duplicate runs
lint-helm-charts.yml
- bump action versions
- enforce version bumps (--check-version-increment=true)
- add least-privilege perms + concurrency to stop duplicate runs
support.yml
- add least-privilege perms
test-docs-deploy.yml
- add least-privilege perms + concurrency to stop duplicate runs
* fixed line 5 syntax error
* Updated based on comments from @M0NsTeRRR in PR-1905 discussion
* updated based on 2nd review from @M0NsTeRRR in PR-1905
* Merge of PR-1904 and PR-1905
* chore(pnpm-lock.yaml): updated the pnpm-lockfile
* ci(release.yml): fix the latest tag to use context labels
* ci: fix new lines at eof, removed cypress timeout, removed legacy qemu actions
* @M0NsTeRRR self review
Signed-off-by: Ludovic Ortega <ludovic.ortega@adminafk.fr>
* fix: support workflow
Signed-off-by: Ludovic Ortega <ludovic.ortega@adminafk.fr>
* fix: newline
---------
Signed-off-by: Ludovic Ortega <ludovic.ortega@adminafk.fr>
Co-authored-by: Ludovic Ortega <ludovic.ortega@adminafk.fr>
Co-authored-by: Ludovic Ortega <github@mail.adminafk.fr>
This PR removes the spaces in the tags sent to *arr when the Tag Requests option is enabled. Spaces
in tags are an unintended behavior and are not longer supported.
fix#1897
Jellyseerr is not designed to support multiple concurrently running instances.
To ensure that only one instance can run at any given time we:
- Replace Deployment with StatefulSet: switch from running "at least N pods" to
"at most N pods".
- Remove replicaCount value: default is 1, we do not want to support more.
* fix: ensure dnsCache is checked for when its enabled before initialization
previously dnsCache was being initialized even if it was disabled because the previous check was
always returning truthy.
fix#1857
* chore: update dns-caching to 0.2.6
This will allow dns-caching to respect forceIpv4 flag.
* chore: update dns-caching to 0.2.7
* feat(notifications): make images optional
* fix(notifications): added en i18n config
* fix: prettify
* fix(notifications): added embedImage support for ntfy
* fix(frontend): update embedImage on form state change and submission
* fix(locale): updated locale for embedImage
* fix: renamed embedImage to embedPoster
The port of the proxy settings was saved as a string instead of a number, causing the API to throw
an error and making it impossible to save the network settings.
* fix: remove a console warning
* fix: Adds id attribute to select element for accessibility
Fixes label association by adding missing id attribute to the select dropdown, ensuring proper accessibility compliance and screen reader functionality.
* feat(requests): add user's avatar in front of Requested/Last Modified by
* refactor(requests): wrap both the avatar and the username in Link
* fix(requests): remove unnecessary margin between avatar and username
* feat(dns): implement dns caching
* feat: simple implementation of dnscaching
* feat: dynamic ttl which is revalidated while using stale dns cache
This is done as tmdb ttl is very less like 40 seconds so to make sure
any issues wont be caused due to cached dns (previously we were caching
for 5 minutes no matter what ttl)
* feat(dns): improve DNS cache with multi-strategy fallback system
- multiple DNS resolution strategie
- graceful fallbacks between IPv6 and IPv4 addresses
- network error reporting in fetch fix
- compatibility with cypress testing (I HOPE)
* fix: typos
* feat: dns cache stats in jobs & cache page (and cleanup)
* feat(networksettings): cache dns off by default
* feat: make dnsCache optional and enable-able through network settings
* chore(i18n): extract translation keys
* test(cypress): fix cypress testing
* feat(dnscache): dns cache entries are now flushable
* style(cypress): run prettier
* chore(cypresssettings): git ignore cypress json settings
* chore: ignore cypress/config/settings.json
* fix(dnscache): use entry specific hits and misses not global
* refactor: clean up console logs
* fix(dnscache): fix miss counter
* feat(dnscache): global stats
* chore(i18n): extract translation keys
* refactor: use date-fns for formatting age and remove useless code
* refactor: remove cypress testing options in dnsCacheManager
* refactor: remove console logs
* refactor: removed useless condition when its always truthy
* fix: remove FetchAPI-related code
* fix: remove old ipv4first setting
* refactor: use our own dns-caching package instead
* fix: correct dns-caching module configuration
* fix: correct dns-caching module configuration
* fix: remove useless lru-cache dependency
* fix: update dns-caching to v0.2.0
* fix: add env variable for min/max ttl & update dns-caching
* fix: update dns-caching package
* fix: add force min/max TTL in network settings
* docs: add docs for dns caching
---------
Co-authored-by: Gauthier <mail@gauthierth.fr>
This PR fixes a client-side TypeError in the "Recently Watched" section of user profiles. The issue occurred when recentlyWatched was undefined. The fix adds optional chaining (?.) to prevent the app from crashing.
Signed-off-by: 0xsysr3ll <0xsysr3ll@pm.me>
* fix(MediaRequestSubscriber): use event manager to get fresh media state for MEDIA_AVAILABLE notifications
* refactor(MediaRequestSubscriber): streamline media availability notifications
* fix(blacklist): handle invalid keywords gracefully
* fix(blacklist): only remove keywords on 404 errors
* fix(blacklist): remove non-null assertion and add proper type annotation
* refactor(blacklist): return null instead of 404 for missing keywords
* fix(blacklist): add type annotation for validKeywords
* fix(selector): update type annotation for validKeywords
This PR adds new fields to the UserSettings schema, including username, email, discordId, and various quota limits for movies and TV shows.
It also updates API paths to reference the new UserSettings schema.
The previous way of adding Axios interceptors added a new interceptor each time, causing lags after
a while because of all the duplicate interceptors added.
fix#1787
- Divided Docker and standalone installation methods in tabs
- Added some guidance for PostgreSQL socket paths, Docker networking requirements, and migration procedures
* Update reverse-proxy.mdx
Add Apache2 configuration as per #1760
* Update reverse-proxy.mdx
Apache2 moved to the bottom.
Location update to sync with nginx docs