feat: project chip + file-wins guard (multi-project stage 2)

When the open flow declares its own top-level project:, show it as a
chip in the tab action strip. On mismatch with the host's active
workspace, an amber file-wins pill offers a one-click Switch to
<project> — the file always wins for the run; switching only aligns
the workspace view.

New optional FlowEditorPage.activeProject + onSwitchToFileProject.
Parse + normalize (mirrors the hub's normalize_project_slug) lives in
flow_project.dart, unit-tested. flutter analyze clean, 57 tests green.

Signed-off-by: flemming-it <sf@flemming.it>
This commit is contained in:
flemming-it 2026-07-12 14:20:15 +02:00
parent 9196251e00
commit 9e73036d0e
6 changed files with 253 additions and 1 deletions

View file

@ -4,6 +4,20 @@ All notable changes to `chain_studio_flow_editor` recorded here.
Studio bumps its `pubspec.yaml` git ref to a specific release
of this package on every editor change.
## 0.22.0 — 2026-07-12
### Added
- **Project chip (multi-project stage ②).** When the open flow file
declares its own top-level `project:`, the editor shows it as a chip
in the tab action strip. If the file's project differs from the host's
active workspace, the chip becomes an amber "file wins" pill with a
one-click *Switch to <project>* action — the file always wins for the
run; switching only aligns the workspace view. New optional
`FlowEditorPage.activeProject` + `onSwitchToFileProject`; the parse +
normalize logic (mirrors the hub's `normalize_project_slug`) lives in
`flow_project.dart` and is unit-tested.
## 0.21.2 — 2026-07-11
### Added