Skip to content

[pull] main from dfinity:main#550

Merged
pull[bot] merged 3 commits intomikeyhodl:mainfrom
dfinity:main
Apr 22, 2026
Merged

[pull] main from dfinity:main#550
pull[bot] merged 3 commits intomikeyhodl:mainfrom
dfinity:main

Conversation

@pull
Copy link
Copy Markdown

@pull pull Bot commented Apr 22, 2026

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

aterga and others added 3 commits April 22, 2026 14:28
The test app surfaces ICRC-3 attributes as a base64-encoded Candid blob,
which is not human-readable during manual testing. This PR decodes the
blob client-side so the attribute key/value pairs are visible directly
in the UI.

# Changes

- Add `demos/test-app/src/icrc3.ts`: a recursive `IDL` type for ICRC-3
`Value` plus a small formatter, using `IDL.decode` from
`@icp-sdk/core/candid` (already a project dependency).
- Render the decoded attribute map in a new `ICRC-3 Attributes
(decoded)` section of the test app, above the existing raw base64 block.

---------

Co-authored-by: Claude Haiku 4.5 <noreply@anthropic.com>
…endering (#3781)

The authorize flow previously used three route groups with child routes
to render different views — making the flow scattered and hard to
follow. Users navigated between `/authorize`, `/authorize/continue`, and
`/authorize/upgrade-success`, with separate routes for OpenID init and
resume flows.

This PR consolidates everything into a single `/authorize` route. URL
search params (`?openid=<issuer>`, `?flow=openid-resume`) determine the
channel establishment mode, and store state drives which view renders —
no more child route navigation.

# Changes

- **Single `/authorize` route replaces three route groups.**
`(channel)`, `(pending-channel)`, and `(resuming-channel)` are deleted.
One layout handles all channel modes based on URL params.
- **Store-driven view selection.** The page renders views based on store
state priority: authorized → redirect animation, OpenID resume
processing → redirect animation, upgrade success → countdown, selected
identity → account selection, default → auth wizard.
- **Extracted view components.** `AuthWizardView`, `ContinueView`,
`UpgradeSuccessView`, and `RedirectAnimationView` are co-located with
the route under `authorize/views/`.
- **Unified redirect animation.** The animated SVG progress screen from
the OpenID resume flow replaces the old `ProgressRing` redirect screen,
with a breathing pulse after the draw completes and a 10s fallback
dialog.
- **Promise-based authorization.** `authorize()` accepts `Promise<bigint
| undefined>` so the redirect animation can start immediately while
account resolution continues in the background.
- **Views use props instead of store access.** `ContinueView` and
`UpgradeSuccessView` receive `effectiveOrigin` and `onAuthorize` as
props rather than importing authorization stores directly.
- **OpenID init logic inlined.** The redirect-to-provider logic runs in
`onMount` — no separate component for something that doesn't render.

---

<div align="left">← Previous: #3777</div>
<div align="right">Next: #3790 →</div>
The test OpenID provider did not expose the `ii-openid-configuration`
SSO discovery endpoint that Internet Identity relies on to discover
OpenID providers. Without it, SSO flows that depend on discovery cannot
be exercised end-to-end against the local test provider.

# Changes

- Serve `GET /.well-known/ii-openid-configuration` with the `client_id`
and a pointer to the provider's `openid-configuration`.
- Log the SSO discovery URL on startup alongside the existing
`openid-configuration` URL.

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@pull pull Bot locked and limited conversation to collaborators Apr 22, 2026
@pull pull Bot added the ⤵️ pull label Apr 22, 2026
@pull pull Bot merged commit 8398d4b into mikeyhodl:main Apr 22, 2026
1 of 2 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants