Cc and Bcc in the compose screen now start collapsed into small left-aligned link buttons directly under the To box, freeing ~two field heights of vertical space for the message body.
Tapping a link expands it into the regular OutlinedTextField and focuses it. A field also expands automatically when it already carries recipients (reply-all / mailto prefill, resumed drafts) and never re-collapses once shown, so it can't vanish mid-edit. Expansion state is rememberSaveable-backed UI state and survives rotation.
Rides along: fix — resuming a draft silently dropped its Bcc recipients (saveOrDeleteDraft persists bcc, but the init-block restore never copied it back). With collapse-when-empty this data loss would have become invisible, so it's fixed here with a regression test.
Test plan
New E2E test (ComposeScreenTest): fields start collapsed (no editable node), expand via the links, and typed Cc/Bcc carry through send.
New unit test: draft resume restores bcc.
Preflight green locally (assembleDebug, testDebugUnitTest, lintDebug, ktlintCheck, detekt) + :app:compileDebugAndroidTestKotlin.
Manually verified on the API 37 emulator via a mailto: deep link: collapsed links render under To, expansion/focus/rotation behave as designed.
## Summary
- Cc and Bcc in the compose screen now start collapsed into small left-aligned link buttons directly under the To box, freeing ~two field heights of vertical space for the message body.
- Tapping a link expands it into the regular `OutlinedTextField` and focuses it. A field also expands automatically when it already carries recipients (reply-all / mailto prefill, resumed drafts) and never re-collapses once shown, so it can't vanish mid-edit. Expansion state is `rememberSaveable`-backed UI state and survives rotation.
- Rides along: **fix** — resuming a draft silently dropped its Bcc recipients (`saveOrDeleteDraft` persists `bcc`, but the init-block restore never copied it back). With collapse-when-empty this data loss would have become invisible, so it's fixed here with a regression test.
## Test plan
- New E2E test (`ComposeScreenTest`): fields start collapsed (no editable node), expand via the links, and typed Cc/Bcc carry through send.
- New unit test: draft resume restores `bcc`.
- Preflight green locally (assembleDebug, testDebugUnitTest, lintDebug, ktlintCheck, detekt) + `:app:compileDebugAndroidTestKotlin`.
- Manually verified on the API 37 emulator via a `mailto:` deep link: collapsed links render under To, expansion/focus/rotation behave as designed.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
OutlinedTextFieldand focuses it. A field also expands automatically when it already carries recipients (reply-all / mailto prefill, resumed drafts) and never re-collapses once shown, so it can't vanish mid-edit. Expansion state isrememberSaveable-backed UI state and survives rotation.saveOrDeleteDraftpersistsbcc, but the init-block restore never copied it back). With collapse-when-empty this data loss would have become invisible, so it's fixed here with a regression test.Test plan
ComposeScreenTest): fields start collapsed (no editable node), expand via the links, and typed Cc/Bcc carry through send.bcc.:app:compileDebugAndroidTestKotlin.mailto:deep link: collapsed links render under To, expansion/focus/rotation behave as designed.🤖 Generated with Claude Code