Part of the compose rich-formatting epic — stacked on the rich-text foundation ticket (branch feat-richtext-foundation), which provides RichBaseStyle + the wrapper <div style="…"> round-trip. Compile-independent of the font/size picker tickets — only uses foundation types.
Scope
data/settings/SettingsRepository.kt (existing app-level Preferences DataStore): add lastFontCss / lastFontSizePt keys, AppSettings fields, and a setter, following the existing pattern.
Inject SettingsRepository into ComposeViewModel (not currently injected). On send: parse the outgoing bodyHtml with RichTextHtml.fromHtml and persist the base style or the last FontFamily/FontSize span values. On brand-new compositions (draftId == null — replies/forwards arrive as drafts): seed RichBaseStyle so the whole message defaults to the remembered font/size.
Acceptance
MockK VM tests: persists on send; seeds on new compose; existing drafts untouched; plaintext-only messages stay plaintext when no font pref is stored. No Room change.
Part of the compose rich-formatting epic — stacked on the rich-text foundation ticket (branch `feat-richtext-foundation`), which provides `RichBaseStyle` + the wrapper `<div style="…">` round-trip. Compile-independent of the font/size picker tickets — only uses foundation types.
**Scope**
- `data/settings/SettingsRepository.kt` (existing app-level Preferences DataStore): add `lastFontCss` / `lastFontSizePt` keys, `AppSettings` fields, and a setter, following the existing pattern.
- Inject `SettingsRepository` into `ComposeViewModel` (not currently injected). On send: parse the outgoing `bodyHtml` with `RichTextHtml.fromHtml` and persist the base style or the last `FontFamily`/`FontSize` span values. On brand-new compositions (`draftId == null` — replies/forwards arrive as drafts): seed `RichBaseStyle` so the whole message defaults to the remembered font/size.
**Acceptance**
- MockK VM tests: persists on send; seeds on new compose; existing drafts untouched; plaintext-only messages stay plaintext when no font pref is stored. No Room change.
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.
Part of the compose rich-formatting epic — stacked on the rich-text foundation ticket (branch
feat-richtext-foundation), which providesRichBaseStyle+ the wrapper<div style="…">round-trip. Compile-independent of the font/size picker tickets — only uses foundation types.Scope
data/settings/SettingsRepository.kt(existing app-level Preferences DataStore): addlastFontCss/lastFontSizePtkeys,AppSettingsfields, and a setter, following the existing pattern.SettingsRepositoryintoComposeViewModel(not currently injected). On send: parse the outgoingbodyHtmlwithRichTextHtml.fromHtmland persist the base style or the lastFontFamily/FontSizespan values. On brand-new compositions (draftId == null— replies/forwards arrive as drafts): seedRichBaseStyleso the whole message defaults to the remembered font/size.Acceptance