Skip to content

feat: remember login return path before OIDC redirect (v2.12.19) - #525

Merged
seonghobae merged 4 commits into
feat/board-source-detail-state-filterfrom
feat/oidc-return-remember-login-v21219
Aug 23, 2026
Merged

feat: remember login return path before OIDC redirect (v2.12.19)#525
seonghobae merged 4 commits into
feat/board-source-detail-state-filterfrom
feat/oidc-return-remember-login-v21219

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 23, 2026

Copy link
Copy Markdown
Contributor

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 build type-checks again.

Why this is independent

What changed

  • Unauthenticated Log in uses returnUrlFromLocation() then rememberOidcReturnUrl before signinRedirect({ state: { returnUrl } }).
  • Signed-out shell no longer mounts AdminPanel with an undefined access token (the tsc -b TS2322 / unused-import failure on current leftover PRs).
  • Exact head: 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.


Open in Devin Review

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.

Copy link
Copy Markdown
Contributor Author

Cycle 2026-08-24T04:24KST.

Exact head 951d10eb. Local: oxlint 0, 142 frontend tests, tsc -b + Vite production build green. Independent of leftover-map stacks. Do not self-approve. Collaborator set is only the author, so no second human reviewer can be requested from this token. Copilot review requested. Squash-merge only with independent APPROVE + exact-head required success. Issues #79 and #87 stay open.

@coderabbitai

coderabbitai Bot commented Aug 23, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 5a07b479-0842-4a17-8605-37b9ea91bd54

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

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.

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no bugs or issues to report.

Open in Devin Review

Copy link
Copy Markdown
Contributor Author

Queue cycle 2026-08-24T05:16 KST: exact head 951d10e. Independent APPROVE still required — not self-approving. Tests/SAST green; Strix fail-closed flake (ModelBehaviorError, Vulnerabilities 0) is not a merge signal. #79 and #87 stay open.

@seonghobae

seonghobae commented Aug 23, 2026

Copy link
Copy Markdown
Contributor Author

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.

devin-ai-integration[bot]

This comment was marked as resolved.

…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.
@seonghobae
seonghobae changed the base branch from main to feat/board-source-detail-state-filter August 23, 2026 22:06
seonghobae added a commit that referenced this pull request Aug 23, 2026
… 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.
@seonghobae
seonghobae merged commit 4ef0e28 into feat/board-source-detail-state-filter Aug 23, 2026
29 of 30 checks passed
seonghobae added a commit that referenced this pull request Aug 23, 2026
…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>
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.

1 participant