Skip to main content

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

ShortcutWhereAction
⌘K / Ctrl+KConnector editorToggle the endpoint search palette
⌘Z / Ctrl+ZConnector editor (graph view)Undo the last change
⌘⇧Z / Ctrl+Shift+Z, or Ctrl+YConnector editor (graph view)Redo
EnterMessage / feature-request / chat inputsSend / submit
Shift+EnterSame inputsInsert 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 localStorage on 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

KeyPurpose
traces_connector_test_{connectorId}The editor's persisted test data for a connector
traces_changelog_viewed_atWhen you last opened the release-notes panel (drives the unread dot)
warning

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

StatusColourLabel
pendinggreyPending
validating_credsblueValidating Credentials
queuedblueQueued
in_progressblue (spinning icon)In Progress
pausedyellowPaused
partialorangePartial
errorredError
completedgreenCompleted
reviewingpurpleUnder Review
signed_offgreenSigned Off
deliveredgreenDelivered

Collection priority

PriorityColour
urgentred
highorange
normalgrey/blue
lowgrey

Connector status

StatusColourLabel
productiongreenProduction
testingyellowTesting
generatingblue (spinning icon)Generating
disabledgreyDisabled

Credential validation

StatusColour
validgreen
invalidred
expiredorange
unvalidatedgrey

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.