Skip to content

fix(ui): style contact modals in inbox view, overlay Settings, default verify-on-send off#262

Merged
iduartgomez merged 1 commit into
mainfrom
fix/contact-modal-styling-and-defaults
May 23, 2026
Merged

fix(ui): style contact modals in inbox view, overlay Settings, default verify-on-send off#262
iduartgomez merged 1 commit into
mainfrom
fix/contact-modal-styling-and-defaults

Conversation

@iduartgomez
Copy link
Copy Markdown
Contributor

What

Three related fixes to the Import / Share contact modals reachable from Settings → Contacts (the .fm-app scope).

1. Modals rendered unstyled in the inbox view

The modal markup uses .field / .input / .textarea / .verify-words* / .token-block / .verify-check* classes that only existed under login.css @scope (.fm-pre). The Settings → Contacts render site lives under @scope (.fm-app), where only .veil / .modal-* were mirrored — so labels rendered inline-left of inputs and the textarea overlapped its label.

Fix: mirror the missing form-field / verify / token rules into settings.css's .fm-app block.

Before After
Labels collide with inputs, textarea overlaps label Labels above full-width inputs, fingerprint grid + token block styled

2. Opening a modal dropped to the inbox

on_import / on_share called close_settings() before opening the modal (from #97, predating the .fm-app modal CSS). Background reverted Settings → inbox. Removed it — modal now overlays the Contacts panel.

3. verify_on_send defaulted on

"Require known key to send" now defaults off. It was blocking sends to any not-yet-verified contact out of the box.

Verification

  • cargo test -p mail-local-state — 28/28 pass (default-flip assertion updated)
  • UI wasm builds (example-data,no-sync)
  • Manually drove the offline build: Import + Share modals styled correctly and overlay Settings; Privacy toggle confirmed off by default

Playwright spec comments + docs/qa/manual-test-inventory.md updated for the new default (specs still tick verify explicitly, so behavior unchanged).

…t verify-on-send off

Three related fixes to the Import/Share contact modals reachable from
Settings → Contacts (the .fm-app scope):

1. Form fields rendered unstyled in the inbox view. The modal markup
   uses .field/.input/.textarea/.verify-words*/.token-block/.verify-check*
   classes that only existed under login.css @scope (.fm-pre). The
   Settings → Contacts render site lives under @scope (.fm-app), where
   only .veil/.modal-* were mirrored, so labels rendered inline-left of
   inputs and the textarea overlapped its label. Mirror the missing
   rules into settings.css's .fm-app block.

2. Opening Import/Share called close_settings() first (from #97, before
   the modal CSS worked in .fm-app), dropping the background to the
   inbox. Remove that so the modal overlays the Contacts panel instead.

3. "Require known key to send" (verify_on_send) now defaults off — it
   was blocking sends to any not-yet-verified contact out of the box.

Comments in the live-node / repro Playwright specs and the QA inventory
updated to reflect the new default (tests still tick verify explicitly,
so behavior is unchanged).
@iduartgomez iduartgomez merged commit 88669e5 into main May 23, 2026
5 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant