// SOFTWARE - Auth API
Journey
Auto-generated, unpolished by design — a raw log of what changed and when, not a curated changelog. Each entry is a short line pulled straight from commit and build activity, timestamped and permalinked. Read the Journey rollup instead for the synthesized, editorial version of this same activity.
- 23/06/2026Simplified the snapshot testing architecture by dropping x86_64 baselines and moving to an arm64-only workflow, since the CI now runs on a dedicated Apple Silicon runner.#
- 01/06/2026Added the POST /auth/change-password endpoint, updated AuthClientConfiguration with several new properties, and documented known limitations regarding account merging.#
- 31/05/2026I finished the forgot-password flow and added a new change-password endpoint. I also refactored the navigation stack to use value-based paths to fix a navigation bug in the auth sheet.#
- 30/05/2026Added configuration flags for Apple and Google sign-in, enabling conditional rendering of the buttons in the LoginView. Refactored snapshot tests to account for the layout changes and update arm64 baselines.#
- 28/05/2026I implemented a persistent session restoration system that handles both authenticated and guest accounts, ensuring sessions survive app restarts. I also refactored the theme engine to support dual-scheme color tokens, moving away from flat configurations to a more robust per-scheme customization.#
- 27/05/2026I finished the Google Sign-In integration, which included adding the JWKS fetch at startup, registering the GoogleAuthController, and configuring the demo iOS app with xcconfig files for credential management. I also updated the password validation logic to enforce an 8-character minimum and fixed some UI placeholder text in the Register view.#
- 26/05/2026I updated the guest auth flow to persist sessions across logout, handle Apple sign-in JWT key fetching at startup, and fixed several routing and networking issues for real-device testing.#
- 25/05/2026Fixed a bug where deleting an account resulted in aRetry button that re-issued a GET request instead of a DELETE request. I also registered the missing AccountDeletionController in the demo API routes to resolve a 404 error and ensured all AuthNetworkError cases now produce human-readable descriptions instead of raw domain strings.#
- 24/05/2026Implemented the `/me` profile endpoint on the API, added the `DemoAuthDefault` and `DemoAuthCustom` targets for the iOS app, and wired up the `URLSessionAuthNetworkService` to connect to the local demo server.#
- 23/05/2026Replaced the demo Vapor API's PostgreSQL driver with SQLite and wired in the AuthServer package as a dependency. I also overhauled the test configuration to use a factory-based approach for isolated in-memory databases to prevent race conditions during concurrent test runs.#
- 22/05/2026Added a localization bundle override to AuthClientConfiguration and exposed the full color token set for AuthTheme, allowing host apps to customize themes and strings without forking.#
- 21/05/2026I moved the theme system to a central AuthTheme environment value and wired it across all AuthClient views to ensure consistent design tokens. I also added support for refresh tokens with rotation, localized all user-facing strings, and finalized the integration guide in the README.#
- 20/05/2026I implemented the Sign in with Google flow, a guest session system with an upgrade path, and a new AuthSheetContainer for SwiftUI with custom macOS panel rendering. I also fixed a bug where the auth sheet was using a no-op network service and added manual scrim logic for macOS.#
- 19/05/2026I implemented registration and forgot-password flows with full view-model-driven architecture, including network service protocols and snapshot testing for both light and dark modes.#
- 18/05/2026Updated CI to commit snapshots from Snapshot Tests and refreshed the x8/64 and both architectures for the login view and view model.#
- 17/05/2026Implemented dark mode support and updated default colors to match brand guidelines, specifically fixing a macOS system green issue and updating Google branding. Added dark mode snapshot tests and regenerated light-mode baselines to ensure UI consistency across platforms.#
- 15/05/2026Implemented the `LoginView` and `LoginViewModel` using SwiftUI and `@Observable`, along with a few snapshots for the same. I also handled some rendering issues with the main login button styles and snapshot baselines.#
- 14/05/2026Implemented the core auth flow, including JWT middleware, request/response types, shared models, and persistent storage using the system Keychain. I also added social auth (Apple/Google) and guest access, while setting up the AuthManager and AuthClientConfiguration for the client-side session state.#
- 13/05/2026Scaffolded a multi-target SPM package for the Auth module and set up the initial CI/CD workflows and Fastlane configuration.#