mirror of
https://github.com/bulwarkmail/native.git
synced 2026-10-31 08:06:36 +00:00
ee21c15fec3e91cc544d424446f7c3193fe7415a
Follow-up to the direct-view fix. No behaviour change on the happy path, but the handoff is now easier to reason about and covered by tests. - Use `File.contentUri` from the expo-file-system 19 API instead of the legacy `getContentUriAsync`, dropping the `expo-file-system/legacy` import. Same FileProvider, one less round trip through the bridge. - Pull the intent launch into `openWithViewer`, which returns false when the handoff didn't happen, so the fallback reads as a decision rather than as an empty catch. It also no longer swallows the reason silently. - Rewrite the expo-sharing comment above `shareAttachment`: it warns against pre-translating to a content URI, which is still true for every `Sharing.shareAsync` call but is exactly what the new VIEW path has to do. Note why `downloadAttachment` keeps the share sheet as well. - Record why FLAG_ACTIVITY_NEW_TASK is deliberately absent: the module launches via startActivityForResult, which a new task would cancel.
feat: update Android build configuration to use arm64-v8a architecture and improve caching mechanism
Bulwark Mobile
Beta - work in progress. Many features are unfinished or rough. Expect bugs, missing functionality, and breaking changes between releases. Do not rely on this for primary email yet.
React Native (Expo SDK 54) client for Bulwark Webmail - a JMAP-based mail, calendar, and contacts app.
What works today
- Sign in to any JMAP server (e.g. Stalwart)
- Multiple accounts
- Email list, threads, compose
- Calendar (basic)
- Contacts (basic)
- Push notifications via FCM relay
- In-app sideload updates from GitHub Releases
What's missing or rough
- iOS build is untested
- Filters & rules, S/MIME, plugins, themes, file storage - UI stubs only
- Calendar editing is partial; contacts editing is basic
- No Play Store distribution yet (sideload APK from Releases)
Run locally
npm install
npx expo start
Then press a for Android, i for iOS, or scan the QR with Expo Go.
For a release APK build see .github/workflows/release-android.yml.
License
AGPL-3.0-only. See LICENSE.
Languages
TypeScript
95.5%
Kotlin
2.7%
JavaScript
0.9%
HTML
0.5%
Sieve
0.2%
Other
0.1%