Skip to content

feat: extract gateway frontend lib module under src#1078

Open
vitormattos wants to merge 31 commits into
masterfrom
feat/phase2-package-workspace-foundation
Open

feat: extract gateway frontend lib module under src#1078
vitormattos wants to merge 31 commits into
masterfrom
feat/phase2-package-workspace-foundation

Conversation

@vitormattos
Copy link
Copy Markdown
Collaborator

@vitormattos vitormattos commented May 11, 2026

Summary

Extracts the gateway frontend logic into a dedicated internal module (src/lib/twofactor-gateway) instead of fragmenting it into a separate top-level packages/ folder.

What changed

New: src/lib/twofactor-gateway/

Internal module with full source of truth for:

  • typesFieldDefinition, GatewayInfo, GatewayInstance, GatewayGroup, GatewayProviderDefinition, TestResult, InteractiveSetupResponse
  • servicesadminGatewayApi, adminGatewayViewModel, gatewayInstanceModalModel
  • composablesuseGatewayApi, useGatewayForm

Accessed via the @lib/twofactor-gateway path alias (defined in tsconfig.json, vite.config.ts, and vitest.config.js).

Updated: src/services/ (compat layer)

adminGatewayTypes, adminGatewayApi, adminGatewayViewModel, gatewayInstanceModalModel now re-export from @lib/twofactor-gateway. Existing consumers (views, components, tests) require no changes.

Why this approach

  • All frontend code lives under src/ — no fragmentation
  • No workspace/package manager setup needed
  • Path alias keeps imports clean and decoupled from physical path
  • Easy to promote to a real package later if needed

Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
…nfig

Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
… config

Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
…st config

Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
…ypes

Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
…iewModel

Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
…ceModalModel

Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
…dex.ts

Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
…DME.md

Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
…ewayInstanceCard

Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
…way in GatewayInstanceModal

Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
…y in GatewayTestModal

Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
…ewayRoutingModal

Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
…y in GatewaySection

Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
…-gateway in AdminSettings

Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
…tModal.spec

Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
…ctor-gateway

Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
- Remove brittle DOM wrapper existence assertion
- Validate sanitization directly via computed property (sanitizedWizardQrSvg)
- Use conditional DOM check as secondary validation when element exists
- Fixes flaky Signal test; all 97 tests now passing consistently

Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
@vitormattos vitormattos force-pushed the feat/phase2-package-workspace-foundation branch 2 times, most recently from 1c3826a to 70aec78 Compare May 12, 2026 00:36
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
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.

1 participant