Skip to content

feat(ui): preserve accepted preview and adopt SeerrNG theme once - #162

Open
JohnCronk79 wants to merge 5 commits into
snapetech:mainfrom
JohnCronk79:integration/preview-v3483-20261004
Open

JohnCronk79 wants to merge 5 commits into
snapetech:mainfrom
JohnCronk79:integration/preview-v3483-20261004

Conversation

@JohnCronk79

@JohnCronk79 JohnCronk79 commented Oct 4, 2026 •

Copy link
Copy Markdown
Contributor

Description

This continues our accepted SeerrNG preview on current upstream v3.48.3. The
shared CSS remains authoritative for appearance. The accepted Requests/Series
controls, six-role disclosure order, poster geometry, permissions, and native
provider behavior are preserved alongside Keith's newer changes, including the
TMDB stale/error notice and poster fallback.

John's requested theme behavior, in his words: "once a user does a new install,
or upgrades their install to this build or newer, the seerrng theme is forced.
after login they can change it."

That is implemented as a one-time migration and account preference, not a reset
on every login or release. Existing active advanced customizations are reset
once; subsequent supported theme choices and customizations persist. Appearance
mode and unrelated preferences are unchanged.

The narrow Fix-it repairs require confirmed Watchlist writes, prevent duplicate
submissions and parent keyboard activation, honor reduced motion for the loading
poster, and align the discover OpenAPI fixture with the existing route. Tests
cover the real React behavior and negative CSS/source mutations. The portable
AI instructions use the same source-specific reviewed engine for contributor
and maintainer; ordinary package/hook bindings remain unchanged.

AI Disclosure: I used OpenAI Codex extensively to assist with code changes, merge analysis, validation, and submission. I directed each visual decision and personally reviewed the affected pages in the running preview before approving this pull request.

The visual-review statement refers to John's previously accepted preview and
design decisions. John explicitly authorized tests-only submission of this
amendment without another compile or preview review. No new whole-site visual
acceptance is claimed. Pull-request follow-up repairs may also be AI-assisted.

How Has This Been Tested?

  • Fresh, frozen amended-source engine run: 4,006 passed, zero failures, four
    existing conditional PostgreSQL skips; 557 files and 4,010 cases in 332.790
    seconds. Complete coverage, child-process cleanup, and source preservation
    proofs pass. Initial submitted commit dee61ab886be2dc37925520fd3f52c8d6ba0048a
    has the exact tested tree f08788727b07ab4e48533f3674d1c36222c72171.
  • GitHub's first Cypress run found one stale test setup: the palette-pair test
    still changed the retired browser palette rather than the account preference.
    Follow-up 8a51821ee17d21e8d2fb5edca3cca2af1b97fc7d changes only that
    Cypress fixture: it saves through the real account API and deliberately puts
    a conflicting legacy browser value in storage. Every original palette,
    light/dark, uniqueness, and background assertion remains. Production and
    full-engine test bytes are unchanged; no duplicate full local run or compile
    is claimed. GitHub's replacement Cypress run is the browser verification gate.
  • Formatting, ESLint, client/server types, translation extraction/checks,
    current-batch/shared-style checks, and attribution checks pass.
  • GitHub Cypress passed on 8a51821. Latest follow-up
    c060df0870655421dd1b40f96d3d93fb564c9658 removes only the unused
    attribute helper identified by CodeQL in providerNotice.test.mjs.
    All four affected native tests pass, with zero skips/failures; formatting,
    attribution, and diff checks pass. Application bytes are unchanged.
    Current-head GitHub checks will run again; no final-head full local engine
    run or local production compile is claimed.
  • Migration tests use isolated SQLite and exercise both portable SQL
    implementations, one-time upgrade, retained unrelated settings, and migration
    history. Account API and actual React tests cover later logins, failed saves,
    duplicates, guest rejection, and switching accounts during an in-flight save.
  • The pre-theme integrated tree passed 3,994 tests, with zero failures and four
    existing conditional PostgreSQL skips, in 344.227 seconds. Its guarded compile
    completed in 117.572 seconds, plus 11.150 seconds of prebuild guards.
  • Another compile was explicitly waived for the theme amendment. The previous
    compile is not presented as a compile of this submitted revision.
  • Release-note preview passed against upstream a96fafa07c77a2d6d95badeb9f60c32a6b4a47c9.
  • No browser/Cypress, PostgreSQL-service, live-provider write, or production
    deployment is claimed locally. GitHub validates its normal separate matrix.

Screenshots / Logs (if applicable)

Earlier accepted previews remain preserved. The integration checkpoint records
the acceptance boundaries, amendment, and compile waiver. The source-bound
validation engine archive is included without private runtime data or raw logs.

Release Notes

  • I added a release-note fragment under release-notes/.
  • This change is internal-only and does not need a user-facing release note.
  • The fragment includes audience, area, action, and breaking-change status.
  • I previewed the release text with pnpm release-notes:preview.

Checklist:

  • I have read and followed the contribution guidelines.
  • Disclosed any use of AI (see our policy)
  • I have updated the documentation accordingly.
  • All new and existing tests passed.
  • Successful build pnpm build
  • Translation keys pnpm i18n:extract
  • Database migration (if required)

The unchecked test/build boxes reflect the four documented conditional
PostgreSQL skips and the explicit final-revision compile waiver, respectively.
The migration checkbox refers to disposable SQLite tests, not a production or
PostgreSQL-service migration.

This does not alter PR #148 or its separate monitoring workstream.

Comment thread src/components/MediaSlider/providerNotice.test.mjs Fixed
@github-actions

github-actions Bot commented Oct 5, 2026

Copy link
Copy Markdown

This pull request has merge conflicts. Please resolve the conflicts so the PR can be successfully reviewed and merged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants