You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Post-1.0 — iPhone and iPad: native project foundation.
Objective
Create the SwiftUI application, generated OpenAPI client, environment configuration, design tokens, navigation shell, dependency boundaries, and strict Swift 6 concurrency baseline.
Scope
Add iPhone and iPad targets, package organization, generated client integration, authenticated transport abstraction, localization, error modeling, preview fixtures, CI, and test targets.
Keep all first-party Swift code inside the monorepo.
Tasks
Define Swift 6 models, actors, storage, API, and UI boundaries for this scope.
Implement the smallest complete native capability.
Add XCTest, Swift Concurrency, migration, UI, accessibility, and device tests where applicable.
Update generated clients, translations, privacy declarations, and distribution documentation.
Acceptance criteria
A clean checkout generates the API client and builds both targets without generated diff.
Strict concurrency checks pass with no blanket unsafe opt-outs.
The shell renders EN by default, switches to ES, and falls back to EN for missing values.
No production secret or server URL is embedded in source.
Account isolation, data protection, accessibility, EN default, and ES completeness match the web and macOS contracts.
Tokens, credentials, message content, recipients, and personal data never enter logs, crash reports, screenshots, fixtures, URLs, or notification defaults.
The capability is independently reviewable and rollback-safe.
Validation
Run clean generation, Swift build, XCTest, localization completeness, iPhone and iPad launch, and CI checks.
Run Swift build, XCTest, strict concurrency checks, generated-client diff, and the affected simulator and physical-device UI tests.
Use sanitized fixtures and protected accounts only for final manual provider validation.
Offline state, background execution, notification privacy, generated contracts, and device credentials can diverge from server truth. Use actors, Keychain, bounded caches, explicit conflict states, and real-device validation.
Out of scope
Persistent cache, production authentication, mail screens, APNs, and TestFlight.
Plan reference
Post-1.0 — iPhone and iPad: native project foundation.
Objective
Create the SwiftUI application, generated OpenAPI client, environment configuration, design tokens, navigation shell, dependency boundaries, and strict Swift 6 concurrency baseline.
Scope
Tasks
Acceptance criteria
A clean checkout generates the API client and builds both targets without generated diff.
Strict concurrency checks pass with no blanket unsafe opt-outs.
The shell renders EN by default, switches to ES, and falls back to EN for missing values.
No production secret or server URL is embedded in source.
Account isolation, data protection, accessibility, EN default, and ES completeness match the web and macOS contracts.
Tokens, credentials, message content, recipients, and personal data never enter logs, crash reports, screenshots, fixtures, URLs, or notification defaults.
The capability is independently reviewable and rollback-safe.
Validation
Run clean generation, Swift build, XCTest, localization completeness, iPhone and iPad launch, and CI checks.
Run Swift build, XCTest, strict concurrency checks, generated-client diff, and the affected simulator and physical-device UI tests.
Use sanitized fixtures and protected accounts only for final manual provider validation.
Dependencies
Post-1.0 work. Blocked until Mailflow 1.0.0 is released: https://github.com/Tutitoos/mailflow/milestone/9
Risks
Offline state, background execution, notification privacy, generated contracts, and device credentials can diverge from server truth. Use actors, Keychain, bounded caches, explicit conflict states, and real-device validation.
Out of scope