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' | ||
| }, |
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.
…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
…d logout callback loops" This reverts commit e04a7e7.
|
@NoelDeMartin I introduced your 3 comments |
|
@bourgeoa I don't see any changes in |
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