Skip to content

feat: Edge Router Onboarding Panels with Dynamic QR Generators (Closes #12) - #36

Merged
JamesEjembi merged 1 commit into
Lumina-etwork:mainfrom
DanielCharis1:fix/issue-12-edge-router-onboarding-qr
Jun 19, 2026
Merged

feat: Edge Router Onboarding Panels with Dynamic QR Generators (Closes #12)#36
JamesEjembi merged 1 commit into
Lumina-etwork:mainfrom
DanielCharis1:fix/issue-12-edge-router-onboarding-qr

Conversation

@DanielCharis1

@DanielCharis1 DanielCharis1 commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

Summary

Implements Issue #12: Edge Router Onboarding Panels Paired with Dynamic QR Generators.

Changes

  • New types: ProvisionPayload, NodeConfig, ProvisionAttempt, ProvisioningToken in src/types/provisioning.ts
  • QR generator: High-DPI canvas QR code rendering via the qrcode library in src/lib/qrGenerator.ts
  • Provisioning token hook: useProvisionToken generates signed JWT tokens using Freighter's signAuthEntry with auto-refresh on TTL expiry
  • QR Provision Panel: Interactive panel with canvas QR display, countdown timer, refresh button, mobile-responsive layout, and provisioning attempt log
  • Node Provisioner: Full onboarding flow with wallet status, node config form (name/location/model), and validation
  • Route: /onboarding page
  • Type extension: Added signAuthEntry and signTransaction to global Window.freighter type
  • Tests: 10 Playwright E2E tests covering QR generation, canvas rendering, timer, refresh, error states, and disconnected flow

Test Results

  • TypeScript: ✅ Clean
  • ESLint: ✅ Clean
  • Build: ✅ Passes
  • Contrast check: ✅ Passes
  • E2E tests: ✅ 38/38 pass

closes #12

…umina-etwork#12)

- Add ProvisionPayload, NodeConfig, ProvisionAttempt types
- Create QR code generation wrapper with high-DPI canvas support
- Implement useProvisionToken hook for signed JWT provisioning tokens via Freighter signAuthEntry
- Build QRProvisionPanel with canvas QR, countdown timer, mobile-responsive layout, provisioning log
- Create NodeProvisioner with wallet status, node config form, and validation
- Add /onboarding app route page
- Add signAuthEntry to global Window.freighter type declaration
- Write 10 Playwright E2E tests covering QR generation, timer, errors, and disconnected state

Closes Lumina-etwork#12

@JamesEjembi JamesEjembi left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@JamesEjembi
JamesEjembi merged commit 7e74257 into Lumina-etwork:main Jun 19, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Edge Router Onboarding Panels Paired with Dynamic QR Generators

2 participants