From 12371d8c89e9e172f7bd08d912ea0854e8d34faa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ullrich=20Sch=C3=A4fer?= Date: Sat, 23 May 2026 20:46:29 +0200 Subject: [PATCH] Return to the settings page the user came from after disconnecting Previously always redirected to /settings (which resolves to /settings/profile). Now reads the Referer header and redirects back to the originating /settings/* page, defaulting to /settings/connections if no valid referer. Co-Authored-By: Claude Sonnet 4.6 --- apps/journal/app/routes/api.sync.disconnect.$provider.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/apps/journal/app/routes/api.sync.disconnect.$provider.ts b/apps/journal/app/routes/api.sync.disconnect.$provider.ts index 03bcf90..bf82e45 100644 --- a/apps/journal/app/routes/api.sync.disconnect.$provider.ts +++ b/apps/journal/app/routes/api.sync.disconnect.$provider.ts @@ -14,5 +14,9 @@ export async function action({ params, request }: Route.ActionArgs) { // the local row regardless of revoke outcome. Imported activities are // retained (FK is set null on imports.activityId, not cascaded). await unlinkByUserProvider(user.id, manifest.id); - return redirect("/settings"); + + const referer = request.headers.get("referer"); + const url = referer ? new URL(referer) : null; + const back = url?.pathname.startsWith("/settings") ? url.pathname : "/settings/connections"; + return redirect(back); }