Yichen Jiang
d0fc1f6458
feat(forge): show the changes of a Session and of its change requests
...
The forge panel opens a changes view in the right sidebar for the
checkout's local changes and for the diff of each change request.
- ForgePanelController reads local diffs in the branch, uncommitted,
unstaged, and staged scopes through Git in the Session's read-only
sandbox, change request diffs through the forge provider, and the text
of a changed file to expand unchanged lines. Change request patches stay
cached by head commit and base branch within maxCachedDiffBytes. A local
diff over maxDiffBytes fails as forgePanel/diff-too-large, and a provider
read over its output limit fails as too-large, which the view explains
with a link to the code host; a gh timeout fails as unavailable.
- forge adds the diff, fileText, and fileUrl provider methods and the
too-large failure code, and forge-github implements them with gh.
- The panel shows a local changes card that opens the view and asks the
Agent for a change request. The view collapses files past a line
budget, draws lines side by side or in one column with optional
wrapping, expands unchanged lines on request, and collapses or expands
every file from its toolbar; file headers use a bare chevron.
- The checkout row copies the worktree or project directory path, the
refresh glyph turns while a refresh runs, change request cards keep
their actions while collapsed, and the header entry uses the shared
compact button.
- client-ui-forge classifies changeRequestKey and FsError as
peer-required Host imports, which keeps forge and dsh-fs as its peers.
2026-10-20 13:34:27 +08:00
..
2026-09-21 08:24:18 +00:00
2026-10-12 14:15:56 +08:00
2026-10-12 16:07:23 +08:00
2026-10-20 11:49:51 +08:00
2026-10-17 14:02:01 +08:00
2026-09-23 19:16:59 +08:00
2026-10-11 22:16:47 +08:00
2026-08-29 15:31:12 +08:00
2026-09-25 21:59:34 +08:00
2026-09-25 21:59:34 +08:00
2026-09-22 21:14:06 +08:00
2026-10-15 03:56:26 +08:00
2026-08-29 20:19:38 +08:00
2026-09-28 16:04:06 +08:00
2026-09-12 22:04:16 +08:00
2026-09-12 21:30:51 +08:00
2026-10-06 23:48:59 +08:00
2026-09-23 19:16:59 +08:00
2026-10-09 15:52:59 +08:00
2026-10-09 15:52:59 +08:00
2026-10-01 03:02:51 +08:00
2026-10-01 03:02:51 +08:00
2026-10-07 13:51:48 +08:00
2026-10-08 15:06:19 +08:00
2026-10-18 00:28:33 +08:00
2026-10-18 00:28:33 +08:00
2026-10-08 15:06:19 +08:00
2026-10-10 13:12:10 +08:00
2026-10-18 14:29:23 +08:00
2026-10-18 14:29:23 +08:00
2026-10-14 02:19:42 -07:00
2026-10-06 16:42:25 +08:00
2026-09-03 11:16:34 +08:00
2026-10-18 00:28:33 +08:00
2026-10-19 19:46:13 +08:00
2026-10-15 23:33:49 +08:00
2026-09-07 12:41:23 +08:00
2026-10-19 11:12:07 +00:00
2026-09-28 15:42:08 +08:00
2026-09-28 15:42:08 +08:00
2026-10-18 15:06:16 +08:00
2026-10-18 15:31:23 +08:00
2026-10-14 16:22:56 +08:00
2026-10-19 13:51:40 +08:00
2026-10-15 23:33:49 +08:00
2026-10-18 14:29:23 +08:00
2026-10-18 14:29:23 +08:00
2026-08-24 22:02:44 +08:00
2026-10-15 16:47:43 +08:00
2026-09-21 08:24:18 +00:00
2026-09-13 15:17:06 +08:00
2026-09-08 22:31:16 +08:00
2026-09-23 22:32:06 +08:00
2026-10-08 14:55:10 +08:00
2026-10-08 14:55:10 +08:00
2026-10-11 03:28:22 +08:00
2026-10-08 19:59:17 +08:00
2026-10-08 14:55:10 +08:00
2026-10-08 14:55:10 +08:00
2026-09-13 15:13:59 +08:00
2026-08-27 23:14:31 +08:00
2026-10-15 14:03:50 +08:00
2026-10-15 17:40:38 +08:00
2026-10-07 14:07:28 +08:00
2026-10-11 18:19:23 +08:00
2026-10-11 22:16:47 +08:00
2026-10-19 16:58:59 +08:00
2026-10-19 21:53:59 +08:00
2026-10-03 06:33:11 +08:00
2026-10-03 06:33:11 +08:00
2026-10-18 14:29:23 +08:00
2026-09-23 19:16:59 +08:00
2026-10-08 15:06:19 +08:00
2026-10-08 15:06:19 +08:00
2026-10-06 16:42:25 +08:00
2026-10-19 19:46:13 +08:00
2026-10-06 16:41:04 +08:00
2026-10-12 11:06:54 +08:00
2026-10-12 11:06:54 +08:00
2026-09-23 16:11:44 +08:00
2026-10-13 23:03:15 +08:00
2026-10-12 12:03:37 +08:00
2026-10-15 18:18:58 +08:00
2026-10-20 13:34:27 +08:00
2026-09-17 23:23:48 +08:00
2026-09-12 17:06:38 +08:00
2026-09-12 17:06:38 +08:00
2026-10-12 11:06:54 +08:00
2026-10-20 11:49:51 +08:00
2026-09-23 22:32:06 +08:00
2026-10-07 01:26:00 +08:00
2026-10-07 01:26:00 +08:00
2026-10-05 18:09:01 +08:00
2026-09-21 21:28:35 +08:00
2026-09-06 02:05:27 +08:00
2026-09-16 22:00:38 +08:00
2026-10-18 00:28:33 +08:00
2026-10-18 00:28:33 +08:00
2026-10-19 11:21:16 +08:00
2026-09-23 22:32:06 +08:00
2026-09-30 12:52:18 +08:00
2026-09-30 12:52:18 +08:00
2026-09-13 14:47:56 +08:00
2026-09-13 14:47:56 +08:00
2026-10-18 14:29:23 +08:00
2026-10-18 14:29:23 +08:00
2026-09-17 00:12:27 +08:00
2026-09-25 22:19:27 +08:00
2026-09-26 22:56:57 +08:00
2026-09-28 14:18:03 +08:00
2026-09-23 08:32:15 +00:00
2026-09-23 08:32:15 +00:00
2026-09-23 08:32:15 +00:00
2026-09-09 13:16:09 +08:00
2026-09-21 00:04:06 +08:00
2026-09-21 00:04:06 +08:00
2026-10-07 14:07:28 +08:00
2026-10-07 14:07:28 +08:00
2026-10-15 18:19:27 +08:00
2026-10-12 11:06:53 +08:00
2026-10-12 11:06:53 +08:00
2026-10-09 15:10:49 +08:00
2026-10-09 15:10:49 +08:00
2026-09-19 20:00:11 +08:00
2026-09-19 20:00:11 +08:00
2026-10-15 11:30:45 +08:00
2026-09-12 20:56:26 +08:00
2026-09-12 20:56:26 +08:00
2026-10-20 11:49:51 +08:00
2026-09-30 23:20:22 +08:00
2026-10-20 13:34:27 +08:00
2026-08-29 14:26:42 +08:00
2026-08-23 16:28:19 +08:00
2026-10-12 11:06:50 +08:00
2026-10-12 11:06:50 +08:00
2026-10-12 11:06:53 +08:00
2026-10-05 08:57:58 +08:00
2026-10-05 18:09:01 +08:00
2026-10-08 20:26:57 +08:00
2026-10-08 20:26:57 +08:00
2026-10-08 20:26:57 +08:00
2026-10-08 20:26:57 +08:00
2026-10-08 20:26:57 +08:00
2026-09-13 12:19:46 +08:00
2026-09-13 12:19:46 +08:00
2026-09-25 01:09:44 +08:00
2026-10-08 20:26:57 +08:00
2026-10-08 20:26:57 +08:00
2026-09-13 12:08:08 +08:00
2026-10-08 20:26:57 +08:00
2026-10-08 20:26:57 +08:00
2026-09-18 19:05:32 +08:00
2026-09-25 01:09:44 +08:00
2026-09-25 01:09:44 +08:00
2026-10-08 20:26:57 +08:00
2026-09-25 01:09:44 +08:00
2026-09-18 19:05:32 +08:00
2026-09-13 12:08:08 +08:00
2026-09-18 19:07:12 +08:00
2026-10-18 00:28:33 +08:00
2026-10-06 16:42:25 +08:00
2026-10-06 16:42:25 +08:00
2026-09-19 11:39:05 +08:00
2026-09-23 19:16:59 +08:00
2026-10-11 22:16:47 +08:00
2026-10-09 15:46:42 +08:00
2026-09-30 12:52:18 +08:00
2026-09-15 16:15:11 +08:00
2026-10-15 23:33:49 +08:00
2026-10-14 14:43:59 +08:00
2026-10-14 14:43:59 +08:00
2026-09-30 12:52:18 +08:00
2026-10-09 15:52:59 +08:00
2026-10-06 10:52:35 +08:00
2026-09-18 19:05:32 +08:00
2026-09-18 19:05:32 +08:00
2026-10-12 11:06:53 +08:00
2026-10-12 11:06:53 +08:00
2026-09-18 19:08:11 +08:00
2026-09-12 22:25:10 +08:00
2026-10-16 21:30:57 +08:00
2026-10-07 21:04:13 +08:00
2026-09-28 13:37:20 +08:00
2026-10-15 23:33:49 +08:00
2026-10-15 23:33:49 +08:00
2026-10-07 21:20:08 +08:00
2026-10-07 21:20:08 +08:00
2026-10-12 11:06:50 +08:00
2026-10-12 11:06:50 +08:00
2026-09-21 22:41:17 +08:00
2026-09-20 13:09:14 +08:00
2026-09-19 20:13:58 +08:00
2026-09-17 16:48:06 +08:00
2026-10-09 19:14:55 +08:00
2026-10-09 19:14:55 +08:00
2026-10-13 14:10:56 +08:00
2026-09-17 14:06:14 +08:00
2026-10-17 13:28:17 +08:00
2026-08-29 11:50:13 +08:00
2026-09-17 16:48:06 +08:00
2026-09-08 13:52:08 +08:00
2026-09-09 14:46:41 +08:00
2026-09-09 14:46:41 +08:00
2026-09-06 22:44:54 +08:00
2026-09-06 22:16:00 +08:00
2026-09-22 21:44:39 +08:00
2026-10-08 18:25:43 +08:00
2026-10-08 18:25:43 +08:00
2026-09-30 12:52:18 +08:00
2026-09-01 11:01:05 +08:00
2026-10-05 12:07:57 +08:00
2026-10-12 11:06:53 +08:00
2026-09-23 22:32:06 +08:00
2026-10-12 11:06:53 +08:00
2026-09-29 10:34:29 +08:00
2026-10-12 11:06:53 +08:00
2026-10-05 17:45:17 +08:00
2026-08-24 21:37:14 +08:00
2026-09-17 16:00:36 +08:00
2026-10-12 11:06:53 +08:00
2026-10-12 11:06:53 +08:00
2026-10-20 13:34:27 +08:00
2026-10-18 14:29:23 +08:00
2026-10-12 11:06:56 +08:00
2026-09-20 15:50:41 +08:00
2026-09-20 15:50:41 +08:00
2026-09-12 20:56:26 +08:00
2026-09-12 20:56:26 +08:00
2026-09-18 20:06:44 +08:00
2026-09-30 23:20:22 +08:00
2026-09-01 20:22:05 +08:00
2026-09-04 16:23:37 +08:00
2026-09-23 22:32:06 +08:00
2026-09-23 22:32:06 +08:00
2026-09-21 08:24:18 +00:00
2026-10-19 21:30:07 +08:00
2026-10-19 21:30:07 +08:00
2026-10-19 11:15:00 +08:00
2026-10-19 11:15:00 +08:00
2026-10-12 11:06:53 +08:00
2026-10-12 11:06:53 +08:00
2026-10-12 11:06:53 +08:00
2026-08-24 22:02:44 +08:00
2026-08-24 22:02:44 +08:00
2026-09-01 21:15:04 +08:00
2026-09-01 21:15:04 +08:00
2026-10-15 03:56:25 +08:00
2026-10-15 03:56:25 +08:00
2026-09-19 20:13:58 +08:00
2026-09-19 20:13:58 +08:00
2026-09-28 16:04:06 +08:00
2026-09-28 16:18:09 +08:00
2026-10-20 13:34:27 +08:00
2026-10-15 03:56:26 +08:00
2026-10-09 17:58:18 +08:00
2026-10-09 17:58:18 +08:00
2026-09-17 00:12:27 +08:00
2026-09-17 00:12:27 +08:00
2026-10-12 11:06:53 +08:00
2026-10-20 11:49:51 +08:00
2026-09-08 13:52:40 +08:00
2026-09-08 13:52:40 +08:00
2026-10-20 12:02:57 +08:00
2026-10-20 12:02:57 +08:00
2026-10-07 21:27:38 +08:00
2026-10-07 01:26:00 +08:00
2026-09-12 18:37:56 +08:00
2026-10-12 11:06:56 +08:00
2026-10-12 11:06:56 +08:00
2026-09-23 19:16:59 +08:00
2026-09-23 19:16:59 +08:00
2026-09-23 19:16:59 +08:00
2026-09-23 19:16:59 +08:00
2026-08-23 16:02:32 +08:00
2026-10-06 16:41:04 +08:00
2026-10-12 11:06:53 +08:00
2026-10-12 11:06:53 +08:00
2026-09-29 10:34:29 +08:00
2026-09-29 10:34:29 +08:00
2026-09-19 15:43:10 +08:00
2026-09-19 15:43:09 +08:00
2026-09-22 21:44:39 +08:00
2026-09-21 00:04:06 +08:00
2026-09-21 00:04:06 +08:00
2026-10-06 16:42:25 +08:00
2026-09-12 20:56:26 +08:00
2026-10-15 17:52:13 +08:00
2026-10-19 11:12:07 +00:00
2026-10-12 17:50:31 +08:00
2026-10-12 17:46:09 +08:00