Investigators can copy selected node labels as text today, but there is no built-in way to export the selected graph subset as a machine-readable artifact for reports, backups, or handoff to other tools.
Before / after
Before:
The selected-node context menu only exposed the existing text copy action.
Exporting a selected graph subset required manual work outside Flowsint.
After:
The selected-node context menu includes an Export ... as JSON action.
The downloaded JSON includes:
exported_at
the selected nodes
edges whose source and target are both in the selected node set
corepack yarn workspace flowsint-app typecheck is still blocked by existing project-wide TypeScript errors unrelated to this file, including missing Tiptap modules and table/router typing errors.
A file-level ESLint run is still blocked because .eslintrc.cjs requires @typescript-eslint/parser, but that parser is not installed by the lockfile.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.
## 📋 Pull Request Information
**Original PR:** https://github.com/reconurge/flowsint/pull/189
**Author:** [@Ghraven](https://github.com/Ghraven)
**Created:** 6/11/2026
**Status:** ✅ Merged
**Merged:** 6/18/2026
**Merged by:** [@dextmorgn](https://github.com/dextmorgn)
**Base:** `main` ← **Head:** `feat/export-selected-json`
---
### 📝 Commits (1)
- [`cf2bc1e`](https://github.com/reconurge/flowsint/commit/cf2bc1ec07b1aa59423374549aa81bd263805500) feat: export selected graph nodes as JSON
### 📊 Changes
**1 file changed** (+40 additions, -2 deletions)
<details>
<summary>View changed files</summary>
📝 `flowsint-app/src/components/sketches/graph/context-menu/background-context-menu.tsx` (+40 -2)
</details>
### 📄 Description
## Problem
Closes #177.
Investigators can copy selected node labels as text today, but there is no built-in way to export the selected graph subset as a machine-readable artifact for reports, backups, or handoff to other tools.
## Before / after
Before:
- The selected-node context menu only exposed the existing text copy action.
- Exporting a selected graph subset required manual work outside Flowsint.
After:
- The selected-node context menu includes an `Export ... as JSON` action.
- The downloaded JSON includes:
- `exported_at`
- the selected `nodes`
- `edges` whose source and target are both in the selected node set
## Verification
- `corepack yarn install --frozen-lockfile`
- `corepack yarn prettier --check flowsint-app/src/components/sketches/graph/context-menu/background-context-menu.tsx`
- `git diff --check`
Additional checks attempted:
- `corepack yarn workspace flowsint-app typecheck` is still blocked by existing project-wide TypeScript errors unrelated to this file, including missing Tiptap modules and table/router typing errors.
- A file-level ESLint run is still blocked because `.eslintrc.cjs` requires `@typescript-eslint/parser`, but that parser is not installed by the lockfile.
---
<sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
📋 Pull Request Information
Original PR: https://github.com/reconurge/flowsint/pull/189
Author: @Ghraven
Created: 6/11/2026
Status: ✅ Merged
Merged: 6/18/2026
Merged by: @dextmorgn
Base:
main← Head:feat/export-selected-json📝 Commits (1)
cf2bc1efeat: export selected graph nodes as JSON📊 Changes
1 file changed (+40 additions, -2 deletions)
View changed files
📝
flowsint-app/src/components/sketches/graph/context-menu/background-context-menu.tsx(+40 -2)📄 Description
Problem
Closes #177.
Investigators can copy selected node labels as text today, but there is no built-in way to export the selected graph subset as a machine-readable artifact for reports, backups, or handoff to other tools.
Before / after
Before:
After:
Export ... as JSONaction.exported_atnodesedgeswhose source and target are both in the selected node setVerification
corepack yarn install --frozen-lockfilecorepack yarn prettier --check flowsint-app/src/components/sketches/graph/context-menu/background-context-menu.tsxgit diff --checkAdditional checks attempted:
corepack yarn workspace flowsint-app typecheckis still blocked by existing project-wide TypeScript errors unrelated to this file, including missing Tiptap modules and table/router typing errors..eslintrc.cjsrequires@typescript-eslint/parser, but that parser is not installed by the lockfile.🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.