diff --git a/plugins/card-resources/src/components/CreateCardPopup.svelte b/plugins/card-resources/src/components/CreateCardPopup.svelte index 920cd4587c2..be9ceefeb21 100644 --- a/plugins/card-resources/src/components/CreateCardPopup.svelte +++ b/plugins/card-resources/src/components/CreateCardPopup.svelte @@ -12,22 +12,13 @@ - 0 && _space != null && allowed} - onCancel={handleCancel} - maxWidth="90vw" - on:close -> -
- - - -
- -
- {#if changeType} -
- - -
- {/if} - {#if (space == null || allowChangeSpace) && !(extension?.hideSpace ?? false)} -
- - -
- {/if} - - { - collaborators = collaborators.filter((id) => id !== ev.detail) - }} - /> - - {#if extension?.component} - - {/if} -
- -
- {#if !allowed} -
-
- - +{#if extension != null} + +{:else} + +{/if} diff --git a/plugins/card-resources/src/components/CreateCardPopupFull.svelte b/plugins/card-resources/src/components/CreateCardPopupFull.svelte new file mode 100644 index 00000000000..920cd4587c2 --- /dev/null +++ b/plugins/card-resources/src/components/CreateCardPopupFull.svelte @@ -0,0 +1,236 @@ + + + + + + + + + + + + + + + + 0 && _space != null && allowed} + onCancel={handleCancel} + maxWidth="90vw" + on:close +> +
+ + + +
+ +
+ {#if changeType} +
+ + +
+ {/if} + {#if (space == null || allowChangeSpace) && !(extension?.hideSpace ?? false)} +
+ + +
+ {/if} + + { + collaborators = collaborators.filter((id) => id !== ev.detail) + }} + /> + + {#if extension?.component} + + {/if} +
+ +
+ {#if !allowed} +
+
+ + diff --git a/plugins/card-resources/src/components/CreateCardPopupSimple.svelte b/plugins/card-resources/src/components/CreateCardPopupSimple.svelte new file mode 100644 index 00000000000..370ddc99875 --- /dev/null +++ b/plugins/card-resources/src/components/CreateCardPopupSimple.svelte @@ -0,0 +1,137 @@ + + + + + + + + + + + + + + + + 0 && _space != null && allowed} + okLabel={presentation.string.Create} + on:close={() => dispatch('close')} + onCancel={handleCancel} + headerNoPadding + noFade={true} + on:changeContent +> + + + + + + +
+ {#if !allowed} +
+
+
+ + diff --git a/pods/authProviders/src/index.ts b/pods/authProviders/src/index.ts index 40d7a83c7ba..7781eac348c 100644 --- a/pods/authProviders/src/index.ts +++ b/pods/authProviders/src/index.ts @@ -45,7 +45,20 @@ export function registerProviders ( } app.keys = [serverSecret] - app.use(session({}, app)) + // koa-session defaults the cookie domain to the request host, which + // breaks OIDC flows that start on one subdomain (e.g. dev.example.com) + // and get the callback on another (e.g. app.example.com) — the session + // cookie set on dev isn't sent back to app, so the Passport state lookup + // fails with "did not find expected authorization request details in + // session". Setting SESSION_COOKIE_DOMAIN=.example.com makes the cookie + // span both hosts so the flow completes. Empty / unset preserves prior + // behaviour. + const sessionCookieDomain = process.env.SESSION_COOKIE_DOMAIN?.trim() + const sessionOpts: Partial = {} + if (sessionCookieDomain !== undefined && sessionCookieDomain.length > 0) { + sessionOpts.domain = sessionCookieDomain + } + app.use(session(sessionOpts, app)) app.use(passport.initialize()) app.use(passport.session())