You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Workspace sidepanel state should refresh through a single invalidation pipeline instead of ad-hoc reloads. The main process owns invalidation production, and the renderer owns refresh execution.
6
+
7
+
## User Stories
8
+
9
+
- As a user, when files are created, edited, moved, or removed in the current workspace, the file tree should refresh without manual action.
10
+
- As a user, when Git metadata changes without a file content change, the Git section should still refresh.
11
+
- As a maintainer, I need one clear contract for workspace invalidation so future features do not add more bespoke refresh paths.
12
+
13
+
## Acceptance Criteria
14
+
15
+
- Workspace content changes emit a typed invalidation event with `kind: 'fs'`.
16
+
- Git metadata changes emit a typed invalidation event with `kind: 'git'`.
17
+
- Renderer refreshes file tree, Git state, preview, and diff through one shared sync path.
18
+
- Expanded directories stay expanded after a full refresh when the directory still exists.
19
+
- Stale selected file and diff state are cleared when the backing file or Git change disappears.
20
+
- Read-only filesystem operations do not emit workspace invalidation events.
21
+
22
+
## Non-Goals
23
+
24
+
- Artifact refresh is not part of workspace invalidation.
25
+
- Hidden file visibility rules are unchanged.
26
+
- Watchers are not promoted to a global always-on workspace service.
0 commit comments