Keyboard Shortcuts & Interactions
A reference for the cross-cutting interaction patterns in Traces: keyboard shortcuts, drag-and-drop, auto-save behaviour, conflict handling, toasts, and the colour language of status badges. These apply across many screens rather than to one in particular.
Keyboard shortcuts
| Shortcut | Where | Action |
|---|---|---|
| ⌘K / Ctrl+K | Connector editor | Toggle the endpoint search palette |
| ⌘Z / Ctrl+Z | Connector editor (graph view) | Undo the last change |
| ⌘⇧Z / Ctrl+Shift+Z, or Ctrl+Y | Connector editor (graph view) | Redo |
| Enter | Message / feature-request / chat inputs | Send / submit |
| Shift+Enter | Same inputs | Insert a newline instead of sending |
Endpoint search (⌘K)
In the connector editor, ⌘K toggles a search palette over the endpoint list. Selecting a result
switches to the explorer view and reveals (scrolls to and highlights) the chosen endpoint. The
toolbar's search button shows the ⌘K hint in its tooltip.
Undo / redo
The connector editor maintains an undo/redo stack of your unpublished changes. Besides the keyboard shortcuts (which are wired in the graph view), the editor toolbar has Undo and Redo buttons whose tooltips name the specific change (e.g. "Undo: rename endpoint"), plus a history popover that lets you jump to any point in the stack. See the version history and connector editor pages for the editing model.
Drag-and-drop
Drag-and-drop is used in the connector editor — most notably reordering execution phases and arranging nodes on the graph canvas. The graph canvas additionally supports panning and zooming (Ctrl/⌘ + scroll to zoom). See Phases & Execution Order for the phase reordering model.
Auto-save and local storage
The connector editor never has an explicit "save" for test data — it saves automatically.
- Local-storage mirror: editor state (test results, dependency mappings, reusable variables,
pagination configs, execution order, credential flags, download queue) is written to
localStorageon a short debounce (~500 ms) so a reload doesn't lose work. - Server save: test data is also persisted to the API on an adaptive debounce — it saves after about 5 seconds of inactivity, but if 30 seconds have passed since the last successful save it shortens to ~1 second so changes don't sit unsaved indefinitely. A save can also be flushed immediately before publishing.
Local-storage keys
| Key | Purpose |
|---|---|
traces_connector_test_{connectorId} | The editor's persisted test data for a connector |
traces_changelog_viewed_at | When you last opened the release-notes panel (drives the unread dot) |
The local-storage key is scoped to the connector ID. Publishing a connector creates a new connector with a new ID, so the key changes — your prior local test data won't carry over to the published version automatically. Test data is remapped server-side on publish.
Concurrent-edit conflicts (409)
If two people edit the same connector at once, a save can come back 409 Conflict. Unlike ordinary save failures (which only surface after two consecutive errors), a 409 is surfaced immediately so the UI can prompt you to reload and pick up the other person's changes. A separate banner also warns when someone else is editing the same connector ("…also editing this connector. Changes may conflict.").
Toasts and alerts
Two notification mechanisms run alongside each other:
- Toasts — transient confirmations for successful actions (e.g. "Collection signed off", "Analyst Updated", "Copied").
- Alerts — surfaced in the notifications bell and used for errors and warnings (e.g. a failed pause, an assignment error). Alerts carry a type (error / warning / success / info), an optional description, and a source tag.
Status badges and colours
Status badges share one colour vocabulary across the app (defined in a central status registry).
Collection status
| Status | Colour | Label |
|---|---|---|
pending | grey | Pending |
validating_creds | blue | Validating Credentials |
queued | blue | Queued |
in_progress | blue (spinning icon) | In Progress |
paused | yellow | Paused |
partial | orange | Partial |
error | red | Error |
completed | green | Completed |
reviewing | purple | Under Review |
signed_off | green | Signed Off |
delivered | green | Delivered |
Collection priority
| Priority | Colour |
|---|---|
urgent | red |
high | orange |
normal | grey/blue |
low | grey |
Connector status
| Status | Colour | Label |
|---|---|---|
production | green | Production |
testing | yellow | Testing |
generating | blue (spinning icon) | Generating |
disabled | grey | Disabled |
Credential validation
| Status | Colour |
|---|---|
valid | green |
invalid | red |
expired | orange |
unvalidated | grey |
Roadmap priority & complexity
See the Roadmap page for roadmap priority (Low/Medium/High/Critical) and complexity (Low/Medium/High) colours.
Feature-request status
See the Feature Requests page for the Received → Acknowledged → Building → Implemented/Denied colours.