Skip to content

Dev#1072

Merged
Viren070 merged 104 commits into
mainfrom
dev
Jul 5, 2026
Merged

Dev#1072
Viren070 merged 104 commits into
mainfrom
dev

Conversation

@Viren070

@Viren070 Viren070 commented Jul 4, 2026

Copy link
Copy Markdown
Owner

No description provided.

@coderabbitai

coderabbitai Bot commented Jul 4, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Too many files!

This PR contains 243 files, which is 93 over the limit of 150.

To get a review, narrow the scope:
• coderabbit review --type committed # exclude uncommitted changes
• coderabbit review --dir # limit to a subdirectory
• coderabbit review --base # compare against a closer base

Upgrade to a paid plan to raise the limit.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 80987d53-3365-4fc7-9551-faf0d16ccca5

📥 Commits

Reviewing files that changed from the base of the PR and between c65b9f6 and c7fa0fc.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (243)
  • .dockerignore
  • .env.sample
  • Dockerfile
  • README.md
  • package.json
  • packages/core/package.json
  • packages/core/src/anime-database/sources/anime-list-xml.ts
  • packages/core/src/builtins/base/debrid.ts
  • packages/core/src/builtins/base/nab/api.ts
  • packages/core/src/builtins/easynews-search/addon.ts
  • packages/core/src/builtins/easynews-search/api.ts
  • packages/core/src/builtins/library/catalog.ts
  • packages/core/src/builtins/library/meta.ts
  • packages/core/src/builtins/newznab/addon.ts
  • packages/core/src/config/bootstrap.ts
  • packages/core/src/config/describe.ts
  • packages/core/src/config/index.ts
  • packages/core/src/config/schema/api.ts
  • packages/core/src/config/schema/builtins.ts
  • packages/core/src/config/schema/helpers.ts
  • packages/core/src/config/schema/http.ts
  • packages/core/src/config/schema/index.ts
  • packages/core/src/config/schema/nzb-proxy.ts
  • packages/core/src/config/schema/rate-limits.ts
  • packages/core/src/config/schema/usenet.ts
  • packages/core/src/config/schema/user-limits.ts
  • packages/core/src/config/settings-store.ts
  • packages/core/src/config/types.ts
  • packages/core/src/db/index.ts
  • packages/core/src/db/migrations/0007_usenet.ts
  • packages/core/src/db/migrations/0008_usenet_metrics.ts
  • packages/core/src/db/migrations/0009_usenet_library_ext.ts
  • packages/core/src/db/migrations/0010_usenet_library_password.ts
  • packages/core/src/db/migrations/0011_usenet_speed.ts
  • packages/core/src/db/migrations/index.ts
  • packages/core/src/db/repositories/usenet-library.ts
  • packages/core/src/db/repositories/usenet-metrics.ts
  • packages/core/src/db/schemas.ts
  • packages/core/src/debrid/aiostreams.ts
  • packages/core/src/debrid/altmount.ts
  • packages/core/src/debrid/base.ts
  • packages/core/src/debrid/index.ts
  • packages/core/src/debrid/stremthru.ts
  • packages/core/src/debrid/torbox.ts
  • packages/core/src/debrid/usenet-stream-base.ts
  • packages/core/src/debrid/utils.ts
  • packages/core/src/formatters/base.ts
  • packages/core/src/index.ts
  • packages/core/src/logging/logger.ts
  • packages/core/src/main/failover.ts
  • packages/core/src/main/nzbFailover.ts
  • packages/core/src/main/play-chain.ts
  • packages/core/src/main/resources.ts
  • packages/core/src/main/serviceWrapper.ts
  • packages/core/src/parser/streamExpression.ts
  • packages/core/src/presets/builtin.ts
  • packages/core/src/presets/davex.ts
  • packages/core/src/presets/easynewsSearch.ts
  • packages/core/src/presets/library.ts
  • packages/core/src/presets/newznab.ts
  • packages/core/src/presets/nzbhydra.ts
  • packages/core/src/presets/presetManager.ts
  • packages/core/src/presets/prowlarr.ts
  • packages/core/src/presets/usenetStreamer.ts
  • packages/core/src/proxy/builtin.ts
  • packages/core/src/streams/deduplicator.ts
  • packages/core/src/streams/filterer.ts
  • packages/core/src/streams/proxifier.ts
  • packages/core/src/tasks/index.ts
  • packages/core/src/transformers/index.ts
  • packages/core/src/transformers/nab.ts
  • packages/core/src/usenet/holes.ts
  • packages/core/src/usenet/index.ts
  • packages/core/src/usenet/integration/census-shadow.ts
  • packages/core/src/usenet/integration/dashboard/index.ts
  • packages/core/src/usenet/integration/dashboard/providers.ts
  • packages/core/src/usenet/integration/dashboard/settings.ts
  • packages/core/src/usenet/integration/dashboard/stats.ts
  • packages/core/src/usenet/integration/engine.ts
  • packages/core/src/usenet/integration/errors.ts
  • packages/core/src/usenet/integration/index.ts
  • packages/core/src/usenet/integration/library.ts
  • packages/core/src/usenet/integration/naming.ts
  • packages/core/src/usenet/integration/sabnzbd.ts
  • packages/core/src/usenet/integration/stream-session.ts
  • packages/core/src/usenet/integration/tokens.ts
  • packages/core/src/usenet/nntp/connection.ts
  • packages/core/src/usenet/nntp/errors.ts
  • packages/core/src/usenet/nntp/protocol.ts
  • packages/core/src/usenet/nntp/provider-worker-pool.ts
  • packages/core/src/usenet/nntp/segment-fetcher.ts
  • packages/core/src/usenet/nzb/model.ts
  • packages/core/src/usenet/nzb/obfuscation.ts
  • packages/core/src/usenet/nzb/parse.ts
  • packages/core/src/usenet/nzb/scan.ts
  • packages/core/src/usenet/nzb/subject.ts
  • packages/core/src/usenet/par2/decode.ts
  • packages/core/src/usenet/pool/archive/archive-volume.ts
  • packages/core/src/usenet/pool/archive/crypto/aes-folder-source.ts
  • packages/core/src/usenet/pool/archive/crypto/aes7z.ts
  • packages/core/src/usenet/pool/archive/crypto/cbc-source.ts
  • packages/core/src/usenet/pool/archive/crypto/rar-aes-source.ts
  • packages/core/src/usenet/pool/archive/crypto/rar-kdf.ts
  • packages/core/src/usenet/pool/archive/errors.ts
  • packages/core/src/usenet/pool/archive/inner-stream.ts
  • packages/core/src/usenet/pool/archive/lazy-resolver.ts
  • packages/core/src/usenet/pool/archive/open/descriptor.ts
  • packages/core/src/usenet/pool/archive/open/index.ts
  • packages/core/src/usenet/pool/archive/open/layout.ts
  • packages/core/src/usenet/pool/archive/open/nesting.ts
  • packages/core/src/usenet/pool/archive/open/opener.ts
  • packages/core/src/usenet/pool/archive/open/parse.ts
  • packages/core/src/usenet/pool/archive/open/sets.ts
  • packages/core/src/usenet/pool/archive/random-access.ts
  • packages/core/src/usenet/pool/archive/range-stream.ts
  • packages/core/src/usenet/pool/archive/rar/index.ts
  • packages/core/src/usenet/pool/archive/rar/rar4.ts
  • packages/core/src/usenet/pool/archive/rar/rar5.ts
  • packages/core/src/usenet/pool/archive/rar/reader.ts
  • packages/core/src/usenet/pool/archive/rar/scan.ts
  • packages/core/src/usenet/pool/archive/rar/types.ts
  • packages/core/src/usenet/pool/archive/rar/walk.ts
  • packages/core/src/usenet/pool/archive/sevenzip/lzma.ts
  • packages/core/src/usenet/pool/archive/sevenzip/parse.ts
  • packages/core/src/usenet/pool/archive/types.ts
  • packages/core/src/usenet/pool/archive/usenet-fs.ts
  • packages/core/src/usenet/pool/file-stream.ts
  • packages/core/src/usenet/pool/file-type.ts
  • packages/core/src/usenet/pool/inspect/census.ts
  • packages/core/src/usenet/pool/inspect/index.ts
  • packages/core/src/usenet/pool/inspect/inspect.ts
  • packages/core/src/usenet/pool/inspect/par2-names.ts
  • packages/core/src/usenet/pool/inspect/probe-plan.ts
  • packages/core/src/usenet/pool/inspect/probe.ts
  • packages/core/src/usenet/pool/inspect/select.ts
  • packages/core/src/usenet/pool/inspect/types.ts
  • packages/core/src/usenet/pool/multi-provider-pool.ts
  • packages/core/src/usenet/pool/ordered-parallel-stream.ts
  • packages/core/src/usenet/pool/priority-semaphore.ts
  • packages/core/src/usenet/pool/segment-arena.ts
  • packages/core/src/usenet/pool/segment-cache.ts
  • packages/core/src/usenet/pool/segments-stream.ts
  • packages/core/src/usenet/pool/tracked-stream.ts
  • packages/core/src/usenet/pool/yenc.ts
  • packages/core/src/usenet/pool/yencode.d.ts
  • packages/core/src/usenet/stats/accumulator.ts
  • packages/core/src/usenet/stats/types.ts
  • packages/core/src/usenet/types.ts
  • packages/core/src/utils/auth.ts
  • packages/core/src/utils/cache.ts
  • packages/core/src/utils/config.ts
  • packages/core/src/utils/constants.ts
  • packages/core/src/utils/disk-backed-cache.ts
  • packages/core/src/utils/download-manager.ts
  • packages/core/src/utils/env.ts
  • packages/core/src/utils/fieldMeta.ts
  • packages/core/src/utils/general.ts
  • packages/core/src/utils/grab-cache.ts
  • packages/core/src/utils/header-presets.ts
  • packages/core/src/utils/http.ts
  • packages/core/src/utils/index.ts
  • packages/core/src/utils/media-info.ts
  • packages/core/src/utils/nzb-proxy.ts
  • packages/core/src/utils/torrent.ts
  • packages/core/src/utils/xml.ts
  • packages/core/test/setup.ts
  • packages/core/tsconfig.json
  • packages/docs/content/docs/configuration/environment-variables.mdx
  • packages/docs/content/docs/configuration/options.mdx
  • packages/docs/content/docs/configuration/setup.mdx
  • packages/docs/content/docs/getting-started/deployment.mdx
  • packages/docs/content/docs/getting-started/public-instances.mdx
  • packages/docs/content/docs/guides/development.mdx
  • packages/docs/content/docs/guides/usenet.mdx
  • packages/docs/package.json
  • packages/docs/tsconfig.json
  • packages/frontend/src/app/dashboard/analytics/analytics-page.tsx
  • packages/frontend/src/app/dashboard/cache/cache-page.tsx
  • packages/frontend/src/app/dashboard/logs/logs-page.tsx
  • packages/frontend/src/app/dashboard/overview/overview-page.tsx
  • packages/frontend/src/app/dashboard/settings/_components/custom-fields.tsx
  • packages/frontend/src/app/dashboard/settings/_components/import-env-modal.tsx
  • packages/frontend/src/app/dashboard/settings/_components/import-settings-modal.tsx
  • packages/frontend/src/app/dashboard/settings/_components/settings-actions-menu.tsx
  • packages/frontend/src/app/dashboard/settings/_components/settings-card.tsx
  • packages/frontend/src/app/dashboard/settings/tabs.config.ts
  • packages/frontend/src/app/dashboard/system/system-page.tsx
  • packages/frontend/src/app/dashboard/tasks/tasks-page.tsx
  • packages/frontend/src/app/dashboard/usenet/_components/entry-info-modal.tsx
  • packages/frontend/src/app/dashboard/usenet/_components/nzb-browser.tsx
  • packages/frontend/src/app/dashboard/usenet/_components/provider-editor.tsx
  • packages/frontend/src/app/dashboard/usenet/library-page.tsx
  • packages/frontend/src/app/dashboard/usenet/providers-page.tsx
  • packages/frontend/src/app/dashboard/usenet/queries.ts
  • packages/frontend/src/app/dashboard/usenet/sections.ts
  • packages/frontend/src/app/dashboard/usenet/settings-page.tsx
  • packages/frontend/src/app/dashboard/usenet/stats-page.tsx
  • packages/frontend/src/app/dashboard/usenet/streams-page.tsx
  • packages/frontend/src/app/dashboard/usenet/usenet-layout.tsx
  • packages/frontend/src/app/dashboard/users/users-page.tsx
  • packages/frontend/src/components/menu/filters/_components/range-sliders.tsx
  • packages/frontend/src/components/menu/filters/index.tsx
  • packages/frontend/src/components/menu/save-install.tsx
  • packages/frontend/src/components/menu/services/_components/builtin-settings.tsx
  • packages/frontend/src/components/menu/services/_components/stream-services.tsx
  • packages/frontend/src/components/ui/charts/index.tsx
  • packages/frontend/src/components/ui/duration-input/duration-input.tsx
  • packages/frontend/src/components/ui/duration-input/index.tsx
  • packages/frontend/src/components/ui/hover-card/hover-card.tsx
  • packages/frontend/src/components/ui/simple-dropzone/simple-dropzone.tsx
  • packages/frontend/src/components/ui/tooltip/tooltip.tsx
  • packages/frontend/src/components/ui/vertical-menu/vertical-menu.tsx
  • packages/frontend/src/context/userData.tsx
  • packages/frontend/src/hooks/media-query.ts
  • packages/frontend/src/lib/format.ts
  • packages/frontend/src/router.tsx
  • packages/frontend/src/routes/dashboard-layout.tsx
  • packages/frontend/src/routes/dashboard-pages.tsx
  • packages/server/package.json
  • packages/server/src/app.ts
  • packages/server/src/middlewares/analytics.ts
  • packages/server/src/middlewares/auth.ts
  • packages/server/src/middlewares/index.ts
  • packages/server/src/middlewares/ip.ts
  • packages/server/src/middlewares/ratelimit.ts
  • packages/server/src/middlewares/upload.ts
  • packages/server/src/routes/api/dashboard-usenet.ts
  • packages/server/src/routes/api/dashboard.ts
  • packages/server/src/routes/api/debrid.ts
  • packages/server/src/routes/api/index.ts
  • packages/server/src/routes/api/nab.ts
  • packages/server/src/routes/api/proxy.ts
  • packages/server/src/routes/api/sabnzbd.ts
  • packages/server/src/routes/api/status.ts
  • packages/server/src/routes/api/usenet.ts
  • packages/server/src/routes/api/user.ts
  • packages/server/src/routes/builtins/easynews.ts
  • packages/server/src/server.ts
  • packages/server/src/utils/basic-auth.ts
  • packages/server/src/utils/xml-response.ts
  • patches/yencode@1.2.4.patch
  • pnpm-workspace.yaml
  • scripts/gen-env-docs.ts

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch dev

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Comment thread packages/core/src/usenet/integration/naming.ts Dismissed
Comment thread packages/core/src/usenet/integration/naming.ts Dismissed
Comment thread packages/core/src/usenet/integration/stream-session.ts Dismissed
Comment thread packages/core/src/usenet/pool/archive/crypto/aes7z.ts Dismissed
Comment thread packages/core/src/usenet/pool/archive/crypto/rar-kdf.ts Dismissed
@Viren070 Viren070 force-pushed the dev branch 2 times, most recently from f6c451e to b8b1a22 Compare July 5, 2026 19:24
@Viren070 Viren070 marked this pull request as ready for review July 5, 2026 19:53
Viren070 added 25 commits July 5, 2026 22:37
The old nzbFailover.ts was nzb-only; this overhauls it into a generic failover
chain (FailoverContentType = 'usenet' | 'debrid') that also handles debrid and
supports parallel queuing / staggered races (parallel, staggerMs,
preferredGraceMs, maxWaitMs).
Viren070 and others added 27 commits July 5, 2026 22:37
…lity (#1070)

Cloudflare classifies requests by the URL path extension alone: a stream
URL ending in /<filename>.mkv is treated as a cacheable file type, so on
every cache miss (guaranteed, as the route sends no-store) the proxy
requests the entire file from origin and never forwards the client's
Range header. Every seek then costs a full-file pull, playback stalls,
and abandoned pulls pile up as orphaned full-file readers.

Dropping the filename segment makes Cloudflare treat the response as
dynamic and pass Range through verbatim. The route already accepts both
forms, so previously minted URLs keep working; players still receive the
real filename via Content-Disposition.

Co-authored-by: Viren070 <viren070@protonmail.com>
@Viren070 Viren070 merged commit c7fa0fc into main Jul 5, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants