feat: build out Android mail client #17

Merged
ober merged 1 commit from feat/android-full-client-kimi into main 2026-08-11 21:41:15 -04:00
Owner

Summary

  • build out the Android mail client through the apk-kimi Phase 0-10 scope in one branch
  • replace duplicated activity/worker protocol code with shared models, config store, JMAP client, MIME parser, cache, and notification helpers
  • add mailbox navigation, cached search/filtering, pagination, MIME/attachment display, gated compose/reply/forward, batch actions, offline queue, settings upgrades, app lock/FLAG_SECURE, dark colors, ListView recycling, and emulator harnesses
  • remove dead fragment inputs and unused direct Android dependencies; bump version to 0.2.18 / version-code 215

Verification

  • jerboa_verify support/android/app.ss: pass
  • jerboa_verify lib/jjmap/main.ss: pass
  • make binary: pass
  • make test: pass
  • Android assembleDebug via generated project + Gradle 9.5.1: pass
  • support/android/emulator-server.sh + support/android/emulator-smoke.sh: SMOKE PASS: launched, authenticated, fetched, decrypted, rendered
  • jerboa_security_scan changed lines: no findings

Notes

  • Compose/reply/forward remain hidden unless the server advertises urn:ietf:params:jmap:submission.
  • The smoke harness uses adb reverse plus a generated-only debug asset; no credentials are written into the source tree.
## Summary - build out the Android mail client through the apk-kimi Phase 0-10 scope in one branch - replace duplicated activity/worker protocol code with shared models, config store, JMAP client, MIME parser, cache, and notification helpers - add mailbox navigation, cached search/filtering, pagination, MIME/attachment display, gated compose/reply/forward, batch actions, offline queue, settings upgrades, app lock/FLAG_SECURE, dark colors, ListView recycling, and emulator harnesses - remove dead fragment inputs and unused direct Android dependencies; bump version to 0.2.18 / version-code 215 ## Verification - jerboa_verify support/android/app.ss: pass - jerboa_verify lib/jjmap/main.ss: pass - make binary: pass - make test: pass - Android assembleDebug via generated project + Gradle 9.5.1: pass - support/android/emulator-server.sh + support/android/emulator-smoke.sh: SMOKE PASS: launched, authenticated, fetched, decrypted, rendered - jerboa_security_scan changed lines: no findings ## Notes - Compose/reply/forward remain hidden unless the server advertises urn:ietf:params:jmap:submission. - The smoke harness uses adb reverse plus a generated-only debug asset; no credentials are written into the source tree.
feat: build out Android mail client
All checks were successful
version-policy / required (pull_request) Successful in 13s
required-ci / required (pull_request) Successful in 13m0s
25fd01a7c0
ober scheduled this pull request to auto merge when all checks succeed 2026-08-11 21:40:40 -04:00
ober merged commit 23e85fb187 into main 2026-08-11 21:41:15 -04:00
ober referenced this pull request from a commit 2026-08-11 21:41:16 -04:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ober/jerboa-jmap!17
No description provided.