From ae46258ff7d45a2433bbf9a7b3ab743f6e37eb57 Mon Sep 17 00:00:00 2001 From: flemming-it Date: Wed, 22 Jul 2026 13:57:14 +0200 Subject: [PATCH] feat(flows): workspace switcher + project-filtered flow list Mount the shared project switcher (same control as Audit, Approvals and Runs) in the flow editor's toolbar via the editor's new toolbarTrailing slot. The list filters by the active project with 'no key = general' display semantics, and new flows are stamped with the active project's key. Editor pin moved to c4a39a3 (0.25.0 + project separation). Signed-off-by: flemming-it --- CHANGELOG.md | 10 ++++++++++ lib/pages/flows.dart | 6 ++++++ pubspec.yaml | 2 +- 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4c64871..9367c2c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,16 @@ lockstep. - Flow editor pinned at 0.25.0 (store-resolvability split in the flow list, three-path analyzer message). +### Added — project separation for flows (0.78.0) + +- **Workspace switcher on the Flows page.** The same project + selector as Audit/Approvals/Runs now sits in the flow editor's + toolbar: it filters the flow list by the active project (flows + without a `project:` key count as "general" — display semantics, + files are never rewritten) and is the project a new flow gets + stamped with. The file keeps winning for runs; the editor's + mismatch banner still offers the one-click align. + ### Added — real trust + exposure data (0.77.0) - **Per-entry install verification.** The hub now reports (since diff --git a/lib/pages/flows.dart b/lib/pages/flows.dart index 01e78d4..dbd831f 100644 --- a/lib/pages/flows.dart +++ b/lib/pages/flows.dart @@ -21,6 +21,7 @@ import '../data/store_caps.dart'; import '../data/workspace.dart'; import '../l10n/app_localizations.dart'; import '../widgets/chain_install_confirm.dart'; +import '../widgets/chain_workspace_switcher.dart'; class FlowsPage extends StatefulWidget { /// Pre-load this flow when the editor first builds. Studio @@ -182,6 +183,11 @@ class _FlowsPageState extends State { onInstallCapability: _onInstallCapability, onAddModuleSource: _onAddModuleSource, activeProject: Workspace.instance.activeSlug, + // Same switcher as Audit/Approvals/Runs, hosted in the + // editor's toolbar (the page's single header): it + // filters the flow list and is the project a new flow + // gets stamped with. + toolbarTrailing: const ChainWorkspaceSwitcher(), // Native file dialog for the Run tab's file inputs — // nobody should have to type an absolute path by hand. onPickFile: _pickFlowInputFile, diff --git a/pubspec.yaml b/pubspec.yaml index 8b494a9..affcf0c 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -47,7 +47,7 @@ dependencies: # builds against. Bump this in lockstep with the editor tag. # Commit-pinned to editor 0.25.0 until its v0.25.0 tag exists # (equally reproducible); switch back to the tag then. - ref: ab97e5e + ref: c4a39a3 dev_dependencies: flutter_test: