* feat: inline rename of workflow on the editor page
Add a pencil icon next to the workflow name in
WorkflowEditorHeader.tsx. Clicking it swaps the <h1> for an inline
<Input> that saves on Enter or Blur, cancels on Esc, validates
empty/whitespace input, skips no-op renames, rolls back on API
error, and guards against double-submit. Reuses
saveWorkflowConfigurations (the existing rename path used by the
Settings page) — no parallel API call.
Closes https://github.com/dograh-hq/dograh/issues/252.
* refactor: collapse rename state and remove silent config fallback
- WorkflowEditorHeader: replace (isEditingName, nameDraft, nameError,
isRenaming) with a single discriminated-union state. Error and saving
were mutually exclusive and both meaningless in display mode; the
union makes the bad combinations unrepresentable and structurally
prevents the Enter -> disable-input -> blur -> re-fire race that the
original code only guarded against by convention.
- RenderWorkflow: drop the `?? DEFAULT_WORKFLOW_CONFIGURATIONS` fallback
in renameWorkflow. In normal flow the store is initialized before the
header renders, but if it ever weren't, the fallback would silently
overwrite the server-side config with defaults. Throw instead so the
header's existing catch surfaces a toast.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Abhishek Kumar <abhishek@a6k.me>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* filter out local sdp candidates on non local environment
* feat: add FORCE_TURN_RELAY variable
* add FORCE_TURN_RELAY option in docker-compose
* fix: fix github workflow
If there are multiple telephony configurations, the form number should be initialized from the campaigns given telephonic configuration rather than the organization default telephonic configuration.
* feat: add headless widget for deployment
* feat: call callbacks at the right time
* feat: add onCallConnected & onCallDisconnected callback
* feat: add a button with text for floating widget
* feat: add headless widget for deployment
* feat: call callbacks at the right time
* feat: add onCallConnected & onCallDisconnected callback
* feat: add a button with text for floating widget
* docs: web widget
* fix: format issue in pre-pr drift check
* fix: fix CD to rely on pipecat dev dependey
* chore: update message
---------
Co-authored-by: Abhishek Kumar <abhishek@a6k.me>