Alexander Petric and Claude Opus 5.5
987c321ebc
fix: uniform decrypt error and clear stored credentials on logout ( #11632 )
...
* fix: uniform decrypt error and clear stored credentials on logout
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Kv72vdCDggCZEjJSmNCwnX
* fix: also clear mcp-oauth-callback on logout, cover the new keys in the logout test
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Kv72vdCDggCZEjJSmNCwnX
---------
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
2026-10-08 22:32:55 +02:00
Alexander Petric and Claude Opus 5
9936673ee6
fix: clear the impersonation token from session storage on logout ( #11274 )
...
Impersonating a service account stashes the impersonator's own auth token under
`pre_impersonation_token` in sessionStorage so the banner can restore it. Ending
impersonation removed it, but logging out did not: `clearUser()` only reset the
in-memory stores, leaving a usable token readable for the lifetime of the tab.
Remove both impersonation keys as part of `clearUser()`, in their own try/catch so
a storage failure (the opaque-origin iframe shim path) cannot skip the server-side
logout.
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-22 08:57:05 +02:00
91e6dc39ce
feat: pre-approved cloud accounts: login links, OAuth adoption, setup, and the trial bridge ( #10875 )
...
* feat: single-use login links and oauth-claimable pending accounts
* docs: capture the auth surface facts behind login links
* fix: accept stringified email_verified from oauth userinfo
* docs: describe the oauth claim rule in the auth surface notes
* fix: harden login-link redirects and sweep expired links
* chore: bump ee-repo-ref
* fix: keep expired login links a day so an open still reads as expired
* fix: refuse login links for superadmin and devops accounts
* fix: re-check the account's roles when a login link is opened
* feat: pre-approved cloud accounts finish their setup and start their trial from Windmill
* feat: dev-only localStorage opt-in to the cloud UI on localhost
* feat: finish-setup entry in the desktop settings menu
* style: pulse the settings row while account setup is pending; shorter, blue finish-setup entry
* fix: list the configured providers in the finish-setup modal
* fix: open the finish-setup modal after the menu has closed
* feat: finish-setup provider sign-in keeps the session when the provider asserts another address
* chore: pin the EE companion commit
* fix: plain toast for the finish-setup refusal
* style: format the dev cloud override
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_011HMniEf5hapoKEB6TEBcGy
* feat: onboarding skips the source question an invite already answered
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_011HMniEf5hapoKEB6TEBcGy
* fix: type the finish-setup icons and login_type as the frontend uses them
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_011HMniEf5hapoKEB6TEBcGy
* feat: invited accounts get a workspace name, hub picks and starter prompts from their invite
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_011HMniEf5hapoKEB6TEBcGy
* fix: the workspace form reads the invite's name itself, so the picker prefills it too
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_011HMniEf5hapoKEB6TEBcGy
* feat: an empty workspace offers the projects its invite picked, one click from importing
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_011HMniEf5hapoKEB6TEBcGy
* style: picked projects get identical import buttons
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_011HMniEf5hapoKEB6TEBcGy
* feat: a pinned sidebar banner until an invited account has credentials of its own
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_011HMniEf5hapoKEB6TEBcGy
* style: the account-setup row speaks the rail's language, tinted not filled
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_011HMniEf5hapoKEB6TEBcGy
* chore: pin ee-repo-ref to the import fix
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_011HMniEf5hapoKEB6TEBcGy
* refactor: picked projects live in the template picker only; account-setup row moves to the rail footer
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_011HMniEf5hapoKEB6TEBcGy
* fix: review round — no portal login for job tokens, finish-setup failures keep the session, prompt labels deduped
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_011HMniEf5hapoKEB6TEBcGy
* fix: CI round — trial start is a POST, profile cache follows the session, setup row on MenuButton
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_011HMniEf5hapoKEB6TEBcGy
* fix: CI round — no password road where password login is off, cache note on the login form, trial refusal surfaced
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_011HMniEf5hapoKEB6TEBcGy
* fix: CI round — set_password guarded on its read, refusal stays on the page, docs and formatting
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_011HMniEf5hapoKEB6TEBcGy
* fix: CI round — popup OAuth clears the profile cache, portal helper crate-private, refusal toast stays
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_011HMniEf5hapoKEB6TEBcGy
* fix: a refused trial is recorded inline in the rail, not in a day-long toast
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_011HMniEf5hapoKEB6TEBcGy
* fix: the refusal notice uses the rail's button and has a collapsed form
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_011HMniEf5hapoKEB6TEBcGy
* fix: CI round — SSO can finish account setup, with the same mismatch refusal as OAuth
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_011HMniEf5hapoKEB6TEBcGy
* fix: SSO finish-setup rides in RelayState and the refusal notice is a status region
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_011HMniEf5hapoKEB6TEBcGy
* fix: keep the finish-setup cookie beside RelayState, hoist the status region, pin session-keyed profile cache
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_011HMniEf5hapoKEB6TEBcGy
* fix: empty live region for the trial refusal, drop the setup cookie once adopted, telemetry inventory
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_011HMniEf5hapoKEB6TEBcGy
* fix: the trial refusal survives the responsive sidebar swap
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_011HMniEf5hapoKEB6TEBcGy
* fix: the trial refusal is shown to the account it answers, modal open prop is required
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_011HMniEf5hapoKEB6TEBcGy
* feat: an invited account skips the whole onboarding survey
Its source is the invite and its use case was researched before the invite went
out, so neither question is asked: the known source is recorded and onboarding
opens on naming the workspace. Accounts without an invite profile see the survey
exactly as before.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_011HMniEf5hapoKEB6TEBcGy
* fix: an invited account with a workspace leaves onboarding before anything paints
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_011HMniEf5hapoKEB6TEBcGy
* fix: account-setup state resets on sign-out, onboarding shows a loading state while it settles
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_011HMniEf5hapoKEB6TEBcGy
* style: keep the refresh doc comment on refresh
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_011HMniEf5hapoKEB6TEBcGy
* fix: profile lists are distinct, and the offer table notes what a users-import does to it
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_011HMniEf5hapoKEB6TEBcGy
* chore: update ee-repo-ref to 1ba6fe83451f0a1f8fafe04b7187087d51e0f769
This commit updates the EE repository reference after PR #750 was merged in windmill-ee-private.
Previous ee-repo-ref: be42722d09832ffff709a1f710f3e97e34d513b2
New ee-repo-ref: 1ba6fe83451f0a1f8fafe04b7187087d51e0f769
Automated by sync-ee-ref workflow.
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
2026-09-14 20:04:58 +00:00
Ruben Fiszel and Claude Opus 4.5
203f6785c4
fix: isolate SvelteKit-specific imports for library usage
...
Split SvelteKit-specific code into separate files to allow
windmill-components to be used as a library in non-SvelteKit
contexts (e.g., windmill-react-sdk):
- Split logout.ts into logout.ts and logoutKit.ts
- Split svelte5Utils.svelte.ts into svelte5Utils.svelte.ts and
svelte5UtilsKit.svelte.ts (for runed/kit useSearchParams)
- Fix triggers/utils.ts type-only import resolution
- Update FlowRestartButton to use callback instead of direct navigation
- Update all route files to import from logoutKit
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-21 00:25:32 +00:00
Ruben Fiszel
3fbd3ec4f9
fix: tag select in script builder top bar ( #6136 )
...
* all
* update
* react 18
* update
* update
* update
2025-07-07 10:27:09 +00:00
Ruben Fiszel
3678bf976e
improve redirect behavior
2025-06-14 10:46:39 +02:00
e21a814712
fix: Allow deploying frontend in a sub directory ( #3867 )
...
* fix: Allow depolying frontend in a sub directory
Signed-off-by: Marcel Klehr <mklehr@gmx.net >
* fix: Allow depolying frontend in a sub directory
Signed-off-by: Marcel Klehr <mklehr@gmx.net >
* fix: Allow depolying frontend in a sub directory
Signed-off-by: Marcel Klehr <mklehr@gmx.net >
* fix: Allow depolying frontend in a sub directory
Signed-off-by: Marcel Klehr <mklehr@gmx.net >
* fix: Allow depolying frontend in a sub directory
Signed-off-by: Marcel Klehr <mklehr@gmx.net >
* fix: Allow depolying frontend in a sub directory
Signed-off-by: Marcel Klehr <mklehr@gmx.net >
* fix: Allow depolying frontend in a sub directory
Signed-off-by: Marcel Klehr <mklehr@gmx.net >
* fix: Allow depolying frontend in a sub directory
Signed-off-by: Marcel Klehr <mklehr@gmx.net >
* fix: Allow depolying frontend in a sub directory
Signed-off-by: Marcel Klehr <mklehr@gmx.net >
* fix: Allow depolying frontend in a sub directory
Signed-off-by: Marcel Klehr <mklehr@gmx.net >
* fix: Allow depolying frontend in a sub directory
Signed-off-by: Marcel Klehr <mklehr@gmx.net >
* fix: Allow depolying frontend in a sub directory
Signed-off-by: Marcel Klehr <mklehr@gmx.net >
* fix: Allow depolying frontend in a sub directory
Signed-off-by: Marcel Klehr <mklehr@gmx.net >
* fix: Allow depolying frontend in a sub directory
Signed-off-by: Marcel Klehr <mklehr@gmx.net >
* fix: Expose base path from $lib/navigation
Signed-off-by: Marcel Klehr <mklehr@gmx.net >
* fix: Allow deploying frontend in sub directory
Signed-off-by: Marcel Klehr <mklehr@gmx.net >
* fix: Allow deploying frontend in sub directory
Signed-off-by: Marcel Klehr <mklehr@gmx.net >
* fix: Allow deploying frontend in sub directory
Signed-off-by: Marcel Klehr <mklehr@gmx.net >
* fix: Allow deploying frontend in sub directory
Signed-off-by: Marcel Klehr <mklehr@gmx.net >
* fix: Allow deploying frontend in sub directory
Signed-off-by: Marcel Klehr <mklehr@gmx.net >
* update
* update
---------
Signed-off-by: Marcel Klehr <mklehr@gmx.net >
Co-authored-by: Ruben Fiszel <ruben@windmill.dev >
Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com >
2024-07-22 19:26:17 +02:00
Ruben Fiszel
75c30b0ce1
fix circular dependencies frontend
2023-10-23 14:24:35 +02:00
Ruben Fiszel
0f3a3a06ac
remove uncessary console logs
2023-08-01 09:36:54 +02:00
Ruben Fiszel
36280cffc8
feat: expose a react sdk to integrate windmill into react apps ( #1605 )
...
* expose react sdk
* expose react sdk
* iterate
* iterate
* iterate
* nit
* update example
* update example
* small fixes
* update all
2023-05-19 20:44:07 +02:00
Ádám Kovács
482ab7b425
feat(frontend): Trigger settings drawer with URL hash ( #1185 )
...
* feat(frontend): Trigger settings drawer by URL hash
* fix(frontend): Add setting auto-open to workspace selector
* fix(frontend): full path redirects
* fix(frontend): Slice safety check
2023-02-15 14:47:47 +01:00
Ruben Fiszel
3ecab28b91
add privacy policy and terms of service links
2023-02-01 23:10:43 +01:00
Ruben Fiszel
bb42024556
tighten public apps security using triggerable policy
2023-01-02 18:53:10 +01:00
Ruben Fiszel
2962932c5d
fix login redirection
2022-12-30 15:32:51 +01:00
Ruben Fiszel
b2acb71a34
nit redirect on logout
2022-12-27 13:38:34 +01:00
Ruben Fiszel
8ae2ce4b5e
add dedicated logout page
2022-12-27 13:26:03 +01:00
Ruben Fiszel
78c01744ea
fix layout for sveltekit 1.0
2022-12-27 07:27:14 +01:00
Ruben Fiszel
a747c0060c
fix(backend): tighten security around cookies to avoid csrf ( #859 )
...
* fix(backend): tighten security around cookies to avoid csrf
* everything httponly
* sqlx
* also handle 404
* shoter Windmill v message
* fix chart
2022-11-05 21:21:13 +01:00
Ruben Fiszel
a5f836c838
replaceState on logout and loading screen while loading user
2022-08-28 12:17:38 +02:00
Ruben Fiszel
5c9563d81b
fix redirect at login
2022-08-07 12:17:04 +02:00
Ruben Fiszel
87c953a2e4
rework logout
2022-08-07 11:45:15 +02:00
Ruben Fiszel
e0b9bf5f8f
rework logout
2022-08-07 11:42:43 +02:00
Ruben Fiszel
ac8aab4006
fix: misc frontend
2022-07-03 00:06:11 +02:00
Faton Ramadani and Ruben Fiszel
00faa389b4
feat: Flows Property picker component + Dynamic type inference ( #129 )
...
* Flows Property picker component + Dynamic type inference
* Merge main
* Fix selection for arrays and nested props
* Address PR comments + remove useless debugger
* Update Editor.svelte
Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com >
2022-06-29 18:35:46 +02:00
Ruben Fiszel
680954bf40
split frontend common utilities
2022-06-23 05:06:07 +02:00