Let the contact list be resized, and give the contact the rest of the page #358

Closed
opened 2026-09-15 14:25:08 +00:00 by jcoffey-dev · 0 comments
Owner

The divider between the contact list and the contact couldn't be dragged. There was also a layout bug behind it.

The bug. .contacts-layout still had three columns (220px / 280–360px / 1fr) from when the address books were inside the view. They moved to the app's left pane in 350f4f4 and the grid never changed. On a 1720px window the list was squeezed into 220px, cutting off names. The contact was capped at 360px, and 883px next to it stayed empty.

The fix.

  • Two columns, with the same Splitter the message list uses. Drag range is 240px up to whatever leaves 360px for the contact. Arrow keys move it 24px, and double-click resets it to 320px.
  • New contactsListWidth setting, stored per device next to listPaneWidth. It's kept on a device marked as your own and never synced, and the sync test covers it.
  • The splitter is hidden where contacts show one pane at a time (≤900px).
  • The unused .contacts-books CSS rules are removed.

Translation: one new string, "Resize contact list", in all nine catalogues (1439/1455 each, 16 falling back as before).

Checked: typecheck, 1218 web tests, build and i18n:check. In a visible Chrome tab against the mock: the columns measure 320 / 6 / 1137px, dragging works, the width holds after going to Mail and back, the arrow key and double-click reset work, and the label is right. A reload returns to 320px there because that session wasn't signed in as "my own device", so nothing is stored. Mail's divider does the same.

Merged 2026-09-15 as coffey-labs/ihasmail@877566f1cd

Rebuilt from: GH Archive, git history, session transcript.

The divider between the contact list and the contact couldn't be dragged. There was also a layout bug behind it. **The bug.** `.contacts-layout` still had three columns (220px / 280–360px / 1fr) from when the address books were inside the view. They moved to the app's left pane in 350f4f4 and the grid never changed. On a 1720px window the list was squeezed into 220px, cutting off names. The contact was capped at 360px, and 883px next to it stayed empty. **The fix.** - Two columns, with the same `Splitter` the message list uses. Drag range is 240px up to whatever leaves 360px for the contact. Arrow keys move it 24px, and double-click resets it to 320px. - New `contactsListWidth` setting, stored per device next to `listPaneWidth`. It's kept on a device marked as your own and never synced, and the sync test covers it. - The splitter is hidden where contacts show one pane at a time (≤900px). - The unused `.contacts-books` CSS rules are removed. **Translation:** one new string, "Resize contact list", in all nine catalogues (1439/1455 each, 16 falling back as before). **Checked:** typecheck, 1218 web tests, build and i18n:check. In a visible Chrome tab against the mock: the columns measure 320 / 6 / 1137px, dragging works, the width holds after going to Mail and back, the arrow key and double-click reset work, and the label is right. A reload returns to 320px there because that session wasn't signed in as "my own device", so nothing is stored. Mail's divider does the same. **Merged** 2026-09-15 as coffey-labs/ihasmail@877566f1cdc4 <sub>Rebuilt from: GH Archive, git history, session transcript.</sub>
This repo is archived. You cannot comment on issues.