Email with IMAP flags for all
  • Swift 98.6%
  • Go 1%
  • Shell 0.4%
Find a file
2026-06-12 07:15:56 -04:00
Apps/FlagshipIOS Adds initial support for silent server heartbeat push notifications for better actual notifications 2026-06-12 07:15:56 -04:00
Flagship.xcodeproj Adds initial support for silent server heartbeat push notifications for better actual notifications 2026-06-12 07:15:56 -04:00
Scripts Improves diagnostic info in settings; improves new user experience when account doesn't have the special folders 2026-06-09 11:36:58 -04:00
Server Adds initial support for silent server heartbeat push notifications for better actual notifications 2026-06-12 07:15:56 -04:00
Sources Adds initial support for silent server heartbeat push notifications for better actual notifications 2026-06-12 07:15:56 -04:00
Tests Adds initial support for silent server heartbeat push notifications for better actual notifications 2026-06-12 07:15:56 -04:00
.env.example Initial project creation up to a working iOS app build that fetches email with pull to refresh. IMAP flag support working perfectly with basic local storage. 2026-05-22 10:20:49 -04:00
.gitignore Initial project creation up to a working iOS app build that fetches email with pull to refresh. IMAP flag support working perfectly with basic local storage. 2026-05-22 10:20:49 -04:00
Package.resolved Upgrades SwiftMail and SwiftSoup to latest versions; Swiftmail is pinned to a revision because of some bad dependencies, so fix that later 2026-06-05 19:01:16 -04:00
Package.swift Upgrades SwiftMail and SwiftSoup to latest versions; Swiftmail is pinned to a revision because of some bad dependencies, so fix that later 2026-06-05 19:01:16 -04:00
README.md Removes unneeded .env handling 2026-06-05 18:22:26 -04:00

Flagship

Flagship is an experimental native Apple-platform email client focused on full IMAP keyword flag support.

It's named Flagship because flags are the point.

Development

Build everything:

swift build

Run unit tests:

swift test

The package includes:

  • FlagshipCore: lightweight domain models and small preference storage.
  • FlagshipPersistence: SwiftData-backed account, mailbox, sync state, and message metadata models, plus a Keychain-backed account secret store.
  • FlagshipApp: the SwiftUI mailbox/message shell and app model that loads through the metadata store and performs manual selected-mailbox refreshes.
  • FlagshipIMAP: the live IMAP client implementation.

Account passwords live in Keychain, small UI preferences live in UserDefaults, and account/mailbox/message metadata lives in SwiftData.

iOS App

Open the Xcode project and run the Flagship scheme on an iPhone Simulator:

open Flagship.xcodeproj

The iOS app currently hosts FlagshipPersistentRootView, opens a SwiftData container, seeds preview mailbox/message data on first launch, then reads the visible app model back through the metadata store. Pulling down on a selected mailbox message list performs a manual refresh through SwiftMail. Account passwords live in Keychain.