Commit Graph
4 Commits
Author SHA1 Message Date
Matthew Meszaros 0ecaf008f3 feat: iOS From picker parity + tag-scoped Auto: the tag chip row becomes a native Menu filter offering every user tag (not just in-use ones) with color dots and checkmarks, filtering turns the Auto row into Auto in <tag> previewing the best in-tag candidate and picking it carries autoTagID into the compose send as from_tag_id (cleared by explicit picks), the From row reads Auto in <tag> with the best member email via account tags lifted into ComposeStore, and ContactPickerSheet swaps its category chips for the same compact menu idiom 2026-07-20 05:33:06 +02:00
Matthew Meszaros 10217039f0 feat: undo send in the iOS app: instant compose and reply sends swap the sent toast for a dark UndoSendBanner capsule counting down to the server's scheduled_at with an Undo button that cancels via DELETE unibox/scheduled/:task_id, compose undo reopens the sheet through the draft-resume path with the full payload and reply undo re-presents UniboxComposer prefilled from a UniboxReplySnapshot, 404 collapses to an Already sent toast, expiry flips the capsule to Sent briefly, and the User model gains undo_send_seconds (default 30 when absent) 2026-07-19 18:53:21 +02:00
Matthew Meszaros 07315cb118 feat: iOS compose polish from simulator feedback: the AI menu now targets highlighted text (shared selection quick actions plus a Custom edit through the prompt bar's editing-selection mode, stale-range guarded), the From picker gains tag filter chips built from the account directory and the member's tag definitions (only tags actually in use are offered), and every recipient field gets a plus button opening a browse-contacts sheet with search, category chips, multi-select checkmarks, and already-added rows disabled 2026-07-19 16:14:17 +02:00
Matthew Meszaros 06ad6cf51b feat: port the compose experience to the iOS app: a Gmail-style FAB on the inbox opens a new-email sheet with a scored From picker (Auto pick with the live recommendation, auth dot, today budget, history reasons), chip recipient fields with category-aware contact autocomplete, a suppression warning strip, instant/smart/scheduled sends through POST /unibox/compose, autosaved drafts (client-generated id, debounced idempotent PUT, close keeps the draft, send deletes it) with a Drafts drawer row to resume or swipe-delete, and a grounded AI draft bar that can return a clarifying question answered inline, with grounding and usage on the review card 2026-07-19 15:04:42 +02:00