From cc1c66aa13e43016670dcf50c5e9a524e3213f07 Mon Sep 17 00:00:00 2001 From: Ken Sternberg <133134217+kensternberg-authentik@users.noreply.github.com> Date: Tue, 7 Nov 2023 10:10:43 -0800 Subject: [PATCH] Web: bugfix: broken backchannel selector (#7480) * web: break circular dependency between AKElement & Interface. This commit changes the way the root node of the web application shell is discovered by child components, such that the base class shared by both no longer results in a circular dependency between the two models. I've run this in isolation and have seen no failures of discovery; the identity token exists as soon as the Interface is constructed and is found by every item on the page. * web: fix broken typescript references This built... and then it didn't? Anyway, the current fix is to provide type information the AkInterface for the data that consumers require. * web: rollback dependabot's upgrade of context The most frustrating part of this is that I RAN THIS, dammit, with the updated context and the current Wizard, and it finished the End-to-End tests without complaint. * web: bugfix: broken backchannel selector There were two bugs here, both of them introduced by me because I didn't understand the system well enough the first time through, and because I didn't test thoroughly enough. The first is that I was calling the wrong confirmation code; the resulting syntax survived because `confirm()` is actually a legitimate function call in the context of the DOM Window, a legacy survivor similar to `alert()` but with a yes/no return value. Bleah. The second is that the confirm code doesn't appear to pass back a dictionary with the `{ items: Array }` list, it passes back just the `items` as an Array. --- web/src/admin/applications/ApplicationForm.ts | 2 +- web/src/admin/applications/components/ak-backchannel-input.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/web/src/admin/applications/ApplicationForm.ts b/web/src/admin/applications/ApplicationForm.ts index 42489f9f3..3401b1d6d 100644 --- a/web/src/admin/applications/ApplicationForm.ts +++ b/web/src/admin/applications/ApplicationForm.ts @@ -116,7 +116,7 @@ export class ApplicationForm extends ModelForm { return app; } - handleConfirmBackchannelProviders({ items }: { items: Provider[] }) { + handleConfirmBackchannelProviders(items: Provider[]) { this.backchannelProviders = items; this.requestUpdate(); return Promise.resolve(); diff --git a/web/src/admin/applications/components/ak-backchannel-input.ts b/web/src/admin/applications/components/ak-backchannel-input.ts index 5150b16ca..06fccc32b 100644 --- a/web/src/admin/applications/components/ak-backchannel-input.ts +++ b/web/src/admin/applications/components/ak-backchannel-input.ts @@ -63,7 +63,7 @@ export class AkBackchannelProvidersInput extends AKElement { return html`
- +