feat: remember login return path before OIDC redirect (v2.12.19) - #525
Conversation
Unauthenticated Log in now stores a validated same-origin return path (ADR 0119 / 0109) before signinRedirect, so a shared /?post= link still opens that post after callback. Tenant admin settings stay off the signed-out login shell so tsc -b type-checks. Independent of leftover-map PRs. Do not invent a leftover score or a theta. Synthetic fixtures only.
|
Cycle 2026-08-24T04:24KST. Exact head |
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
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. Comment |
|
Exact head e4d6717 keeps the OIDC fix and removes the redundant/colliding ADR 0119, recording the two implementation obligations directly in existing ADR 0109. All 142 frontend tests, lint, the 446.61 kB build, four documentation-hygiene tests, and diff checks pass. Hosted gates and independent protected review have requeued. |
…ilter' into feat/oidc-return-remember-login-v21219
Stack onto the workspace branch without force-push. Persist a validated same-origin path before redirect so a shared post link survives callback when OIDC state is missing. Admin settings stay unmounted until login.
… return Merge #525 without force-push. Existing Compose volumes must apply migration 0173 so Start cannot fail closed on a process clock ahead of PostgreSQL.
4ef0e28
into
feat/board-source-detail-state-filter
…524) * fix: stamp analysis-run status from one PostgreSQL clock (v2.12.19) Start a Pending lineage or TEPP run no longer fails analysis_run_status_time_check when the process clock is 15-20ms ahead of PostgreSQL. Occurrence and recording share one clock_timestamp(); the transition trigger raises recorded_at when a caller occurrence is already ahead. Never invent a theta. * fix: allocate status clock migration and restore build * fix: allocate ADR 0171 for status clock * fix(migrations): stop editing shipped 0018, keep 0173 the only source migrations/0018_analysis_run_registry.sql is shipped -- baked into the Postgres image for fresh installs and never replayed for existing volumes. This PR had edited its trigger function directly (adding the recorded_at >= occurred_at clamp) as well as correctly replacing it via CREATE OR REPLACE in the new, idempotent 0173_analysis_run_status_same_clock.sql. Reverts 0018 to its shipped form and wires 0173 into tests/test_analysis_run_registry_schema.py's registry_db fixture, so both fresh installs and existing volumes get the fix exclusively through 0173's replace, matching how the migration already runs in migrate.sh's replay allowlist and the Dockerfile-baked 0018 in production. Also corrects test_status_same_clock_migration_is_idempotent_and_ allowlisted, which had asserted the fix text must appear inside 0018 itself -- that assertion enforced the exact anti-pattern this fix removes. It now asserts the opposite: 0018 stays clean, 0173 is the only place the fix lives. * fix: close same-clock review gaps * fix: replay analysis-run same-clock trigger after stacking onto login return Merge #525 without force-push. Existing Compose volumes must apply migration 0173 so Start cannot fail closed on a process clock ahead of PostgreSQL. --------- Co-authored-by: Seongho Bae <seonghobae@users.noreply.github.com>
Buyer next action
Open a shared
/?post=link, click Log in, and land on that post after OIDC callback. Tenant admin settings stay off the signed-out login shell.pnpm run buildtype-checks again.Why this is independent
main@ef6f5a5(v2.12.6); no duplicate decision record is introduced.What changed
returnUrlFromLocation()thenrememberOidcReturnUrlbeforesigninRedirect({ state: { returnUrl } }).AdminPanelwith an undefined access token (thetsc -bTS2322 / unused-import failure on current leftover PRs).e4d6717c147c98296e549a59e34d6266efd72f6d. Frontend: 142 tests passed locally, including the new deep-link remember case. Lint 0. The 446.61 kB production build succeeded. Documentation hygiene: 4 tests passed.Merge contract
Independent exact-head APPROVE required. Do not self-approve. Squash-merge only with independent APPROVE + exact-head required success.