Skip to content

feat: add delegated contact picker and UI - #345

Open
salmonumbrella wants to merge 6 commits into
maathimself:mainfrom
salmonumbrella:feat/delegated-contact-ui
Open

feat: add delegated contact picker and UI#345
salmonumbrella wants to merge 6 commits into
maathimself:mainfrom
salmonumbrella:feat/delegated-contact-ui

Conversation

@salmonumbrella

@salmonumbrella salmonumbrella commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds the delegated-contact frontend workflow: one shared gtd.delegate command, a stable-ID CardDAV contact continuation, immediate person-less fallback, and consistent delegate identity across GTD, inbox, thread, and conversation surfaces.

This is PR 6 of the cumulative command-system roadmap. Please review the last commit only: c772343.

Closes #344.

Changes

  • route D, Command-K, row context menus, visible-message controls, single targets, and multiselect through the shared controller
  • refresh shared CardDAV state and open the contact picker only for connected external CardDAV
  • add debounced stable-ID contact search with stale-response rejection, frozen-target resume, focus trapping/restoration, IME guards, ARIA active descendants, and nearest-row scrolling
  • keep the existing dependency-free command architecture and 5.5-row command-palette viewport
  • patch successful delegation metadata through account-scoped cached thread/search copies before refresh
  • render compact delegate pills on GTD rows, flat and threaded inbox rows, and the open conversation
  • localize picker and outcome copy across all seven locales

Testing

  • frontend: 1,680 tests passed
  • frontend lint: zero warnings
  • frontend production build: passed
  • Node 22 backend regression: 51 files / 1,014 tests passed
  • backend lint: zero warnings
  • independent review: no remaining concrete blockers

Contributor License Agreement

By submitting this pull request I confirm that:

  • I have read and agree to the Contributor License Agreement.
  • My contribution is my own original work (or I have identified any
    third-party material and confirmed it is compatible with the CLA).
  • I have the right to submit this contribution under the terms of the CLA.

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.

Add delegated-contact picker and identity UI

1 participant