Files
windmill/frontend
Guilhem Lemouel 00586e1fbf Merge remote-tracking branch 'origin/main' into gl/layout-ai
Conflicts: WorkspaceItemDrillPicker, RawAppEditorHeader, copilot/global/core.

Main rewrote the global chat draft layer to live entirely on `UserDraft`
(see #9291 — `globalDraftStore` deleted, replaced by `userDraftAdapter`
which surfaces drafts as `WorkspaceItem`s for the chat). The session
runtime and the three session editor views were the only remaining
consumers of `globalDraftStore`, so this merge folds them onto the same
single-source-of-truth.

Session ↔ chat plumbing (the user's stated requirement):
- `FlowEditorView`, `ScriptEditorView`, `RawAppEditorView` register
  themselves as the live editor for `(workspace, itemKind)` via
  `UserDraft.setLiveEditorDraft({...})` on mount and clear on unmount —
  same registration the `/scripts/edit`, `/flows/edit`,
  `/apps_raw/edit` route pages now do. The session's chat sees the
  open path through the `isLiveDraft` hint and can target it with
  `discord_local_draft` or `read_workspace_item`.
- Bidirectional editor ↔ chat sync now goes through `UserDraft.get/save`
  directly. The session's `workspace_id` (a fork) is passed as
  `opts.workspace` so reads/writes target the fork's UserDraft scope —
  the session's chat operates in the same scope, so they share content
  without an extra bridge.
- The slim `FlowDraftValue`/`AppDraftValue` shapes the old store kept
  are gone; `UserDraft<Flow>` and `UserDraft<RawAppDraft>` store the
  full editor types (matching how the chat tools write them in
  `core.ts`). `flowDraftCodec` deleted; `appDraftCodec` renamed
  `applyDraftValueToRawApp` → `applyDraftToRuntimeRawApp` to reflect
  that the draft type *is* the editor shape now.
- `WorkspaceItemDrillPicker.aiDraftsForKind` reads via
  `listGlobalDrafts(workspace)` (the new userDraftAdapter export)
  instead of `globalDraftStore.listDrafts`.

The session retry-loop fixes, the not-found EditorHeader, and the
drill-picker $effect→callback refactor from earlier on this branch all
ride along unchanged.
2026-05-25 17:03:53 +02:00
..
2026-01-22 16:20:01 +00:00
2025-12-23 18:19:30 +00:00
2026-02-19 09:33:33 +00:00
2026-03-05 18:11:40 +01:00
2026-01-22 16:20:01 +00:00
2026-03-18 11:38:22 +00:00
2025-12-17 08:40:36 +00:00
2026-02-19 09:33:33 +00:00

Windmill frontend

The Windmill frontend written in Svelte 5 + Tailwind CSS

The frontend is under AGPL, see the LICENSE file at the root of this repo