<feed xmlns='http://www.w3.org/2005/Atom'>
<title>claude-flow.git/renderer/src/App.tsx, branch claude-flow-v1</title>
<subtitle>A document-centric coding assistant</subtitle>
<id>https://code.northwest.io/claude-flow.git/atom?h=claude-flow-v1</id>
<link rel='self' href='https://code.northwest.io/claude-flow.git/atom?h=claude-flow-v1'/>
<link rel='alternate' type='text/html' href='https://code.northwest.io/claude-flow.git/'/>
<updated>2026-03-05T06:33:27+00:00</updated>
<entry>
<title>feat: Remove auto-send block from handleConfirmNewSession in App.tsx</title>
<updated>2026-03-05T06:33:27+00:00</updated>
<author>
<name>bndw</name>
<email>ben@bdw.to</email>
</author>
<published>2026-03-05T06:33:27+00:00</published>
<link rel='alternate' type='text/html' href='https://code.northwest.io/claude-flow.git/commit/?id=27b6e3499d1c96982c67e445a8ee2fcbb16d9b9f'/>
<id>urn:sha1:27b6e3499d1c96982c67e445a8ee2fcbb16d9b9f</id>
<content type='text'>
- ✅ Remove auto-send block from handleConfirmNewSession in App.tsx
</content>
</entry>
<entry>
<title>feat: Sync sessions array after phase advance in handleSubmit (+1 more)</title>
<updated>2026-03-05T06:26:24+00:00</updated>
<author>
<name>bndw</name>
<email>ben@bdw.to</email>
</author>
<published>2026-03-05T06:26:24+00:00</published>
<link rel='alternate' type='text/html' href='https://code.northwest.io/claude-flow.git/commit/?id=712b7ce8306d8bf5b21f35aa51957a82fa771e3b'/>
<id>urn:sha1:712b7ce8306d8bf5b21f35aa51957a82fa771e3b</id>
<content type='text'>
- ✅ Sync sessions array after phase advance in handleSubmit
- ✅ Auto-send initial message in handleConfirmNewSession for plan/implement phases
</content>
</entry>
<entry>
<title>feat: Thread optional `phase` param into `db/sessions.ts::cre… (+7 more)</title>
<updated>2026-03-05T05:36:32+00:00</updated>
<author>
<name>bndw</name>
<email>ben@bdw.to</email>
</author>
<published>2026-03-05T05:36:32+00:00</published>
<link rel='alternate' type='text/html' href='https://code.northwest.io/claude-flow.git/commit/?id=73d2680b83ccbdbd8dfec2d319533e98b379b830'/>
<id>urn:sha1:73d2680b83ccbdbd8dfec2d319533e98b379b830</id>
<content type='text'>
- ✅ Thread optional `phase` param into `db/sessions.ts::createSession()`
- ✅ Thread optional `phase` param into `ipc/handlers.ts` sessions:create handler
- ✅ Thread optional `phase` param into `preload.ts` createSession API
- ✅ Update Plan phase system prompt to gracefully handle missing research.md
- ✅ Update Implement phase system prompt to gracefully handle missing plan.md
- ✅ Create `renderer/src/components/NewSessionModal.tsx`
- ✅ Update `App.tsx`: add modal state, split handler, add modal JSX
- ✅ Add modal CSS to `globals.css`
</content>
</entry>
<entry>
<title>feat: replace header dropdowns with collapsible sidebar tree</title>
<updated>2026-03-05T05:21:22+00:00</updated>
<author>
<name>bndw</name>
<email>ben@bdw.to</email>
</author>
<published>2026-03-05T05:21:22+00:00</published>
<link rel='alternate' type='text/html' href='https://code.northwest.io/claude-flow.git/commit/?id=b6405dd6a4ba65fc5dc6746db7be7be7d0bb29f3'/>
<id>urn:sha1:b6405dd6a4ba65fc5dc6746db7be7be7d0bb29f3</id>
<content type='text'>
- Add Sidebar.tsx: project/session tree with inline rename, collapse/resize
- App.tsx: load all sessions at startup, sync selectedProject on session click
- Header.tsx: strip project/session UI, keep only right-side controls
- globals.css: add .main-layout, sidebar, item, and activity-dot styles
- Chat pane: move toggle button to left, use triangle icons matching sidebar
</content>
</entry>
<entry>
<title>feat(settings): add configurable model selection</title>
<updated>2026-03-01T16:31:52+00:00</updated>
<author>
<name>Clawd</name>
<email>ai@clawd.bot</email>
</author>
<published>2026-03-01T16:31:52+00:00</published>
<link rel='alternate' type='text/html' href='https://code.northwest.io/claude-flow.git/commit/?id=d44d0f61e4026da35c0d1a4acb87ba71ed6cd599'/>
<id>urn:sha1:d44d0f61e4026da35c0d1a4acb87ba71ed6cd599</id>
<content type='text'>
- Add Model settings section with free-text input for model override
- Pass configured model through to SDK query() calls
- Display active model badge in ActionBar next to token usage
- Seed model state from DB on mount, update from system:init events
- Empty/unset value uses SDK default (no breaking change)
</content>
</entry>
<entry>
<title>feat: Add `activityStatus` state and `handleCancel` to App.ts… (+4 more)</title>
<updated>2026-03-01T16:10:35+00:00</updated>
<author>
<name>bndw</name>
<email>ben@bdw.to</email>
</author>
<published>2026-03-01T16:10:35+00:00</published>
<link rel='alternate' type='text/html' href='https://code.northwest.io/claude-flow.git/commit/?id=afdf3d57cb7ae4cbf0a519d1b53872f151ecba87'/>
<id>urn:sha1:afdf3d57cb7ae4cbf0a519d1b53872f151ecba87</id>
<content type='text'>
- ✅ Add `activityStatus` state and `handleCancel` to App.tsx; update Escape handler
- ✅ Extend `onClaudeMessage` handler: tool_progress, task_progress, restructure result block
- ✅ Pass `activityStatus` and `onCancel` props to `&lt;ChatPane&gt;` in App.tsx
- ✅ Update ChatPane.tsx props interface and loading bubble render
- ✅ Add loading bubble CSS (flex layout, cancel × styles, pulse animation)
</content>
</entry>
<entry>
<title>feat: **`globals.css`** — Edit `.chat-pane`: remove `width: 3… (+7 more)</title>
<updated>2026-03-01T05:49:29+00:00</updated>
<author>
<name>bndw</name>
<email>ben@bdw.to</email>
</author>
<published>2026-03-01T05:49:29+00:00</published>
<link rel='alternate' type='text/html' href='https://code.northwest.io/claude-flow.git/commit/?id=454453788e759fa16442e755434fbb842fa1acab'/>
<id>urn:sha1:454453788e759fa16442e755434fbb842fa1acab</id>
<content type='text'>
- ✅ **`globals.css`** — Edit `.chat-pane`: remove `width: 380px`, add `min-width: 0`, `overflow: hidden`, `transition: width 0.2s ease`
- ✅ **`globals.css`** — Insert `.chat-resize-handle`, `.chat-header`, `.chat-collapse-btn` rules after `.chat-pane` block
- ✅ **`globals.css`** — Append `::-webkit-scrollbar` rules at end of file
- ✅ **`ChatPane.tsx`** — Full rewrite: new props interface, header strip, conditional body, inline width style
- ✅ **`App.tsx`** — Add `chatWidth` + `chatCollapsed` state with lazy localStorage initialisers
- ✅ **`App.tsx`** — Add two `useEffect` persistence hooks
- ✅ **`App.tsx`** — Add `handleResizeMouseDown` function
- ✅ **`App.tsx`** — Update `.main-content` JSX: insert conditional resize handle div, pass new props to `&lt;ChatPane&gt;`
</content>
</entry>
<entry>
<title>feat: **1. `src/main/db/schema.ts`** — add `settings` table … (+10 more)</title>
<updated>2026-03-01T05:08:40+00:00</updated>
<author>
<name>bndw</name>
<email>ben@bdw.to</email>
</author>
<published>2026-03-01T05:08:40+00:00</published>
<link rel='alternate' type='text/html' href='https://code.northwest.io/claude-flow.git/commit/?id=04c63d4ef601876186e5d7fab980d76575c494ec'/>
<id>urn:sha1:04c63d4ef601876186e5d7fab980d76575c494ec</id>
<content type='text'>
- ✅ **1. `src/main/db/schema.ts`** — add `settings` table to `initSchema`
- ✅ **2. `src/main/db/settings.ts`** — create file with `getSetting`, `getSettings`, `setSetting`, `deleteSetting`
- ✅ **3. `src/main/claude/phases.ts`** — add `customSystemPrompt?` param to `getPhaseConfig`; add `getDefaultSystemPromptTemplate` export
- ✅ **4. `src/main/claude/index.ts`** — import `getSetting`; load custom prompt in `sendMessage`; pass to `getPhaseConfig`
- ✅ **5. `src/main/ipc/handlers.ts`** — import `settingsDb` + `getDefaultSystemPromptTemplate`; register `settings:get`, `settings:set`, `settings:delete`, `settings:getDefaultPrompts`
- ✅ **6. `src/main/preload.ts`** — add `getSettings`, `setSetting`, `deleteSetting`, `getDefaultSystemPrompts` to interface + api object
- ✅ **7. `renderer/src/styles/globals.css`** — append all new CSS rules
- ✅ **8. `renderer/src/components/settings/SystemPromptsSettings.tsx`** — create file (new directory)
- ✅ **9. `renderer/src/components/SettingsPage.tsx`** — create file
- ✅ **10. `renderer/src/components/Header.tsx`** — add `onOpenSettings` prop + ⚙ button
- ✅ **11. `renderer/src/App.tsx`** — add `showSettings` state; import + render `&lt;SettingsPage&gt;`; pass `onOpenSettings` to Header
</content>
</entry>
<entry>
<title>feat: Complete 9 tasks</title>
<updated>2026-03-01T04:45:23+00:00</updated>
<author>
<name>bndw</name>
<email>ben@bdw.to</email>
</author>
<published>2026-03-01T04:45:23+00:00</published>
<link rel='alternate' type='text/html' href='https://code.northwest.io/claude-flow.git/commit/?id=0da42e4fa414ab3268d4f71896455097239f8590'/>
<id>urn:sha1:0da42e4fa414ab3268d4f71896455097239f8590</id>
<content type='text'>
- ✅ **Change 1** — `src/main/git.ts`: Add `LOCK_FILES`, `buildTaskSubject`, `getStagedFileNames`, `buildFileSubject` helpers; rewrite `commitMsg` block in `autoCommitTurn`
- ✅ **Change 2a** — `src/main/ipc/handlers.ts`: Update import to include `ensureGitIgnore`; strip branch creation from `sessions:create`; add bare `ensureGitIgnore` call
- ✅ **Change 2b** — `src/main/ipc/handlers.ts`: Update `workflow:advance` to create branch on implement transition; return `{ phase, git_branch }`
- ✅ **Change 3** — `src/main/preload.ts`: Update `advancePhase` return type in `ClaudeFlowAPI` interface
- ✅ **Change 4** — `renderer/src/App.tsx`: Destructure `{ phase, git_branch }` from advance result; spread `git_branch` into `setSelectedSession`
- ✅ **Change 5a** — `renderer/src/components/Header.tsx`: Remove branch from `&lt;option&gt;` text
- ✅ **Change 5b** — `renderer/src/components/Header.tsx`: Add `phase !== "implement"` guard to rename button
- ✅ **Change 5c** — `renderer/src/components/Header.tsx`: Gate badge on `gitBranch` truthy; remove disabled/unavailable state
- ✅ **Change 6** — `renderer/src/styles/globals.css`: Delete `.branch-badge.branch-unavailable` rule
</content>
</entry>
<entry>
<title>feat: Complete 7 tasks</title>
<updated>2026-03-01T04:22:12+00:00</updated>
<author>
<name>bndw</name>
<email>ben@bdw.to</email>
</author>
<published>2026-03-01T04:22:12+00:00</published>
<link rel='alternate' type='text/html' href='https://code.northwest.io/claude-flow.git/commit/?id=dc4156fec54a8efdab84834fe2f5bc90120e32c1'/>
<id>urn:sha1:dc4156fec54a8efdab84834fe2f5bc90120e32c1</id>
<content type='text'>
- ✅ Add `.branch-badge` CSS block to `globals.css` after `.phase-step.complete` rule
- ✅ Extend `HeaderProps` interface with `gitBranch: string | null`
- ✅ Add `gitBranch` to `Header` function destructure
- ✅ Add `copied` state and `handleCopyBranch` function inside `Header`
- ✅ Update session `&lt;option&gt;` text to append branch name / "git unavailable"
- ✅ Add branch badge button to `header-right` between phase indicator and theme toggle
- ✅ Pass `gitBranch={selectedSession?.git_branch ?? null}` to `&lt;Header&gt;` in `App.tsx`
</content>
</entry>
</feed>
