Conversation
There was a problem hiding this comment.
Pull request overview
Updates solid-ui’s authentication integration to align with a new uvdsl-oriented session/login contract, while also adjusting TypeScript/Jest configuration to support local “linked repo” development.
Changes:
- Update login calls to a positional
authSession.login(issuer, redirectUrl)signature. - Switch a session-state read in
loginStatusBoxfromauthSession.info.*toauthSession.webId. - Add TS/Jest configuration and Jest mocks intended to stabilize local development when linking to a local
solid-logic.
Reviewed changes
Copilot reviewed 5 out of 6 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| tsconfig.json | Enables preserveSymlinks and adds baseUrl/paths mapping intended to avoid duplicate rdflib type identities when linking repos. |
| test/mocks/solid-oidc-client-browser.ts | Adds a Jest mock for @uvdsl/solid-oidc-client-browser’s Session API surface. |
| src/v2/components/loginButton/LoginButton.ts | Updates login call site to positional login(issuer, redirectUrl). |
| src/v2/components/footer/Footer.ts | Simplifies event unsubscription logic by removing removeListener fallback. |
| src/login/login.ts | Updates popup login call to positional signature and changes session webId read to authSession.webId. |
| jest.config.mjs | Adds module mappings for local linked solid-logic source and the uvdsl OIDC client mock. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| moduleNameMapper: { | ||
| '^.+\\.css$': '<rootDir>/__mocks__/styleMock.js' | ||
| '^.+\\.css$': '<rootDir>/__mocks__/styleMock.js', | ||
| '^solid-logic$': '<rootDir>/../solid-logic/src', | ||
| '^@uvdsl/solid-oidc-client-browser$': '<rootDir>/test/mocks/solid-oidc-client-browser.ts' | ||
| }, |
…out endpoints 1. derive header auth state from auth session checks/events 2. call end_session and NSS well-known logout on logout 3. add/update header tests for session-driven state transitions
… fall back to node_modules so CI/standalone clones work.
… callback loops add guarded OIDC callback bootstrap in solid-ui loginStatusBox trigger authn.checkUser only when callback params are present keep login flow stable by not stripping callback params during bootstrap sanitize code/state/iss only in logout handler before reload avoid stale callback URL causing re-entry into provider selection after logout
fix pref error undefined Prompt: fix preferencesFileError can be undefined copilot suggestion
…d logout callback loops" This reverts commit e04a7e7.
#785 fix login redirect
NoelDeMartin
left a comment
There was a problem hiding this comment.
Looking at the conflicts, the only one I'm aware of is the Header, given that I changed it in my recent work with the design system. It should be fairly easy to resolve the conflicts, though, because I just added some conditionals but the Header component itself hasn't changed a lot.
The only important remark is that you should also add your modifications to the Auth workflow in src/design-system/lib/auth/SolidAuth.ts. It's not ideal that we have it in two places, but once we remove the DESIGN_SYSTEM_HEADER_ACCOUNT feature flag, it'll be just one (See #771 for details).
Finally, the history of the PR is a bit confusing to review because it includes even some commits from main, and I'm not sure what else. I'd suggest rebasing or cherry-picking your changes on top of the staging branch to make it clearer. That could also resolve most of the conflicts.
Commit Notes - solid-ui (uvdsl contract adoption)
Scope
Update solid-ui to consume the new uvdsl session contract directly and stabilize local integrated development with linked solid-logic.
What changed
{ oidcIssuer, redirectUrl }login(issuer, redirectUrl)addEventListener('sessionStateChange', ...)) where updated.webId/isActive) with fallback only where still needed for integrated migration.Local integrated development notes kept intentionally
tsconfig.jsonincludes settings to avoid duplicate rdflib type identities when solid-ui is linked with local solid-logic:preserveSymlinks: truebaseUrl+pathsmapping forrdflibThis avoids false-positive type errors like
LiveStore is not assignable to IndexedFormulacaused by two rdflib type origins.Jest stabilization for local linked repos
solid-logicto source in Jest to avoid loading webpack bundle output during tests.@uvdsl/solid-oidc-client-browserfor Jest/JSDOM to avoid ESM/import.meta runtime issues.Integration outcome
Suggested commit message
Title
feat(auth): adopt uvdsl session contract in solid-ui and stabilize local linked dev
Body
Suggested post-validation cleanup commit (optional)
Title
refactor(auth): remove remaining transitional auth fallbacks in solid-ui
Body