happy-stacks 0.4.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +64 -33
- package/bin/happys.mjs +44 -1
- package/docs/codex-mcp-resume.md +130 -0
- package/docs/commit-audits/happy/leeroy-wip.commit-analysis.md +17640 -0
- package/docs/commit-audits/happy/leeroy-wip.commit-export.fuller-stat.md +3845 -0
- package/docs/commit-audits/happy/leeroy-wip.commit-inventory.md +102 -0
- package/docs/commit-audits/happy/leeroy-wip.commit-manual-review.md +1452 -0
- package/docs/commit-audits/happy/leeroy-wip.manual-review-queue.md +116 -0
- package/docs/happy-development.md +1 -2
- package/docs/monorepo-migration.md +286 -0
- package/docs/server-flavors.md +19 -3
- package/docs/stacks.md +35 -0
- package/package.json +1 -1
- package/scripts/auth.mjs +21 -3
- package/scripts/build.mjs +1 -1
- package/scripts/dev.mjs +20 -7
- package/scripts/doctor.mjs +0 -4
- package/scripts/edison.mjs +2 -2
- package/scripts/env.mjs +150 -0
- package/scripts/env_cmd.test.mjs +128 -0
- package/scripts/init.mjs +5 -2
- package/scripts/install.mjs +99 -57
- package/scripts/migrate.mjs +3 -12
- package/scripts/monorepo.mjs +1096 -0
- package/scripts/monorepo_port.test.mjs +1470 -0
- package/scripts/review.mjs +715 -24
- package/scripts/review_pr.mjs +5 -20
- package/scripts/run.mjs +21 -15
- package/scripts/setup.mjs +147 -25
- package/scripts/setup_pr.mjs +19 -28
- package/scripts/stack.mjs +493 -157
- package/scripts/stack_archive_cmd.test.mjs +91 -0
- package/scripts/stack_editor_workspace_monorepo_root.test.mjs +65 -0
- package/scripts/stack_env_cmd.test.mjs +87 -0
- package/scripts/stack_happy_cmd.test.mjs +126 -0
- package/scripts/stack_interactive_monorepo_group.test.mjs +71 -0
- package/scripts/stack_monorepo_defaults.test.mjs +62 -0
- package/scripts/stack_monorepo_server_light_from_happy_spec.test.mjs +66 -0
- package/scripts/stack_server_flavors_defaults.test.mjs +55 -0
- package/scripts/stack_shorthand_cmd.test.mjs +55 -0
- package/scripts/stack_wt_list.test.mjs +128 -0
- package/scripts/tui.mjs +88 -2
- package/scripts/utils/cli/cli_registry.mjs +20 -5
- package/scripts/utils/cli/cwd_scope.mjs +56 -2
- package/scripts/utils/cli/cwd_scope.test.mjs +40 -7
- package/scripts/utils/cli/prereqs.mjs +8 -5
- package/scripts/utils/cli/prereqs.test.mjs +34 -0
- package/scripts/utils/cli/wizard.mjs +17 -9
- package/scripts/utils/cli/wizard_prompt_worktree_source_lazy.test.mjs +60 -0
- package/scripts/utils/dev/daemon.mjs +14 -1
- package/scripts/utils/dev/expo_dev.mjs +188 -4
- package/scripts/utils/dev/server.mjs +21 -17
- package/scripts/utils/edison/git_roots.mjs +29 -0
- package/scripts/utils/edison/git_roots.test.mjs +36 -0
- package/scripts/utils/env/env.mjs +7 -3
- package/scripts/utils/env/env_file.mjs +4 -2
- package/scripts/utils/env/env_file.test.mjs +44 -0
- package/scripts/utils/git/worktrees.mjs +63 -12
- package/scripts/utils/git/worktrees_monorepo.test.mjs +54 -0
- package/scripts/utils/net/tcp_forward.mjs +162 -0
- package/scripts/utils/paths/paths.mjs +118 -3
- package/scripts/utils/paths/paths_monorepo.test.mjs +58 -0
- package/scripts/utils/paths/paths_server_flavors.test.mjs +45 -0
- package/scripts/utils/proc/commands.mjs +2 -3
- package/scripts/utils/proc/pm.mjs +113 -16
- package/scripts/utils/proc/pm_spawn.test.mjs +76 -0
- package/scripts/utils/proc/pm_stack_cache_env.test.mjs +142 -0
- package/scripts/utils/proc/proc.mjs +68 -10
- package/scripts/utils/proc/proc.test.mjs +77 -0
- package/scripts/utils/review/chunks.mjs +55 -0
- package/scripts/utils/review/chunks.test.mjs +51 -0
- package/scripts/utils/review/findings.mjs +165 -0
- package/scripts/utils/review/findings.test.mjs +85 -0
- package/scripts/utils/review/head_slice.mjs +153 -0
- package/scripts/utils/review/head_slice.test.mjs +91 -0
- package/scripts/utils/review/instructions/deep.md +20 -0
- package/scripts/utils/review/runners/coderabbit.mjs +56 -14
- package/scripts/utils/review/runners/coderabbit.test.mjs +59 -0
- package/scripts/utils/review/runners/codex.mjs +32 -22
- package/scripts/utils/review/runners/codex.test.mjs +35 -0
- package/scripts/utils/review/slices.mjs +140 -0
- package/scripts/utils/review/slices.test.mjs +32 -0
- package/scripts/utils/server/flavor_scripts.mjs +98 -0
- package/scripts/utils/server/flavor_scripts.test.mjs +146 -0
- package/scripts/utils/server/prisma_import.mjs +37 -0
- package/scripts/utils/server/prisma_import.test.mjs +70 -0
- package/scripts/utils/server/ui_env.mjs +14 -0
- package/scripts/utils/server/ui_env.test.mjs +46 -0
- package/scripts/utils/server/validate.mjs +53 -16
- package/scripts/utils/server/validate.test.mjs +89 -0
- package/scripts/utils/stack/editor_workspace.mjs +4 -4
- package/scripts/utils/stack/interactive_stack_config.mjs +185 -0
- package/scripts/utils/stack/startup.mjs +113 -13
- package/scripts/utils/stack/startup_server_light_dirs.test.mjs +64 -0
- package/scripts/utils/stack/startup_server_light_generate.test.mjs +70 -0
- package/scripts/utils/stack/startup_server_light_legacy.test.mjs +88 -0
- package/scripts/utils/tailscale/ip.mjs +116 -0
- package/scripts/utils/ui/ansi.mjs +39 -0
- package/scripts/where.mjs +2 -2
- package/scripts/worktrees.mjs +627 -137
- package/scripts/worktrees_archive_cmd.test.mjs +245 -0
- package/scripts/worktrees_cursor_monorepo_root.test.mjs +63 -0
- package/scripts/worktrees_list_specs_no_recurse.test.mjs +33 -0
- package/scripts/worktrees_monorepo_use_group.test.mjs +67 -0
|
@@ -0,0 +1,3845 @@
|
|
|
1
|
+
# leeroy-wip commit export (full message + stats)
|
|
2
|
+
|
|
3
|
+
Generated: 2026-01-24
|
|
4
|
+
Worktree: /Users/leeroy/Documents/Development/happy-local/components/.worktrees/happy/slopus/tmp/leeroy-wip
|
|
5
|
+
Range: upstream/main..leeroy-wip
|
|
6
|
+
|
|
7
|
+
Command:
|
|
8
|
+
```bash
|
|
9
|
+
happys wt git happy slopus/tmp/leeroy-wip -- log --reverse --date=short --pretty=fuller --name-status --stat upstream/main..HEAD
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Output:
|
|
13
|
+
```text
|
|
14
|
+
commit 58528a7c37d3a4eea2874dbe1258c2626b88cd5e
|
|
15
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
16
|
+
AuthorDate: 2026-01-17
|
|
17
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
18
|
+
CommitDate: 2026-01-22
|
|
19
|
+
|
|
20
|
+
chore(crypto): patch react-native-libsodium
|
|
21
|
+
|
|
22
|
+
A expo-app/patches/@more-tech+react-native-libsodium+1.5.5.patch
|
|
23
|
+
|
|
24
|
+
commit 552b8da0f62129749a8dd96bc7cfba125e51c1f6
|
|
25
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
26
|
+
AuthorDate: 2026-01-17
|
|
27
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
28
|
+
CommitDate: 2026-01-22
|
|
29
|
+
|
|
30
|
+
test(deps): add @types/react-test-renderer
|
|
31
|
+
|
|
32
|
+
M expo-app/package.json
|
|
33
|
+
M expo-app/yarn.lock
|
|
34
|
+
|
|
35
|
+
commit 017b15c07ad75413718d9e734b8f40f2ce738ce7
|
|
36
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
37
|
+
AuthorDate: 2026-01-17
|
|
38
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
39
|
+
CommitDate: 2026-01-22
|
|
40
|
+
|
|
41
|
+
chore(config): harden app variant defaults
|
|
42
|
+
|
|
43
|
+
M expo-app/app.config.js
|
|
44
|
+
|
|
45
|
+
commit 4890a471df312191ae325d5691b61231097df078
|
|
46
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
47
|
+
AuthorDate: 2026-01-17
|
|
48
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
49
|
+
CommitDate: 2026-01-22
|
|
50
|
+
|
|
51
|
+
fix(auth): harden tokenStorage web persistence
|
|
52
|
+
|
|
53
|
+
A expo-app/sources/auth/tokenStorage.test.ts
|
|
54
|
+
M expo-app/sources/auth/tokenStorage.ts
|
|
55
|
+
|
|
56
|
+
commit 4adc41d92af05c1028bb6b7b81239a6279d13c29
|
|
57
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
58
|
+
AuthorDate: 2026-01-17
|
|
59
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
60
|
+
CommitDate: 2026-01-22
|
|
61
|
+
|
|
62
|
+
feat(sync): add permission mode types and mapping
|
|
63
|
+
|
|
64
|
+
A expo-app/sources/sync/permissionMapping.test.ts
|
|
65
|
+
A expo-app/sources/sync/permissionMapping.ts
|
|
66
|
+
A expo-app/sources/sync/permissionTypes.test.ts
|
|
67
|
+
A expo-app/sources/sync/permissionTypes.ts
|
|
68
|
+
|
|
69
|
+
commit a5fbc3e8ba00ba0f41b9af18ca0c6296414f5533
|
|
70
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
71
|
+
AuthorDate: 2026-01-17
|
|
72
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
73
|
+
CommitDate: 2026-01-22
|
|
74
|
+
|
|
75
|
+
feat(persistence): scope storage and validate draft modes
|
|
76
|
+
|
|
77
|
+
A expo-app/sources/sync/persistence.test.ts
|
|
78
|
+
M expo-app/sources/sync/persistence.ts
|
|
79
|
+
A expo-app/sources/utils/storageScope.test.ts
|
|
80
|
+
A expo-app/sources/utils/storageScope.ts
|
|
81
|
+
|
|
82
|
+
commit 18e77c46f38a2d336fb4e05d50aec3f4dcad5edd
|
|
83
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
84
|
+
AuthorDate: 2026-01-17
|
|
85
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
86
|
+
CommitDate: 2026-01-22
|
|
87
|
+
|
|
88
|
+
fix(session): clamp configurable model modes
|
|
89
|
+
|
|
90
|
+
M expo-app/sources/-session/SessionView.tsx
|
|
91
|
+
|
|
92
|
+
commit f7bb8a28fff741703bf1238ec039197272703dce
|
|
93
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
94
|
+
AuthorDate: 2026-01-17
|
|
95
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
96
|
+
CommitDate: 2026-01-22
|
|
97
|
+
|
|
98
|
+
fix(tools): harden ACP tool parsing and titles
|
|
99
|
+
|
|
100
|
+
M expo-app/sources/components/tools/knownTools.tsx
|
|
101
|
+
M expo-app/sources/components/tools/views/GeminiExecuteView.tsx
|
|
102
|
+
M expo-app/sources/sync/typesRaw.spec.ts
|
|
103
|
+
M expo-app/sources/sync/typesRaw.ts
|
|
104
|
+
|
|
105
|
+
commit 292424245277951fc1aa80149407b720b72db9ad
|
|
106
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
107
|
+
AuthorDate: 2026-01-17
|
|
108
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
109
|
+
CommitDate: 2026-01-22
|
|
110
|
+
|
|
111
|
+
refactor(sync): centralize outgoing message metadata
|
|
112
|
+
|
|
113
|
+
A expo-app/sources/sync/messageMeta.test.ts
|
|
114
|
+
A expo-app/sources/sync/messageMeta.ts
|
|
115
|
+
M expo-app/sources/sync/sync.ts
|
|
116
|
+
|
|
117
|
+
commit 39cc25154cddcfc43ed1c25dc4d126bd9d0137cd
|
|
118
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
119
|
+
AuthorDate: 2026-01-17
|
|
120
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
121
|
+
CommitDate: 2026-01-22
|
|
122
|
+
|
|
123
|
+
feat(storage): persist session model modes
|
|
124
|
+
|
|
125
|
+
M expo-app/sources/sync/serverConfig.ts
|
|
126
|
+
M expo-app/sources/sync/storage.ts
|
|
127
|
+
|
|
128
|
+
commit c2d3507357dc7ef150105ff56468ec2f580943f6
|
|
129
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
130
|
+
AuthorDate: 2026-01-17
|
|
131
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
132
|
+
CommitDate: 2026-01-22
|
|
133
|
+
|
|
134
|
+
fix(settings): make parsing tolerant for profiles
|
|
135
|
+
|
|
136
|
+
M expo-app/sources/sync/settings.spec.ts
|
|
137
|
+
M expo-app/sources/sync/settings.ts
|
|
138
|
+
M expo-app/sources/sync/sync.ts
|
|
139
|
+
|
|
140
|
+
commit 207ef1b2f57207ad67a08256a11b40863e9fba76
|
|
141
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
142
|
+
AuthorDate: 2026-01-17
|
|
143
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
144
|
+
CommitDate: 2026-01-22
|
|
145
|
+
|
|
146
|
+
fix(dev): gate CLI detection logging
|
|
147
|
+
|
|
148
|
+
M expo-app/sources/hooks/useCLIDetection.ts
|
|
149
|
+
M expo-app/sources/realtime/RealtimeVoiceSession.tsx
|
|
150
|
+
M expo-app/sources/realtime/RealtimeVoiceSession.web.tsx
|
|
151
|
+
|
|
152
|
+
commit 58a892d413d17670aa459491ca3e4c60024d894f
|
|
153
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
154
|
+
AuthorDate: 2026-01-17
|
|
155
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
156
|
+
CommitDate: 2026-01-22
|
|
157
|
+
|
|
158
|
+
fix(command-palette): include navigate dependency
|
|
159
|
+
|
|
160
|
+
M expo-app/sources/components/CommandPalette/CommandPaletteProvider.tsx
|
|
161
|
+
|
|
162
|
+
commit 41479b35415f4c4a725e7dc8887dccd78c1d38cd
|
|
163
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
164
|
+
AuthorDate: 2026-01-17
|
|
165
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
166
|
+
CommitDate: 2026-01-22
|
|
167
|
+
|
|
168
|
+
feat(env): add env var template parsing
|
|
169
|
+
|
|
170
|
+
M expo-app/sources/hooks/envVarUtils.ts
|
|
171
|
+
A expo-app/sources/utils/envVarTemplate.test.ts
|
|
172
|
+
A expo-app/sources/utils/envVarTemplate.ts
|
|
173
|
+
|
|
174
|
+
commit 695bcd09eb9e67184daa24e0815c895c4af6612d
|
|
175
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
176
|
+
AuthorDate: 2026-01-17
|
|
177
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
178
|
+
CommitDate: 2026-01-22
|
|
179
|
+
|
|
180
|
+
fix(env): improve remote env resolution and previews
|
|
181
|
+
|
|
182
|
+
M expo-app/sources/hooks/useEnvironmentVariables.test.ts
|
|
183
|
+
M expo-app/sources/hooks/useEnvironmentVariables.ts
|
|
184
|
+
M expo-app/sources/sync/ops.ts
|
|
185
|
+
M expo-app/sources/sync/settings.ts
|
|
186
|
+
|
|
187
|
+
commit 6cdb90a49aad04fbae4958cbcdf1fa57b2eda0b1
|
|
188
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
189
|
+
AuthorDate: 2026-01-17
|
|
190
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
191
|
+
CommitDate: 2026-01-22
|
|
192
|
+
|
|
193
|
+
feat(env): update env var list, cards, and preview modal
|
|
194
|
+
|
|
195
|
+
A expo-app/sources/components/EnvironmentVariableCard.test.ts
|
|
196
|
+
M expo-app/sources/components/EnvironmentVariableCard.tsx
|
|
197
|
+
A expo-app/sources/components/EnvironmentVariablesList.test.ts
|
|
198
|
+
M expo-app/sources/components/EnvironmentVariablesList.tsx
|
|
199
|
+
A expo-app/sources/components/newSession/EnvironmentVariablesPreviewModal.tsx
|
|
200
|
+
A expo-app/sources/components/newSession/ProfileCompatibilityIcon.tsx
|
|
201
|
+
|
|
202
|
+
commit 65bae55a0b61c4af5cd084945577a271a0c6cd9a
|
|
203
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
204
|
+
AuthorDate: 2026-01-17
|
|
205
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
206
|
+
CommitDate: 2026-01-22
|
|
207
|
+
|
|
208
|
+
refactor(i18n): separate translation types and content
|
|
209
|
+
|
|
210
|
+
M expo-app/sources/text/README.md
|
|
211
|
+
D expo-app/sources/text/_default.ts
|
|
212
|
+
A expo-app/sources/text/_types.ts
|
|
213
|
+
M expo-app/sources/text/index.ts
|
|
214
|
+
M expo-app/sources/text/translations/ca.ts
|
|
215
|
+
M expo-app/sources/text/translations/en.ts
|
|
216
|
+
M expo-app/sources/text/translations/es.ts
|
|
217
|
+
M expo-app/sources/text/translations/it.ts
|
|
218
|
+
M expo-app/sources/text/translations/ja.ts
|
|
219
|
+
M expo-app/sources/text/translations/pl.ts
|
|
220
|
+
M expo-app/sources/text/translations/pt.ts
|
|
221
|
+
M expo-app/sources/text/translations/ru.ts
|
|
222
|
+
M expo-app/sources/text/translations/zh-Hans.ts
|
|
223
|
+
M expo-app/sources/theme.css
|
|
224
|
+
|
|
225
|
+
commit 2993b5c860ffe5165867095b7ae5f5440f0a935c
|
|
226
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
227
|
+
AuthorDate: 2026-01-17
|
|
228
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
229
|
+
CommitDate: 2026-01-22
|
|
230
|
+
|
|
231
|
+
fix(new-session): restore standard modal flow
|
|
232
|
+
|
|
233
|
+
A expo-app/sources/__tests__/app/new/pick/path.test.ts
|
|
234
|
+
M expo-app/sources/app/(app)/_layout.tsx
|
|
235
|
+
M expo-app/sources/app/(app)/machine/[id].tsx
|
|
236
|
+
M expo-app/sources/app/(app)/new/index.tsx
|
|
237
|
+
M expo-app/sources/app/(app)/new/pick/machine.tsx
|
|
238
|
+
M expo-app/sources/app/(app)/new/pick/path.tsx
|
|
239
|
+
M expo-app/sources/app/(app)/new/pick/profile-edit.tsx
|
|
240
|
+
A expo-app/sources/app/(app)/new/pick/profile.tsx
|
|
241
|
+
M expo-app/sources/app/(app)/settings/features.tsx
|
|
242
|
+
M expo-app/sources/components/AgentInput.tsx
|
|
243
|
+
M expo-app/sources/components/SessionTypeSelector.tsx
|
|
244
|
+
A expo-app/sources/components/newSession/MachineSelector.tsx
|
|
245
|
+
A expo-app/sources/components/newSession/PathSelector.tsx
|
|
246
|
+
M expo-app/sources/components/newSession/ProfileCompatibilityIcon.tsx
|
|
247
|
+
A expo-app/sources/sync/modelOptions.ts
|
|
248
|
+
A expo-app/sources/utils/recentMachines.ts
|
|
249
|
+
A expo-app/sources/utils/recentPaths.ts
|
|
250
|
+
|
|
251
|
+
commit 9e08047d24789583f061743482c55ac30e591b28
|
|
252
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
253
|
+
AuthorDate: 2026-01-17
|
|
254
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
255
|
+
CommitDate: 2026-01-22
|
|
256
|
+
|
|
257
|
+
fix(profiles): harden routing, grouping, and editing
|
|
258
|
+
|
|
259
|
+
M expo-app/sources/app/(app)/session/[id]/info.tsx
|
|
260
|
+
M expo-app/sources/app/(app)/settings/profiles.tsx
|
|
261
|
+
M expo-app/sources/components/ProfileEditForm.tsx
|
|
262
|
+
M expo-app/sources/components/SettingsView.tsx
|
|
263
|
+
A expo-app/sources/components/profileActions.ts
|
|
264
|
+
A expo-app/sources/profileRouteParams.test.ts
|
|
265
|
+
A expo-app/sources/profileRouteParams.ts
|
|
266
|
+
A expo-app/sources/sync/profileGrouping.test.ts
|
|
267
|
+
A expo-app/sources/sync/profileGrouping.ts
|
|
268
|
+
A expo-app/sources/sync/profileMutations.ts
|
|
269
|
+
A expo-app/sources/sync/profileUtils.test.ts
|
|
270
|
+
M expo-app/sources/sync/profileUtils.ts
|
|
271
|
+
M expo-app/sources/sync/storageTypes.ts
|
|
272
|
+
|
|
273
|
+
commit 8d9f56e85e5a0abf2a7bdd9eec48c172dad5c110
|
|
274
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
275
|
+
AuthorDate: 2026-01-17
|
|
276
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
277
|
+
CommitDate: 2026-01-22
|
|
278
|
+
|
|
279
|
+
refactor(ui): unify list selectors and modal primitives
|
|
280
|
+
|
|
281
|
+
M expo-app/CONTRIBUTING.md
|
|
282
|
+
M expo-app/sources/app/(app)/settings/voice/language.tsx
|
|
283
|
+
M expo-app/sources/components/AgentInput.tsx
|
|
284
|
+
M expo-app/sources/components/Item.tsx
|
|
285
|
+
A expo-app/sources/components/ItemActionsMenuModal.tsx
|
|
286
|
+
A expo-app/sources/components/ItemGroup.dividers.test.ts
|
|
287
|
+
A expo-app/sources/components/ItemGroup.dividers.ts
|
|
288
|
+
A expo-app/sources/components/ItemGroup.selectableCount.test.ts
|
|
289
|
+
A expo-app/sources/components/ItemGroup.selectableCount.ts
|
|
290
|
+
M expo-app/sources/components/ItemGroup.tsx
|
|
291
|
+
A expo-app/sources/components/ItemRowActions.tsx
|
|
292
|
+
D expo-app/sources/components/NewSessionWizard.tsx
|
|
293
|
+
D expo-app/sources/components/PermissionModeSelector.tsx
|
|
294
|
+
A expo-app/sources/components/SearchHeader.tsx
|
|
295
|
+
M expo-app/sources/components/SearchableListSelector.tsx
|
|
296
|
+
A expo-app/sources/components/Switch.web.tsx
|
|
297
|
+
M expo-app/sources/modal/ModalManager.ts
|
|
298
|
+
M expo-app/sources/modal/components/BaseModal.tsx
|
|
299
|
+
M expo-app/sources/modal/components/CustomModal.tsx
|
|
300
|
+
M expo-app/sources/modal/components/WebAlertModal.tsx
|
|
301
|
+
M expo-app/sources/modal/types.ts
|
|
302
|
+
D expo-app/sources/sync/profileSync.ts
|
|
303
|
+
M expo-app/sources/sync/reducer/phase0-skipping.spec.ts
|
|
304
|
+
M expo-app/sources/theme.ts
|
|
305
|
+
A expo-app/sources/utils/ignoreNextRowPress.test.ts
|
|
306
|
+
A expo-app/sources/utils/ignoreNextRowPress.ts
|
|
307
|
+
A expo-app/sources/utils/promptUnsavedChangesAlert.test.ts
|
|
308
|
+
A expo-app/sources/utils/promptUnsavedChangesAlert.ts
|
|
309
|
+
|
|
310
|
+
commit 2ab560bb0535df6c77cd14b314748566e46732b4
|
|
311
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
312
|
+
AuthorDate: 2026-01-17
|
|
313
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
314
|
+
CommitDate: 2026-01-22
|
|
315
|
+
|
|
316
|
+
feat(cli-detection): add daemon detect-cli RPC support
|
|
317
|
+
|
|
318
|
+
M expo-app/sources/hooks/useCLIDetection.ts
|
|
319
|
+
M expo-app/sources/sync/ops.ts
|
|
320
|
+
|
|
321
|
+
commit 2d4675a5d051d623b18ca85f284e74c21197237d
|
|
322
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
323
|
+
AuthorDate: 2026-01-17
|
|
324
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
325
|
+
CommitDate: 2026-01-22
|
|
326
|
+
|
|
327
|
+
fix(agent-input): use compact permission badges
|
|
328
|
+
|
|
329
|
+
M expo-app/sources/components/AgentInput.tsx
|
|
330
|
+
|
|
331
|
+
commit d97924f3ef398638746919a3fee3675b0a12cee6
|
|
332
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
333
|
+
AuthorDate: 2026-01-18
|
|
334
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
335
|
+
CommitDate: 2026-01-22
|
|
336
|
+
|
|
337
|
+
chore(test): define __DEV__ for vitest
|
|
338
|
+
|
|
339
|
+
M expo-app/vitest.config.ts
|
|
340
|
+
|
|
341
|
+
commit 9c19baa833b91a7ac16bef710c18a19134e02ac2
|
|
342
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
343
|
+
AuthorDate: 2026-01-18
|
|
344
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
345
|
+
CommitDate: 2026-01-22
|
|
346
|
+
|
|
347
|
+
feat(settings): add api keys and experiment toggles
|
|
348
|
+
|
|
349
|
+
M expo-app/sources/profileRouteParams.ts
|
|
350
|
+
M expo-app/sources/sync/persistence.ts
|
|
351
|
+
M expo-app/sources/sync/settings.spec.ts
|
|
352
|
+
M expo-app/sources/sync/settings.ts
|
|
353
|
+
|
|
354
|
+
commit 21cc6df79f5099a3c72d264531999a5f46ee3956
|
|
355
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
356
|
+
AuthorDate: 2026-01-18
|
|
357
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
358
|
+
CommitDate: 2026-01-22
|
|
359
|
+
|
|
360
|
+
feat(api-keys): add saved API keys UI
|
|
361
|
+
|
|
362
|
+
A expo-app/sources/app/(app)/new/pick/api-key.tsx
|
|
363
|
+
A expo-app/sources/app/(app)/settings/api-keys.tsx
|
|
364
|
+
A expo-app/sources/components/ApiKeyAddModal.tsx
|
|
365
|
+
M expo-app/sources/components/SettingsView.tsx
|
|
366
|
+
A expo-app/sources/components/apiKeys/ApiKeysList.tsx
|
|
367
|
+
|
|
368
|
+
commit ce9cd74d408afdfaa0453123e4ad69bf03239cbb
|
|
369
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
370
|
+
AuthorDate: 2026-01-18
|
|
371
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
372
|
+
CommitDate: 2026-01-22
|
|
373
|
+
|
|
374
|
+
feat(machine): surface detected CLI status
|
|
375
|
+
|
|
376
|
+
M expo-app/sources/app/(app)/machine/[id].tsx
|
|
377
|
+
M expo-app/sources/components/SearchableListSelector.tsx
|
|
378
|
+
A expo-app/sources/components/machine/DetectedClisList.tsx
|
|
379
|
+
A expo-app/sources/components/machine/DetectedClisModal.tsx
|
|
380
|
+
A expo-app/sources/components/newSession/MachineCliGlyphs.tsx
|
|
381
|
+
M expo-app/sources/components/newSession/MachineSelector.tsx
|
|
382
|
+
M expo-app/sources/hooks/useCLIDetection.ts
|
|
383
|
+
A expo-app/sources/hooks/useMachineDetectCliCache.ts
|
|
384
|
+
M expo-app/sources/sync/ops.ts
|
|
385
|
+
|
|
386
|
+
commit 7899bbd8433ebc5a0ba9d97e00ef6cc11c88614c
|
|
387
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
388
|
+
AuthorDate: 2026-01-18
|
|
389
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
390
|
+
CommitDate: 2026-01-22
|
|
391
|
+
|
|
392
|
+
feat(profiles): add API key requirements flow
|
|
393
|
+
|
|
394
|
+
M expo-app/sources/app/(app)/settings/profiles.tsx
|
|
395
|
+
A expo-app/sources/components/ApiKeyRequirementModal.tsx
|
|
396
|
+
A expo-app/sources/components/OptionTiles.tsx
|
|
397
|
+
M expo-app/sources/components/ProfileEditForm.tsx
|
|
398
|
+
A expo-app/sources/components/ProfileRequirementsBadge.tsx
|
|
399
|
+
A expo-app/sources/components/profiles/ProfilesList.tsx
|
|
400
|
+
A expo-app/sources/components/profiles/profileListModel.test.ts
|
|
401
|
+
A expo-app/sources/components/profiles/profileListModel.ts
|
|
402
|
+
A expo-app/sources/hooks/useProfileEnvRequirements.ts
|
|
403
|
+
A expo-app/sources/sync/profileSecrets.ts
|
|
404
|
+
M expo-app/sources/sync/profileUtils.ts
|
|
405
|
+
|
|
406
|
+
commit 0023ba1ea5aa2a824b450e8b95812e30f5e6907e
|
|
407
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
408
|
+
AuthorDate: 2026-01-18
|
|
409
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
410
|
+
CommitDate: 2026-01-22
|
|
411
|
+
|
|
412
|
+
refactor(i18n): update translations and tooling
|
|
413
|
+
|
|
414
|
+
M expo-app/sources/scripts/compareTranslations.ts
|
|
415
|
+
A expo-app/sources/scripts/findUntranslatedLiterals.ts
|
|
416
|
+
M expo-app/sources/text/translations/ca.ts
|
|
417
|
+
M expo-app/sources/text/translations/en.ts
|
|
418
|
+
M expo-app/sources/text/translations/es.ts
|
|
419
|
+
M expo-app/sources/text/translations/it.ts
|
|
420
|
+
M expo-app/sources/text/translations/ja.ts
|
|
421
|
+
M expo-app/sources/text/translations/pl.ts
|
|
422
|
+
M expo-app/sources/text/translations/pt.ts
|
|
423
|
+
M expo-app/sources/text/translations/ru.ts
|
|
424
|
+
M expo-app/sources/text/translations/zh-Hans.ts
|
|
425
|
+
|
|
426
|
+
commit 12e75a3b36fa49aa4d91cedd8464e8afcb65e2a8
|
|
427
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
428
|
+
AuthorDate: 2026-01-18
|
|
429
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
430
|
+
CommitDate: 2026-01-22
|
|
431
|
+
|
|
432
|
+
fix(autocomplete): remove debug suggestion logs
|
|
433
|
+
|
|
434
|
+
M expo-app/sources/components/autocomplete/useActiveSuggestions.ts
|
|
435
|
+
|
|
436
|
+
commit 679877c26ea9b3a3eb250a60c8c425ce2aee7f84
|
|
437
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
438
|
+
AuthorDate: 2026-01-18
|
|
439
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
440
|
+
CommitDate: 2026-01-22
|
|
441
|
+
|
|
442
|
+
feat(settings): expose per-experiment toggles
|
|
443
|
+
|
|
444
|
+
M expo-app/sources/app/(app)/settings/features.tsx
|
|
445
|
+
|
|
446
|
+
commit 4dc9c7f8759c1f5f1713167ca0888b87463084b3
|
|
447
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
448
|
+
AuthorDate: 2026-01-18
|
|
449
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
450
|
+
CommitDate: 2026-01-22
|
|
451
|
+
|
|
452
|
+
feat(agent-input): add configurable action bar layout
|
|
453
|
+
|
|
454
|
+
M expo-app/sources/app/(app)/settings/appearance.tsx
|
|
455
|
+
M expo-app/sources/components/AgentInput.tsx
|
|
456
|
+
|
|
457
|
+
commit e8e42a6087add8e0c3713980c9497c59e34a3fa9
|
|
458
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
459
|
+
AuthorDate: 2026-01-18
|
|
460
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
461
|
+
CommitDate: 2026-01-22
|
|
462
|
+
|
|
463
|
+
fix(modal): prevent stacked modal touch-blocking on iOS
|
|
464
|
+
|
|
465
|
+
M expo-app/sources/app/(app)/_layout.tsx
|
|
466
|
+
M expo-app/sources/modal/ModalManager.ts
|
|
467
|
+
M expo-app/sources/modal/components/BaseModal.tsx
|
|
468
|
+
M expo-app/sources/modal/components/CustomModal.tsx
|
|
469
|
+
M expo-app/sources/modal/types.ts
|
|
470
|
+
|
|
471
|
+
commit daa0b4527d7fb9b2108c9fef395e835fea32caa2
|
|
472
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
473
|
+
AuthorDate: 2026-01-18
|
|
474
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
475
|
+
CommitDate: 2026-01-22
|
|
476
|
+
|
|
477
|
+
feat(new-session): add api key selection and wizard extraction
|
|
478
|
+
|
|
479
|
+
A expo-app/sources/app/(app)/new/NewSessionWizard.tsx
|
|
480
|
+
M expo-app/sources/app/(app)/new/index.tsx
|
|
481
|
+
M expo-app/sources/app/(app)/new/pick/profile.tsx
|
|
482
|
+
M expo-app/sources/components/newSession/ProfileCompatibilityIcon.tsx
|
|
483
|
+
|
|
484
|
+
commit 94814465bf81386c381971cd23b58b83874e5a15
|
|
485
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
486
|
+
AuthorDate: 2026-01-18
|
|
487
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
488
|
+
CommitDate: 2026-01-22
|
|
489
|
+
|
|
490
|
+
perf(sync): debounce pending settings writes
|
|
491
|
+
|
|
492
|
+
M expo-app/sources/sync/sync.ts
|
|
493
|
+
|
|
494
|
+
commit 7ffd0c3428cbbceb7df39396142100da8fd4841d
|
|
495
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
496
|
+
AuthorDate: 2026-01-18
|
|
497
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
498
|
+
CommitDate: 2026-01-22
|
|
499
|
+
|
|
500
|
+
fix(ui): localize error alerts
|
|
501
|
+
|
|
502
|
+
M expo-app/sources/hooks/useHappyAction.ts
|
|
503
|
+
|
|
504
|
+
commit 97ca69e0a735156301f1943a870e4220ed82296e
|
|
505
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
506
|
+
AuthorDate: 2026-01-18
|
|
507
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
508
|
+
CommitDate: 2026-01-22
|
|
509
|
+
|
|
510
|
+
refactor(i18n): replace remaining UI literals
|
|
511
|
+
|
|
512
|
+
M expo-app/sources/app/(app)/artifacts/[id].tsx
|
|
513
|
+
M expo-app/sources/app/(app)/restore/index.tsx
|
|
514
|
+
M expo-app/sources/app/(app)/restore/manual.tsx
|
|
515
|
+
M expo-app/sources/app/(app)/session/[id]/info.tsx
|
|
516
|
+
M expo-app/sources/app/(app)/settings/connect/claude.tsx
|
|
517
|
+
M expo-app/sources/components/ChatFooter.tsx
|
|
518
|
+
M expo-app/sources/components/CommandPalette/CommandPaletteResults.tsx
|
|
519
|
+
M expo-app/sources/components/CommandView.tsx
|
|
520
|
+
M expo-app/sources/components/ConnectButton.tsx
|
|
521
|
+
M expo-app/sources/components/EmptyMainScreen.tsx
|
|
522
|
+
M expo-app/sources/components/EmptyMessages.tsx
|
|
523
|
+
M expo-app/sources/components/EmptySessionsTablet.tsx
|
|
524
|
+
M expo-app/sources/components/MessageView.tsx
|
|
525
|
+
M expo-app/sources/components/OAuthView.tsx
|
|
526
|
+
M expo-app/sources/components/VoiceAssistantStatusBar.tsx
|
|
527
|
+
M expo-app/sources/components/markdown/MarkdownView.tsx
|
|
528
|
+
M expo-app/sources/components/markdown/MermaidRenderer.tsx
|
|
529
|
+
M expo-app/sources/components/usage/UsageChart.tsx
|
|
530
|
+
M expo-app/sources/utils/microphonePermissions.ts
|
|
531
|
+
|
|
532
|
+
commit 5f5b57df5181fdb2879d44c72e1d41b871c0e5ff
|
|
533
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
534
|
+
AuthorDate: 2026-01-18
|
|
535
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
536
|
+
CommitDate: 2026-01-22
|
|
537
|
+
|
|
538
|
+
refactor(ui): improve item rendering and action menu timing
|
|
539
|
+
|
|
540
|
+
M expo-app/sources/components/Item.tsx
|
|
541
|
+
M expo-app/sources/components/ItemActionsMenuModal.tsx
|
|
542
|
+
M expo-app/sources/components/ItemGroup.tsx
|
|
543
|
+
M expo-app/sources/components/ItemRowActions.tsx
|
|
544
|
+
M expo-app/sources/components/SessionsList.tsx
|
|
545
|
+
|
|
546
|
+
commit 7976b877259cac770f41537f44fa70e54df721a2
|
|
547
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
548
|
+
AuthorDate: 2026-01-18
|
|
549
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
550
|
+
CommitDate: 2026-01-22
|
|
551
|
+
|
|
552
|
+
feat(experiments): gate Zen, file viewer, and voice auth flow
|
|
553
|
+
|
|
554
|
+
M expo-app/sources/-session/SessionView.tsx
|
|
555
|
+
M expo-app/sources/-zen/ZenAdd.tsx
|
|
556
|
+
M expo-app/sources/-zen/ZenHome.tsx
|
|
557
|
+
M expo-app/sources/-zen/ZenView.tsx
|
|
558
|
+
M expo-app/sources/-zen/components/ZenHeader.tsx
|
|
559
|
+
M expo-app/sources/components/SidebarView.tsx
|
|
560
|
+
M expo-app/sources/realtime/RealtimeSession.ts
|
|
561
|
+
|
|
562
|
+
commit 6ed379f82c3497512316f23d15b2c2a0556a160e
|
|
563
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
564
|
+
AuthorDate: 2026-01-21
|
|
565
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
566
|
+
CommitDate: 2026-01-22
|
|
567
|
+
|
|
568
|
+
refactor(ui): add modal + popover overlay primitives
|
|
569
|
+
|
|
570
|
+
- Introduce shared web/native modal stacking primitives (Radix Dialog on web; app modal host on native).
|
|
571
|
+
|
|
572
|
+
- Add Popover + portal/spotlight infrastructure (OverlayPortal, ModalPortalTarget, ScrollEdgeFades) to prevent clipped menus and focus/scroll issues.
|
|
573
|
+
|
|
574
|
+
- Refactor Command Palette/item actions to use new overlay plumbing and remove legacy modal wrappers.
|
|
575
|
+
|
|
576
|
+
- Add targeted tests for modal provider/manager, BaseModal, Popover portal behavior, and overlay positioning.
|
|
577
|
+
|
|
578
|
+
A expo-app/sources/components/ActionListSection.tsx
|
|
579
|
+
A expo-app/sources/components/AgentInput.autocomplete.test.ts
|
|
580
|
+
M expo-app/sources/components/AgentInput.tsx
|
|
581
|
+
M expo-app/sources/components/AgentInputAutocomplete.tsx
|
|
582
|
+
M expo-app/sources/components/CommandPalette/CommandPalette.tsx
|
|
583
|
+
M expo-app/sources/components/CommandPalette/CommandPaletteInput.tsx
|
|
584
|
+
M expo-app/sources/components/CommandPalette/CommandPaletteItem.tsx
|
|
585
|
+
D expo-app/sources/components/CommandPalette/CommandPaletteModal.tsx
|
|
586
|
+
A expo-app/sources/components/ConnectionStatusControl.tsx
|
|
587
|
+
A expo-app/sources/components/FloatingOverlay.arrow.test.ts
|
|
588
|
+
M expo-app/sources/components/FloatingOverlay.tsx
|
|
589
|
+
M expo-app/sources/components/Item.tsx
|
|
590
|
+
D expo-app/sources/components/ItemActionsMenuModal.tsx
|
|
591
|
+
M expo-app/sources/components/ItemGroup.tsx
|
|
592
|
+
M expo-app/sources/components/ItemRowActions.tsx
|
|
593
|
+
A expo-app/sources/components/ModalPortalTarget.tsx
|
|
594
|
+
A expo-app/sources/components/OverlayPortal.tsx
|
|
595
|
+
A expo-app/sources/components/Popover.nativePortal.test.ts
|
|
596
|
+
A expo-app/sources/components/Popover.test.ts
|
|
597
|
+
A expo-app/sources/components/Popover.tsx
|
|
598
|
+
A expo-app/sources/components/PopoverBoundary.tsx
|
|
599
|
+
A expo-app/sources/components/ScrollEdgeFades.tsx
|
|
600
|
+
A expo-app/sources/components/ScrollEdgeIndicators.tsx
|
|
601
|
+
A expo-app/sources/components/SelectableRow.tsx
|
|
602
|
+
A expo-app/sources/components/dropdown/DropdownMenu.tsx
|
|
603
|
+
A expo-app/sources/components/dropdown/SelectableMenuResults.tsx
|
|
604
|
+
A expo-app/sources/components/dropdown/selectableMenuTypes.ts
|
|
605
|
+
A expo-app/sources/components/dropdown/useSelectableMenu.ts
|
|
606
|
+
A expo-app/sources/components/itemActions/types.ts
|
|
607
|
+
A expo-app/sources/components/useScrollEdgeFades.ts
|
|
608
|
+
A expo-app/sources/dev/reactNativeStub.ts
|
|
609
|
+
A expo-app/sources/modal/ModalManager.test.ts
|
|
610
|
+
M expo-app/sources/modal/ModalManager.ts
|
|
611
|
+
A expo-app/sources/modal/ModalProvider.test.ts
|
|
612
|
+
M expo-app/sources/modal/ModalProvider.tsx
|
|
613
|
+
A expo-app/sources/modal/components/BaseModal.test.ts
|
|
614
|
+
M expo-app/sources/modal/components/BaseModal.tsx
|
|
615
|
+
M expo-app/sources/modal/components/CustomModal.tsx
|
|
616
|
+
M expo-app/sources/modal/components/WebAlertModal.tsx
|
|
617
|
+
M expo-app/sources/modal/components/WebPromptModal.tsx
|
|
618
|
+
A expo-app/sources/utils/radixCjs.ts
|
|
619
|
+
A expo-app/sources/utils/reactDomCjs.ts
|
|
620
|
+
M expo-app/vitest.config.ts
|
|
621
|
+
|
|
622
|
+
commit f0787de5308e51a4898087bad56b83d387196116
|
|
623
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
624
|
+
AuthorDate: 2026-01-21
|
|
625
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
626
|
+
CommitDate: 2026-01-22
|
|
627
|
+
|
|
628
|
+
feat(sync): add secrets + terminal settings primitives
|
|
629
|
+
|
|
630
|
+
- Add encrypted-at-rest SecretString plumbing and saved secrets/settings schemas (no plaintext persisted).
|
|
631
|
+
|
|
632
|
+
- Introduce terminal/tmux settings types and helpers (global + per-machine overrides) plus spawn payload utilities.
|
|
633
|
+
|
|
634
|
+
- Add platform crypto shims for vitest/node and extend sync + encryption utilities to support these flows.
|
|
635
|
+
|
|
636
|
+
- Add focused tests for secret sealing/decryption, secret satisfaction, spawn payload construction, terminal settings resolution, and detect-cli response parsing.
|
|
637
|
+
|
|
638
|
+
M expo-app/sources/encryption/aes.appspec.ts
|
|
639
|
+
M expo-app/sources/encryption/base64.appspec.ts
|
|
640
|
+
M expo-app/sources/encryption/hmac_sha512.ts
|
|
641
|
+
M expo-app/sources/encryption/libsodium.ts
|
|
642
|
+
A expo-app/sources/platform/cryptoRandom.node.ts
|
|
643
|
+
A expo-app/sources/platform/cryptoRandom.ts
|
|
644
|
+
A expo-app/sources/platform/digest.node.ts
|
|
645
|
+
A expo-app/sources/platform/digest.ts
|
|
646
|
+
A expo-app/sources/platform/hmacSha512.node.ts
|
|
647
|
+
A expo-app/sources/platform/hmacSha512.ts
|
|
648
|
+
A expo-app/sources/platform/randomUUID.node.ts
|
|
649
|
+
A expo-app/sources/platform/randomUUID.ts
|
|
650
|
+
M expo-app/sources/profileRouteParams.ts
|
|
651
|
+
M expo-app/sources/sync/apiArtifacts.ts
|
|
652
|
+
M expo-app/sources/sync/apiFeed.ts
|
|
653
|
+
M expo-app/sources/sync/apiFriends.ts
|
|
654
|
+
M expo-app/sources/sync/apiGithub.ts
|
|
655
|
+
M expo-app/sources/sync/apiKv.ts
|
|
656
|
+
M expo-app/sources/sync/apiPush.ts
|
|
657
|
+
M expo-app/sources/sync/apiServices.ts
|
|
658
|
+
M expo-app/sources/sync/apiSocket.ts
|
|
659
|
+
M expo-app/sources/sync/apiUsage.ts
|
|
660
|
+
A expo-app/sources/sync/debugSettings.ts
|
|
661
|
+
A expo-app/sources/sync/detectCliResponse.test.ts
|
|
662
|
+
A expo-app/sources/sync/detectCliResponse.ts
|
|
663
|
+
M expo-app/sources/sync/encryption/artifactEncryption.ts
|
|
664
|
+
M expo-app/sources/sync/encryption/encryption.ts
|
|
665
|
+
M expo-app/sources/sync/encryption/encryptor.appspec.ts
|
|
666
|
+
A expo-app/sources/sync/ops.spawnSessionPayload.test.ts
|
|
667
|
+
M expo-app/sources/sync/ops.ts
|
|
668
|
+
M expo-app/sources/sync/persistence.test.ts
|
|
669
|
+
M expo-app/sources/sync/persistence.ts
|
|
670
|
+
M expo-app/sources/sync/profileGrouping.test.ts
|
|
671
|
+
M expo-app/sources/sync/profileMutations.ts
|
|
672
|
+
M expo-app/sources/sync/profileSecrets.ts
|
|
673
|
+
M expo-app/sources/sync/profileUtils.ts
|
|
674
|
+
M expo-app/sources/sync/reducer/reducer.spec.ts
|
|
675
|
+
M expo-app/sources/sync/reducer/reducer.ts
|
|
676
|
+
A expo-app/sources/sync/secretBindings.test.ts
|
|
677
|
+
A expo-app/sources/sync/secretBindings.ts
|
|
678
|
+
A expo-app/sources/sync/secretSettings.test.ts
|
|
679
|
+
A expo-app/sources/sync/secretSettings.ts
|
|
680
|
+
M expo-app/sources/sync/settings.spec.ts
|
|
681
|
+
M expo-app/sources/sync/settings.ts
|
|
682
|
+
A expo-app/sources/sync/spawnSessionPayload.ts
|
|
683
|
+
M expo-app/sources/sync/storage.ts
|
|
684
|
+
A expo-app/sources/sync/storageTypes.terminal.test.ts
|
|
685
|
+
M expo-app/sources/sync/storageTypes.ts
|
|
686
|
+
M expo-app/sources/sync/sync.ts
|
|
687
|
+
A expo-app/sources/sync/terminalSettings.spec.ts
|
|
688
|
+
A expo-app/sources/sync/terminalSettings.ts
|
|
689
|
+
M expo-app/sources/utils/errors.ts
|
|
690
|
+
M expo-app/sources/utils/oauth.ts
|
|
691
|
+
A expo-app/sources/utils/secretSatisfaction.test.ts
|
|
692
|
+
A expo-app/sources/utils/secretSatisfaction.ts
|
|
693
|
+
M expo-app/sources/utils/sync.ts
|
|
694
|
+
M expo-app/sources/utils/tempDataStore.ts
|
|
695
|
+
A expo-app/sources/utils/terminalSessionDetails.test.ts
|
|
696
|
+
A expo-app/sources/utils/terminalSessionDetails.ts
|
|
697
|
+
M expo-app/sources/utils/time.ts
|
|
698
|
+
|
|
699
|
+
commit 66ee1eaf88a68f1cfb742958ff06521f9a83cf97
|
|
700
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
701
|
+
AuthorDate: 2026-01-21
|
|
702
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
703
|
+
CommitDate: 2026-01-22
|
|
704
|
+
|
|
705
|
+
feat(secrets): add secrets management + requirement resolver
|
|
706
|
+
|
|
707
|
+
- Replace legacy API key settings with encrypted-at-rest Secrets (saved secrets + session-only entry).
|
|
708
|
+
|
|
709
|
+
- Add SecretRequirementModal flow (use machine env / select saved / enter once) and improve profile requirements UX.
|
|
710
|
+
|
|
711
|
+
- Update env-var UI to handle sensitive/forced-sensitive values and improve disclosure controls.
|
|
712
|
+
|
|
713
|
+
- Extend i18n + theme tokens for the new secrets and requirements UI.
|
|
714
|
+
|
|
715
|
+
M expo-app/sources/app/(app)/settings/features.tsx
|
|
716
|
+
M expo-app/sources/app/(app)/settings/profiles.tsx
|
|
717
|
+
R055 expo-app/sources/app/(app)/settings/api-keys.tsx expo-app/sources/app/(app)/settings/secrets.tsx
|
|
718
|
+
D expo-app/sources/components/ApiKeyRequirementModal.tsx
|
|
719
|
+
M expo-app/sources/components/EnvironmentVariableCard.tsx
|
|
720
|
+
M expo-app/sources/components/EnvironmentVariablesList.test.ts
|
|
721
|
+
M expo-app/sources/components/EnvironmentVariablesList.tsx
|
|
722
|
+
M expo-app/sources/components/ProfileEditForm.tsx
|
|
723
|
+
M expo-app/sources/components/ProfileRequirementsBadge.tsx
|
|
724
|
+
A expo-app/sources/components/SecretRequirementModal.tsx
|
|
725
|
+
M expo-app/sources/components/profileActions.ts
|
|
726
|
+
M expo-app/sources/components/profiles/ProfilesList.tsx
|
|
727
|
+
A expo-app/sources/components/profiles/profileDisplay.ts
|
|
728
|
+
R092 expo-app/sources/components/ApiKeyAddModal.tsx expo-app/sources/components/secrets/SecretAddModal.tsx
|
|
729
|
+
R060 expo-app/sources/components/apiKeys/ApiKeysList.tsx expo-app/sources/components/secrets/SecretsList.tsx
|
|
730
|
+
A expo-app/sources/hooks/useEnvironmentVariables.hook.test.ts
|
|
731
|
+
M expo-app/sources/hooks/useEnvironmentVariables.ts
|
|
732
|
+
A expo-app/sources/hooks/useMachineEnvPresence.ts
|
|
733
|
+
M expo-app/sources/hooks/useProfileEnvRequirements.ts
|
|
734
|
+
M expo-app/sources/text/translations/ca.ts
|
|
735
|
+
M expo-app/sources/text/translations/en.ts
|
|
736
|
+
M expo-app/sources/text/translations/es.ts
|
|
737
|
+
M expo-app/sources/text/translations/it.ts
|
|
738
|
+
M expo-app/sources/text/translations/ja.ts
|
|
739
|
+
M expo-app/sources/text/translations/pl.ts
|
|
740
|
+
M expo-app/sources/text/translations/pt.ts
|
|
741
|
+
M expo-app/sources/text/translations/ru.ts
|
|
742
|
+
M expo-app/sources/text/translations/zh-Hans.ts
|
|
743
|
+
M expo-app/sources/theme.ts
|
|
744
|
+
|
|
745
|
+
commit bdaf6913141f58774c1b2b2aeca4ace3e8633531
|
|
746
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
747
|
+
AuthorDate: 2026-01-21
|
|
748
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
749
|
+
CommitDate: 2026-01-22
|
|
750
|
+
|
|
751
|
+
feat(terminal): add Terminal settings + tmux metadata
|
|
752
|
+
|
|
753
|
+
- Add Terminal settings screen with tmux options (session name, isolated server, tmp dir) and keep /settings/tmux as a backward-compatible alias.
|
|
754
|
+
|
|
755
|
+
- Update Settings entry to Terminal and show enabled/disabled subtitle based on terminalUseTmux.
|
|
756
|
+
|
|
757
|
+
- Extend CLI detection hook to include tmux availability and display it on machine details.
|
|
758
|
+
|
|
759
|
+
- Surface tmux attach target + fallback reason in session details for debugging/resume workflows.
|
|
760
|
+
|
|
761
|
+
M expo-app/sources/app/(app)/machine/[id].tsx
|
|
762
|
+
M expo-app/sources/app/(app)/session/[id]/info.tsx
|
|
763
|
+
A expo-app/sources/app/(app)/settings/terminal.tsx
|
|
764
|
+
A expo-app/sources/app/(app)/settings/tmux.tsx
|
|
765
|
+
M expo-app/sources/components/SettingsView.tsx
|
|
766
|
+
M expo-app/sources/components/machine/DetectedClisList.tsx
|
|
767
|
+
A expo-app/sources/hooks/useCLIDetection.hook.test.ts
|
|
768
|
+
M expo-app/sources/hooks/useCLIDetection.ts
|
|
769
|
+
|
|
770
|
+
commit bc779e4f7909eeeb1725b5352860d024961a0dba
|
|
771
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
772
|
+
AuthorDate: 2026-01-21
|
|
773
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
774
|
+
CommitDate: 2026-01-22
|
|
775
|
+
|
|
776
|
+
refactor(new-session): integrate secrets + terminal spawn options
|
|
777
|
+
|
|
778
|
+
- Wire secret requirement resolution into the new session wizard (saved secrets, machine env, and session-only values).
|
|
779
|
+
|
|
780
|
+
- Use centralized terminal spawn option resolution for tmux requests and surface tmux-not-detected banners during machine selection.
|
|
781
|
+
|
|
782
|
+
- Update supporting screens/components (new session pickers, sidebar/main view, auth prompts) to match the new flows.
|
|
783
|
+
|
|
784
|
+
M expo-app/sources/-zen/model/ops.ts
|
|
785
|
+
M expo-app/sources/app/(app)/dev/messages-demo-data.ts
|
|
786
|
+
M expo-app/sources/app/(app)/dev/todo-demo.tsx
|
|
787
|
+
M expo-app/sources/app/(app)/friends/search.tsx
|
|
788
|
+
M expo-app/sources/app/(app)/index.tsx
|
|
789
|
+
M expo-app/sources/app/(app)/new/NewSessionWizard.tsx
|
|
790
|
+
M expo-app/sources/app/(app)/new/index.tsx
|
|
791
|
+
M expo-app/sources/app/(app)/new/pick/machine.tsx
|
|
792
|
+
M expo-app/sources/app/(app)/new/pick/profile-edit.tsx
|
|
793
|
+
M expo-app/sources/app/(app)/new/pick/profile.tsx
|
|
794
|
+
R058 expo-app/sources/app/(app)/new/pick/api-key.tsx expo-app/sources/app/(app)/new/pick/secret.tsx
|
|
795
|
+
M expo-app/sources/auth/authChallenge.ts
|
|
796
|
+
M expo-app/sources/auth/authQRStart.ts
|
|
797
|
+
M expo-app/sources/components/MainView.tsx
|
|
798
|
+
M expo-app/sources/components/OptionTiles.tsx
|
|
799
|
+
M expo-app/sources/components/SidebarView.tsx
|
|
800
|
+
M expo-app/sources/hooks/useSearch.ts
|
|
801
|
+
|
|
802
|
+
commit cb11d4bdb25a6423f156dd0f9b859b5fbf603857
|
|
803
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
804
|
+
AuthorDate: 2026-01-21
|
|
805
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
806
|
+
CommitDate: 2026-01-22
|
|
807
|
+
|
|
808
|
+
docs: add AGENTS.md symlink + update CLAUDE.md
|
|
809
|
+
|
|
810
|
+
- Keep agent guidance single-sourced by symlinking AGENTS.md -> CLAUDE.md.
|
|
811
|
+
|
|
812
|
+
- Update CLAUDE.md to reflect current test runner and document modal/popover + settings/secret invariants.
|
|
813
|
+
|
|
814
|
+
A expo-app/AGENTS.md
|
|
815
|
+
M expo-app/CLAUDE.md
|
|
816
|
+
|
|
817
|
+
commit 1bc3b971577664fc1f3d1f84a490c8054358c230
|
|
818
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
819
|
+
AuthorDate: 2026-01-21
|
|
820
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
821
|
+
CommitDate: 2026-01-22
|
|
822
|
+
|
|
823
|
+
fix(sync): handle non-JSON 400 responses
|
|
824
|
+
|
|
825
|
+
A expo-app/sources/sync/apiGithub.test.ts
|
|
826
|
+
M expo-app/sources/sync/apiGithub.ts
|
|
827
|
+
|
|
828
|
+
commit ea2e4d19d63370180f5558093ab3df1b9fb2f75b
|
|
829
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
830
|
+
AuthorDate: 2026-01-21
|
|
831
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
832
|
+
CommitDate: 2026-01-22
|
|
833
|
+
|
|
834
|
+
chore(deps): align react-test-renderer with react
|
|
835
|
+
|
|
836
|
+
M expo-app/package.json
|
|
837
|
+
M expo-app/yarn.lock
|
|
838
|
+
|
|
839
|
+
commit dd041d21ecfc38b571011972a08b8532e5fe499f
|
|
840
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
841
|
+
AuthorDate: 2026-01-21
|
|
842
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
843
|
+
CommitDate: 2026-01-22
|
|
844
|
+
|
|
845
|
+
fix(sync): guard JSON parsing on disconnect errors
|
|
846
|
+
|
|
847
|
+
M expo-app/sources/sync/apiGithub.test.ts
|
|
848
|
+
M expo-app/sources/sync/apiGithub.ts
|
|
849
|
+
A expo-app/sources/sync/apiServices.test.ts
|
|
850
|
+
M expo-app/sources/sync/apiServices.ts
|
|
851
|
+
|
|
852
|
+
commit 395da4ff31674675c93d443626d50d3baa3f99ed
|
|
853
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
854
|
+
AuthorDate: 2026-01-21
|
|
855
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
856
|
+
CommitDate: 2026-01-22
|
|
857
|
+
|
|
858
|
+
refactor(zen): avoid todo variable shadowing
|
|
859
|
+
|
|
860
|
+
M expo-app/sources/-zen/ZenHome.tsx
|
|
861
|
+
|
|
862
|
+
commit 2e956f32f2200c1eb8199efc51ce1b443bf20e81
|
|
863
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
864
|
+
AuthorDate: 2026-01-21
|
|
865
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
866
|
+
CommitDate: 2026-01-22
|
|
867
|
+
|
|
868
|
+
fix(new): keep pick screens above iOS modal
|
|
869
|
+
|
|
870
|
+
A expo-app/sources/__tests__/app/new/pick/machine.presentation.test.ts
|
|
871
|
+
A expo-app/sources/__tests__/app/new/pick/path.presentation.test.ts
|
|
872
|
+
A expo-app/sources/__tests__/app/new/pick/profile-edit.headerButtons.test.ts
|
|
873
|
+
A expo-app/sources/__tests__/app/new/pick/profile.presentation.test.ts
|
|
874
|
+
A expo-app/sources/__tests__/app/new/pick/secret.presentation.test.ts
|
|
875
|
+
A expo-app/sources/__tests__/app/settings/profiles.nativeNavigation.test.ts
|
|
876
|
+
M expo-app/sources/app/(app)/_layout.tsx
|
|
877
|
+
M expo-app/sources/app/(app)/new/pick/machine.tsx
|
|
878
|
+
M expo-app/sources/app/(app)/new/pick/path.tsx
|
|
879
|
+
M expo-app/sources/app/(app)/new/pick/profile-edit.tsx
|
|
880
|
+
M expo-app/sources/app/(app)/new/pick/profile.tsx
|
|
881
|
+
M expo-app/sources/app/(app)/new/pick/secret.tsx
|
|
882
|
+
M expo-app/sources/app/(app)/settings/profiles.tsx
|
|
883
|
+
|
|
884
|
+
commit 2da2f9349ec5f50932cd3c2834c7b6c2fd0db16f
|
|
885
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
886
|
+
AuthorDate: 2026-01-21
|
|
887
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
888
|
+
CommitDate: 2026-01-22
|
|
889
|
+
|
|
890
|
+
fix(popover): allow web fixed positioning types
|
|
891
|
+
|
|
892
|
+
M expo-app/sources/components/Popover.tsx
|
|
893
|
+
|
|
894
|
+
commit 43f23f2f082e149eb2d5d29b43b5c7461eaa5e40
|
|
895
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
896
|
+
AuthorDate: 2026-01-21
|
|
897
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
898
|
+
CommitDate: 2026-01-22
|
|
899
|
+
|
|
900
|
+
chore(format): replace stray tabs with spaces
|
|
901
|
+
|
|
902
|
+
M expo-app/sources/components/SearchHeader.tsx
|
|
903
|
+
M expo-app/sources/sync/settings.spec.ts
|
|
904
|
+
|
|
905
|
+
commit e1d55fdbd9ee31fb9bb80ce1a65643bef5890d44
|
|
906
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
907
|
+
AuthorDate: 2026-01-21
|
|
908
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
909
|
+
CommitDate: 2026-01-22
|
|
910
|
+
|
|
911
|
+
fix(i18n): improve untranslated literal scan parsing
|
|
912
|
+
|
|
913
|
+
M expo-app/sources/scripts/findUntranslatedLiterals.ts
|
|
914
|
+
|
|
915
|
+
commit c210c111559885f1206dc836e7c13c9e1cf2bd45
|
|
916
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
917
|
+
AuthorDate: 2026-01-21
|
|
918
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
919
|
+
CommitDate: 2026-01-22
|
|
920
|
+
|
|
921
|
+
test(sync): restore stubbed fetch between tests
|
|
922
|
+
|
|
923
|
+
M expo-app/sources/sync/apiGithub.test.ts
|
|
924
|
+
|
|
925
|
+
commit 66c6784513355e763d09dcfc530c09348c1c3a70
|
|
926
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
927
|
+
AuthorDate: 2026-01-21
|
|
928
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
929
|
+
CommitDate: 2026-01-22
|
|
930
|
+
|
|
931
|
+
fix(ui): apply small review fixes
|
|
932
|
+
|
|
933
|
+
M expo-app/sources/-session/SessionView.tsx
|
|
934
|
+
M expo-app/sources/app/(app)/new/pick/machine.tsx
|
|
935
|
+
M expo-app/sources/app/(app)/settings/terminal.tsx
|
|
936
|
+
M expo-app/sources/components/ConnectionStatusControl.tsx
|
|
937
|
+
M expo-app/sources/components/OptionTiles.tsx
|
|
938
|
+
M expo-app/sources/components/SettingsView.tsx
|
|
939
|
+
M expo-app/sources/components/dropdown/DropdownMenu.tsx
|
|
940
|
+
M expo-app/sources/utils/sync.ts
|
|
941
|
+
|
|
942
|
+
commit 2472b376775cf1ba60b0af98e7abcda7299defba
|
|
943
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
944
|
+
AuthorDate: 2026-01-21
|
|
945
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
946
|
+
CommitDate: 2026-01-22
|
|
947
|
+
|
|
948
|
+
test(modal): make backdrop z-index assertion safer
|
|
949
|
+
|
|
950
|
+
M expo-app/sources/modal/ModalProvider.test.ts
|
|
951
|
+
|
|
952
|
+
commit 02450d179aaf75c109ab7b7a387bf1bfc93c2805
|
|
953
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
954
|
+
AuthorDate: 2026-01-21
|
|
955
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
956
|
+
CommitDate: 2026-01-22
|
|
957
|
+
|
|
958
|
+
fix(profiles): align experimentsEnabled for built-in profiles
|
|
959
|
+
|
|
960
|
+
M expo-app/sources/components/profiles/ProfilesList.tsx
|
|
961
|
+
|
|
962
|
+
commit ff7bec72358f73e2cc5e0e816317e688d31aaabf
|
|
963
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
964
|
+
AuthorDate: 2026-01-21
|
|
965
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
966
|
+
CommitDate: 2026-01-22
|
|
967
|
+
|
|
968
|
+
fix(secrets): tighten callback deps and fix indentation
|
|
969
|
+
|
|
970
|
+
M expo-app/sources/components/secrets/SecretsList.tsx
|
|
971
|
+
|
|
972
|
+
commit 1bb65f5dd494e7d8d14533d6623dd2cdbabd0283
|
|
973
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
974
|
+
AuthorDate: 2026-01-21
|
|
975
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
976
|
+
CommitDate: 2026-01-22
|
|
977
|
+
|
|
978
|
+
fix(new-session): avoid stuck secret requirement modal guard
|
|
979
|
+
|
|
980
|
+
M expo-app/sources/app/(app)/new/index.tsx
|
|
981
|
+
|
|
982
|
+
commit f7f81497444d9547c9e077e3ad45c41a3293c2a2
|
|
983
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
984
|
+
AuthorDate: 2026-01-21
|
|
985
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
986
|
+
CommitDate: 2026-01-22
|
|
987
|
+
|
|
988
|
+
fix(modal): prevent non-dismissible WebAlertModal
|
|
989
|
+
|
|
990
|
+
M expo-app/sources/__tests__/app/new/pick/machine.presentation.test.ts
|
|
991
|
+
A expo-app/sources/components/ConnectionStatusControl.popover.test.ts
|
|
992
|
+
M expo-app/sources/components/ConnectionStatusControl.tsx
|
|
993
|
+
M expo-app/sources/components/Popover.test.ts
|
|
994
|
+
M expo-app/sources/components/Popover.tsx
|
|
995
|
+
M expo-app/sources/modal/components/WebAlertModal.tsx
|
|
996
|
+
|
|
997
|
+
commit bb09f91de71568e402517d526a2f068f01cc555d
|
|
998
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
999
|
+
AuthorDate: 2026-01-22
|
|
1000
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1001
|
+
CommitDate: 2026-01-22
|
|
1002
|
+
|
|
1003
|
+
fix(settings): keep valid secrets when one entry is invalid
|
|
1004
|
+
|
|
1005
|
+
M expo-app/sources/sync/settings.spec.ts
|
|
1006
|
+
M expo-app/sources/sync/settings.ts
|
|
1007
|
+
|
|
1008
|
+
commit 765423af52b457cf6ca83ae52cf10301568f4a9c
|
|
1009
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1010
|
+
AuthorDate: 2026-01-22
|
|
1011
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1012
|
+
CommitDate: 2026-01-22
|
|
1013
|
+
|
|
1014
|
+
fix(agent-input): cycle permission mode from normalized state
|
|
1015
|
+
|
|
1016
|
+
M expo-app/sources/components/AgentInput.tsx
|
|
1017
|
+
M expo-app/sources/sync/permissionTypes.test.ts
|
|
1018
|
+
M expo-app/sources/sync/permissionTypes.ts
|
|
1019
|
+
|
|
1020
|
+
commit e533db1813a54a9f6901b133b10e6d848e091ac3
|
|
1021
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1022
|
+
AuthorDate: 2026-01-22
|
|
1023
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1024
|
+
CommitDate: 2026-01-22
|
|
1025
|
+
|
|
1026
|
+
fix(popover): add screens cjs helper and fix fixed positioning types
|
|
1027
|
+
|
|
1028
|
+
M expo-app/sources/components/Popover.tsx
|
|
1029
|
+
A expo-app/sources/utils/reactNativeScreensCjs.ts
|
|
1030
|
+
|
|
1031
|
+
commit 2ed3100311c722a476844f6c6cbcc6a3cb0d920f
|
|
1032
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1033
|
+
AuthorDate: 2026-01-22
|
|
1034
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1035
|
+
CommitDate: 2026-01-22
|
|
1036
|
+
|
|
1037
|
+
fix(secrets): hide values when using secret vault
|
|
1038
|
+
|
|
1039
|
+
M expo-app/sources/components/EnvironmentVariableCard.tsx
|
|
1040
|
+
M expo-app/sources/text/translations/ca.ts
|
|
1041
|
+
M expo-app/sources/text/translations/en.ts
|
|
1042
|
+
M expo-app/sources/text/translations/es.ts
|
|
1043
|
+
M expo-app/sources/text/translations/it.ts
|
|
1044
|
+
M expo-app/sources/text/translations/ja.ts
|
|
1045
|
+
M expo-app/sources/text/translations/pl.ts
|
|
1046
|
+
M expo-app/sources/text/translations/pt.ts
|
|
1047
|
+
M expo-app/sources/text/translations/ru.ts
|
|
1048
|
+
M expo-app/sources/text/translations/zh-Hans.ts
|
|
1049
|
+
|
|
1050
|
+
commit e5848c4805226e1c460df58717b182d25f06d504
|
|
1051
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1052
|
+
AuthorDate: 2026-01-22
|
|
1053
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1054
|
+
CommitDate: 2026-01-22
|
|
1055
|
+
|
|
1056
|
+
fix(ui): harden overlays and permission cycling
|
|
1057
|
+
|
|
1058
|
+
M expo-app/sources/app/(app)/new/NewSessionWizard.tsx
|
|
1059
|
+
M expo-app/sources/components/AgentInput.tsx
|
|
1060
|
+
A expo-app/sources/components/ItemRowActions.test.ts
|
|
1061
|
+
M expo-app/sources/components/ItemRowActions.tsx
|
|
1062
|
+
A expo-app/sources/components/OverlayPortal.test.ts
|
|
1063
|
+
M expo-app/sources/components/Popover.nativePortal.test.ts
|
|
1064
|
+
|
|
1065
|
+
commit 69fdcff96a4c7f21982cbc64ebe6a47222b9d685
|
|
1066
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1067
|
+
AuthorDate: 2026-01-13
|
|
1068
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1069
|
+
CommitDate: 2026-01-22
|
|
1070
|
+
|
|
1071
|
+
fix(sync): restore session permission mode from last message
|
|
1072
|
+
|
|
1073
|
+
M expo-app/sources/sync/storage.ts
|
|
1074
|
+
M expo-app/sources/sync/storageTypes.ts
|
|
1075
|
+
|
|
1076
|
+
commit 9b499c5dccce7aa7762f13dece9b259183949b9d
|
|
1077
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1078
|
+
AuthorDate: 2026-01-13
|
|
1079
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1080
|
+
CommitDate: 2026-01-22
|
|
1081
|
+
|
|
1082
|
+
fix(sync): persist permission mode timestamp for restart-safe arbitration
|
|
1083
|
+
|
|
1084
|
+
M expo-app/sources/sync/persistence.ts
|
|
1085
|
+
M expo-app/sources/sync/storage.ts
|
|
1086
|
+
|
|
1087
|
+
commit def8852509d0163a36ed4363770ebd52877338bd
|
|
1088
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1089
|
+
AuthorDate: 2026-01-13
|
|
1090
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1091
|
+
CommitDate: 2026-01-22
|
|
1092
|
+
|
|
1093
|
+
fix(sync): persist permission mode reliably across devices
|
|
1094
|
+
|
|
1095
|
+
M expo-app/sources/-session/SessionView.tsx
|
|
1096
|
+
A expo-app/sources/constants/PermissionModes.ts
|
|
1097
|
+
M expo-app/sources/sync/apiSocket.ts
|
|
1098
|
+
M expo-app/sources/sync/persistence.ts
|
|
1099
|
+
M expo-app/sources/sync/settings.ts
|
|
1100
|
+
M expo-app/sources/sync/storage.ts
|
|
1101
|
+
M expo-app/sources/sync/storageTypes.ts
|
|
1102
|
+
M expo-app/sources/sync/sync.ts
|
|
1103
|
+
A expo-app/sources/sync/time.ts
|
|
1104
|
+
M expo-app/sources/sync/typesMessageMeta.ts
|
|
1105
|
+
M expo-app/sources/sync/typesRaw.ts
|
|
1106
|
+
|
|
1107
|
+
commit b1c8a6fecd0142b90bb4056797735eb9201cd53a
|
|
1108
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1109
|
+
AuthorDate: 2026-01-12
|
|
1110
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1111
|
+
CommitDate: 2026-01-22
|
|
1112
|
+
|
|
1113
|
+
fix(session): archive when kill RPC unavailable
|
|
1114
|
+
|
|
1115
|
+
M expo-app/sources/app/(app)/session/[id]/info.tsx
|
|
1116
|
+
M expo-app/sources/components/ActiveSessionsGroup.tsx
|
|
1117
|
+
M expo-app/sources/components/ActiveSessionsGroupCompact.tsx
|
|
1118
|
+
M expo-app/sources/sync/ops.ts
|
|
1119
|
+
|
|
1120
|
+
commit c06b6202b5d490d71adc5bda9c9f739eceaa1e8c
|
|
1121
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1122
|
+
AuthorDate: 2026-01-06
|
|
1123
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1124
|
+
CommitDate: 2026-01-22
|
|
1125
|
+
|
|
1126
|
+
Add copy-to-clipboard button to message blocks
|
|
1127
|
+
|
|
1128
|
+
Introduces a CopyMessageButton component to allow users to copy message text from user and agent message blocks. Includes visual feedback on copy and error handling, with related styles added for the new button.
|
|
1129
|
+
|
|
1130
|
+
M expo-app/sources/components/MessageView.tsx
|
|
1131
|
+
|
|
1132
|
+
commit 9fc7d3d412b9ffcfb7fc9db08c05199ece6f5d75
|
|
1133
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1134
|
+
AuthorDate: 2026-01-21
|
|
1135
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1136
|
+
CommitDate: 2026-01-22
|
|
1137
|
+
|
|
1138
|
+
feat(sessions): group inactive sessions by project
|
|
1139
|
+
|
|
1140
|
+
M expo-app/sources/app/(app)/settings/features.tsx
|
|
1141
|
+
M expo-app/sources/components/SessionsList.tsx
|
|
1142
|
+
A expo-app/sources/sync/sessionListViewData.test.ts
|
|
1143
|
+
A expo-app/sources/sync/sessionListViewData.ts
|
|
1144
|
+
M expo-app/sources/sync/settings.spec.ts
|
|
1145
|
+
M expo-app/sources/sync/settings.ts
|
|
1146
|
+
M expo-app/sources/sync/storage.ts
|
|
1147
|
+
M expo-app/sources/text/translations/ca.ts
|
|
1148
|
+
M expo-app/sources/text/translations/en.ts
|
|
1149
|
+
M expo-app/sources/text/translations/es.ts
|
|
1150
|
+
M expo-app/sources/text/translations/it.ts
|
|
1151
|
+
M expo-app/sources/text/translations/ja.ts
|
|
1152
|
+
M expo-app/sources/text/translations/pl.ts
|
|
1153
|
+
M expo-app/sources/text/translations/pt.ts
|
|
1154
|
+
M expo-app/sources/text/translations/ru.ts
|
|
1155
|
+
M expo-app/sources/text/translations/zh-Hans.ts
|
|
1156
|
+
|
|
1157
|
+
commit 62a8b1b07c3e66627718735d2737d2435e1fd22f
|
|
1158
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1159
|
+
AuthorDate: 2026-01-21
|
|
1160
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1161
|
+
CommitDate: 2026-01-22
|
|
1162
|
+
|
|
1163
|
+
feat(sessions): add unread badge
|
|
1164
|
+
|
|
1165
|
+
M expo-app/sources/-session/SessionView.tsx
|
|
1166
|
+
M expo-app/sources/components/ActiveSessionsGroup.tsx
|
|
1167
|
+
M expo-app/sources/components/ActiveSessionsGroupCompact.tsx
|
|
1168
|
+
M expo-app/sources/components/Avatar.tsx
|
|
1169
|
+
M expo-app/sources/components/SessionsList.tsx
|
|
1170
|
+
M expo-app/sources/sync/persistence.ts
|
|
1171
|
+
M expo-app/sources/sync/storage.ts
|
|
1172
|
+
A expo-app/sources/sync/unread.test.ts
|
|
1173
|
+
A expo-app/sources/sync/unread.ts
|
|
1174
|
+
|
|
1175
|
+
commit 82d74454c3c4407c2ec5b531adaa3910d159aa73
|
|
1176
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1177
|
+
AuthorDate: 2026-01-21
|
|
1178
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1179
|
+
CommitDate: 2026-01-22
|
|
1180
|
+
|
|
1181
|
+
fix(typecheck): restore permission imports and Popover web styles
|
|
1182
|
+
|
|
1183
|
+
M expo-app/sources/-session/SessionView.tsx
|
|
1184
|
+
M expo-app/sources/sync/ops.ts
|
|
1185
|
+
M expo-app/sources/sync/storage.ts
|
|
1186
|
+
|
|
1187
|
+
commit 4f2b533f99c2505bd9960ade61760f7bab833652
|
|
1188
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1189
|
+
AuthorDate: 2026-01-11
|
|
1190
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1191
|
+
CommitDate: 2026-01-22
|
|
1192
|
+
|
|
1193
|
+
feat(tools): add approve/reject buttons to ExitPlanMode
|
|
1194
|
+
|
|
1195
|
+
Add interactive UI for plan approval in ExitPlanToolView:
|
|
1196
|
+
- Approve button sends approval message and proceeds with implementation
|
|
1197
|
+
- Reject button sends rejection message and asks for plan revision
|
|
1198
|
+
- Shows 'Response sent' state after user responds
|
|
1199
|
+
- Buttons disabled while processing to prevent double-submission
|
|
1200
|
+
|
|
1201
|
+
Changes:
|
|
1202
|
+
- Rewrite ExitPlanToolView with interactive approve/reject buttons
|
|
1203
|
+
- Add loading states and disabled styles for buttons
|
|
1204
|
+
- Add translation strings for button labels and messages
|
|
1205
|
+
- Use sessionDeny + sendMessage pattern (same as AskUserQuestion)
|
|
1206
|
+
|
|
1207
|
+
M expo-app/sources/components/tools/views/ExitPlanToolView.tsx
|
|
1208
|
+
M expo-app/sources/text/translations/ca.ts
|
|
1209
|
+
M expo-app/sources/text/translations/en.ts
|
|
1210
|
+
M expo-app/sources/text/translations/es.ts
|
|
1211
|
+
M expo-app/sources/text/translations/it.ts
|
|
1212
|
+
M expo-app/sources/text/translations/ja.ts
|
|
1213
|
+
M expo-app/sources/text/translations/pl.ts
|
|
1214
|
+
M expo-app/sources/text/translations/pt.ts
|
|
1215
|
+
M expo-app/sources/text/translations/ru.ts
|
|
1216
|
+
M expo-app/sources/text/translations/zh-Hans.ts
|
|
1217
|
+
|
|
1218
|
+
commit c86cbd26b04087d45570bbb9109735c0d58e7db2
|
|
1219
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1220
|
+
AuthorDate: 2026-01-07
|
|
1221
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1222
|
+
CommitDate: 2026-01-22
|
|
1223
|
+
|
|
1224
|
+
feat(queue): add pending message queue UI and send modes
|
|
1225
|
+
|
|
1226
|
+
M expo-app/sources/-session/SessionView.tsx
|
|
1227
|
+
A expo-app/sources/app/(app)/settings/message-sending.tsx
|
|
1228
|
+
M expo-app/sources/components/MessageView.tsx
|
|
1229
|
+
A expo-app/sources/components/PendingMessagesModal.tsx
|
|
1230
|
+
A expo-app/sources/components/PendingQueueIndicator.tsx
|
|
1231
|
+
M expo-app/sources/components/SettingsView.tsx
|
|
1232
|
+
M expo-app/sources/sync/apiTypes.ts
|
|
1233
|
+
M expo-app/sources/sync/settings.spec.ts
|
|
1234
|
+
M expo-app/sources/sync/settings.ts
|
|
1235
|
+
M expo-app/sources/sync/storage.ts
|
|
1236
|
+
M expo-app/sources/sync/storageTypes.ts
|
|
1237
|
+
M expo-app/sources/sync/sync.ts
|
|
1238
|
+
|
|
1239
|
+
commit 42da6dae8fe47c5ecfa6678df38c7c6146e15248
|
|
1240
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1241
|
+
AuthorDate: 2026-01-07
|
|
1242
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1243
|
+
CommitDate: 2026-01-22
|
|
1244
|
+
|
|
1245
|
+
feat(session): add session rename support
|
|
1246
|
+
|
|
1247
|
+
M expo-app/sources/app/(app)/session/[id]/info.tsx
|
|
1248
|
+
M expo-app/sources/sync/ops.ts
|
|
1249
|
+
M expo-app/sources/text/translations/ca.ts
|
|
1250
|
+
M expo-app/sources/text/translations/en.ts
|
|
1251
|
+
M expo-app/sources/text/translations/es.ts
|
|
1252
|
+
M expo-app/sources/text/translations/it.ts
|
|
1253
|
+
M expo-app/sources/text/translations/ja.ts
|
|
1254
|
+
M expo-app/sources/text/translations/pl.ts
|
|
1255
|
+
M expo-app/sources/text/translations/pt.ts
|
|
1256
|
+
M expo-app/sources/text/translations/ru.ts
|
|
1257
|
+
M expo-app/sources/text/translations/zh-Hans.ts
|
|
1258
|
+
|
|
1259
|
+
commit 057102f679041663a6194c89d20fb37ce8c69826
|
|
1260
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1261
|
+
AuthorDate: 2026-01-12
|
|
1262
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1263
|
+
CommitDate: 2026-01-22
|
|
1264
|
+
|
|
1265
|
+
feat(resume): add resume session option for new sessions
|
|
1266
|
+
|
|
1267
|
+
- Add resume picker and pass vendor resume id when the selected agent supports resume
|
|
1268
|
+
|
|
1269
|
+
- Gate resume UI via agent capabilities for upstream friendliness (Claude only by default)
|
|
1270
|
+
|
|
1271
|
+
- Expose Codex session id in Session Info + translations
|
|
1272
|
+
|
|
1273
|
+
M expo-app/sources/app/(app)/new/NewSessionWizard.tsx
|
|
1274
|
+
M expo-app/sources/app/(app)/new/index.tsx
|
|
1275
|
+
A expo-app/sources/app/(app)/new/pick/resume.tsx
|
|
1276
|
+
M expo-app/sources/sync/ops.ts
|
|
1277
|
+
M expo-app/sources/sync/persistence.ts
|
|
1278
|
+
M expo-app/sources/sync/spawnSessionPayload.ts
|
|
1279
|
+
M expo-app/sources/text/translations/ca.ts
|
|
1280
|
+
M expo-app/sources/text/translations/en.ts
|
|
1281
|
+
M expo-app/sources/text/translations/es.ts
|
|
1282
|
+
M expo-app/sources/text/translations/it.ts
|
|
1283
|
+
M expo-app/sources/text/translations/ja.ts
|
|
1284
|
+
M expo-app/sources/text/translations/pl.ts
|
|
1285
|
+
M expo-app/sources/text/translations/pt.ts
|
|
1286
|
+
M expo-app/sources/text/translations/ru.ts
|
|
1287
|
+
M expo-app/sources/text/translations/zh-Hans.ts
|
|
1288
|
+
A expo-app/sources/utils/agentCapabilities.ts
|
|
1289
|
+
M expo-app/sources/utils/tempDataStore.ts
|
|
1290
|
+
|
|
1291
|
+
commit 05532bd65c6b8de70bc6ca514f1d7aacc152ae78
|
|
1292
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1293
|
+
AuthorDate: 2026-01-14
|
|
1294
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1295
|
+
CommitDate: 2026-01-22
|
|
1296
|
+
|
|
1297
|
+
feat(resume): show resume chip under path in new session
|
|
1298
|
+
|
|
1299
|
+
M expo-app/sources/app/(app)/new/NewSessionWizard.tsx
|
|
1300
|
+
M expo-app/sources/app/(app)/new/index.tsx
|
|
1301
|
+
M expo-app/sources/components/AgentInput.tsx
|
|
1302
|
+
|
|
1303
|
+
commit cd5771e5088145cee2ff4b72989182290384c348
|
|
1304
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1305
|
+
AuthorDate: 2026-01-11
|
|
1306
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1307
|
+
CommitDate: 2026-01-22
|
|
1308
|
+
|
|
1309
|
+
feat: resume inactive Claude sessions from UI
|
|
1310
|
+
|
|
1311
|
+
Add the ability to resume inactive Claude sessions directly from the UI.
|
|
1312
|
+
When a session becomes inactive (agent disconnected), users can now type
|
|
1313
|
+
a message and send it to resume the session instead of starting a new one.
|
|
1314
|
+
|
|
1315
|
+
Changes:
|
|
1316
|
+
- Add RESUMABLE_AGENTS config for dynamic agent resume capability
|
|
1317
|
+
- Add canResumeSession() helper to check if session supports resume
|
|
1318
|
+
- Enable input field for inactive resumable sessions with status indicator
|
|
1319
|
+
- Add resumeSession RPC operation to trigger resume via daemon
|
|
1320
|
+
- Add translations for session resume states
|
|
1321
|
+
|
|
1322
|
+
The resume feature uses the existing Claude session ID stored in metadata
|
|
1323
|
+
to reconnect to the same conversation, preserving message history.
|
|
1324
|
+
|
|
1325
|
+
A expo-app/INACTIVE_SESSION_RESUME.md
|
|
1326
|
+
M expo-app/sources/-session/SessionView.tsx
|
|
1327
|
+
M expo-app/sources/sync/ops.ts
|
|
1328
|
+
|
|
1329
|
+
commit 456e2ad8e2b80efcc7eb05ca71dedf313e4230b8
|
|
1330
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1331
|
+
AuthorDate: 2026-01-12
|
|
1332
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1333
|
+
CommitDate: 2026-01-22
|
|
1334
|
+
|
|
1335
|
+
refactor(resume): don't require agentSessionId from UI
|
|
1336
|
+
|
|
1337
|
+
- UI now resumes inactive sessions by Happy session id; machine/daemon derives vendor resume id from local persisted session state
|
|
1338
|
+
|
|
1339
|
+
- Keeps send disabled for inactive sessions that aren't resumable
|
|
1340
|
+
|
|
1341
|
+
M expo-app/sources/-session/SessionView.tsx
|
|
1342
|
+
M expo-app/sources/sync/ops.ts
|
|
1343
|
+
M expo-app/sources/text/translations/ca.ts
|
|
1344
|
+
M expo-app/sources/text/translations/en.ts
|
|
1345
|
+
M expo-app/sources/text/translations/es.ts
|
|
1346
|
+
M expo-app/sources/text/translations/it.ts
|
|
1347
|
+
M expo-app/sources/text/translations/ja.ts
|
|
1348
|
+
M expo-app/sources/text/translations/pl.ts
|
|
1349
|
+
M expo-app/sources/text/translations/pt.ts
|
|
1350
|
+
M expo-app/sources/text/translations/ru.ts
|
|
1351
|
+
M expo-app/sources/text/translations/zh-Hans.ts
|
|
1352
|
+
M expo-app/sources/utils/agentCapabilities.ts
|
|
1353
|
+
|
|
1354
|
+
commit 9b0069e3d30ca504df810d81cf2779398168cc0d
|
|
1355
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1356
|
+
AuthorDate: 2026-01-11
|
|
1357
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1358
|
+
CommitDate: 2026-01-22
|
|
1359
|
+
|
|
1360
|
+
feat(fork): enable Codex resume support
|
|
1361
|
+
|
|
1362
|
+
Enable 'codex' in RESUMABLE_AGENTS for fork builds.
|
|
1363
|
+
This allows resuming Codex sessions from the UI.
|
|
1364
|
+
|
|
1365
|
+
M expo-app/sources/app/(app)/session/[id]/info.tsx
|
|
1366
|
+
M expo-app/sources/sync/storageTypes.ts
|
|
1367
|
+
M expo-app/sources/text/translations/ca.ts
|
|
1368
|
+
M expo-app/sources/text/translations/en.ts
|
|
1369
|
+
M expo-app/sources/text/translations/es.ts
|
|
1370
|
+
M expo-app/sources/text/translations/it.ts
|
|
1371
|
+
M expo-app/sources/text/translations/ja.ts
|
|
1372
|
+
M expo-app/sources/text/translations/pl.ts
|
|
1373
|
+
M expo-app/sources/text/translations/pt.ts
|
|
1374
|
+
M expo-app/sources/text/translations/ru.ts
|
|
1375
|
+
M expo-app/sources/text/translations/zh-Hans.ts
|
|
1376
|
+
M expo-app/sources/utils/agentCapabilities.ts
|
|
1377
|
+
|
|
1378
|
+
commit 4ddaef02210e47ed7fd8ea4cf287611d2ea6f450
|
|
1379
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1380
|
+
AuthorDate: 2026-01-22
|
|
1381
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1382
|
+
CommitDate: 2026-01-22
|
|
1383
|
+
|
|
1384
|
+
fix(sync): omit model meta for queued messages
|
|
1385
|
+
|
|
1386
|
+
M expo-app/sources/sync/sync.ts
|
|
1387
|
+
|
|
1388
|
+
commit 3fbdc10018fe62b67ddc05dc62ebf9ba7466f90f
|
|
1389
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1390
|
+
AuthorDate: 2026-01-12
|
|
1391
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1392
|
+
CommitDate: 2026-01-22
|
|
1393
|
+
|
|
1394
|
+
fix: tmux parsing/targeting + review feedback
|
|
1395
|
+
|
|
1396
|
+
Validation:
|
|
1397
|
+
|
|
1398
|
+
- Verified TMUX/TMUX_PANE values inside an isolated tmux server (custom socket)
|
|
1399
|
+
|
|
1400
|
+
- Verified kill-window syntax and new-session -t semantics via tmux manpage
|
|
1401
|
+
|
|
1402
|
+
Changes:
|
|
1403
|
+
|
|
1404
|
+
- Correct TMUX env parsing (socket_path + server_pid) and prefer TMUX_PANE for pane id
|
|
1405
|
+
|
|
1406
|
+
- Avoid invalid -t injection for commands that already specify a target; do not treat new-session as targetable
|
|
1407
|
+
|
|
1408
|
+
- Fix kill-window invocation to use -t session:window
|
|
1409
|
+
|
|
1410
|
+
- Align Machine.metadata typing with runtime (nullable)
|
|
1411
|
+
|
|
1412
|
+
- Make socket send behavior consistent when disconnected; tighten misc scripts/tests
|
|
1413
|
+
|
|
1414
|
+
M cli/bin/happy-dev.mjs
|
|
1415
|
+
M cli/docs/bug-fix-plan-2025-01-15-athundt.md
|
|
1416
|
+
M cli/scripts/__tests__/ripgrep_launcher.test.ts
|
|
1417
|
+
M cli/scripts/claude_version_utils.cjs
|
|
1418
|
+
M cli/scripts/claude_version_utils.test.ts
|
|
1419
|
+
M cli/scripts/env-wrapper.cjs
|
|
1420
|
+
M cli/scripts/ripgrep_launcher.cjs
|
|
1421
|
+
M cli/scripts/test-continue-fix.sh
|
|
1422
|
+
M cli/src/api/api.test.ts
|
|
1423
|
+
M cli/src/api/apiSession.ts
|
|
1424
|
+
M cli/src/api/types.ts
|
|
1425
|
+
M cli/src/claude/claudeLocal.ts
|
|
1426
|
+
M cli/src/claude/runClaude.ts
|
|
1427
|
+
M cli/src/utils/tmux.test.ts
|
|
1428
|
+
M cli/src/utils/tmux.ts
|
|
1429
|
+
|
|
1430
|
+
commit 7292a29822bbd81cb10c292559a8f63bbc8ea73c
|
|
1431
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1432
|
+
AuthorDate: 2026-01-13
|
|
1433
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1434
|
+
CommitDate: 2026-01-22
|
|
1435
|
+
|
|
1436
|
+
fix(daemon): do not apply CLI active profile to GUI-spawned sessions
|
|
1437
|
+
|
|
1438
|
+
M cli/src/daemon/run.ts
|
|
1439
|
+
|
|
1440
|
+
commit ce94cfa512ac7be97c3e8802ffebcc804e7489b3
|
|
1441
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1442
|
+
AuthorDate: 2026-01-13
|
|
1443
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1444
|
+
CommitDate: 2026-01-22
|
|
1445
|
+
|
|
1446
|
+
feat(session): persist profileId in session metadata via daemon spawn
|
|
1447
|
+
|
|
1448
|
+
M cli/src/api/apiMachine.ts
|
|
1449
|
+
M cli/src/api/types.ts
|
|
1450
|
+
M cli/src/claude/runClaude.ts
|
|
1451
|
+
M cli/src/daemon/run.ts
|
|
1452
|
+
M cli/src/modules/common/registerCommonHandlers.ts
|
|
1453
|
+
M cli/src/utils/createSessionMetadata.ts
|
|
1454
|
+
|
|
1455
|
+
commit e58e97fd7ff4eac9f60ec55224c90fde52ceb2d1
|
|
1456
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1457
|
+
AuthorDate: 2026-01-13
|
|
1458
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1459
|
+
CommitDate: 2026-01-22
|
|
1460
|
+
|
|
1461
|
+
fix(pr107): harden daemon spawn + align profile schema
|
|
1462
|
+
|
|
1463
|
+
M cli/src/daemon/run.ts
|
|
1464
|
+
M cli/src/persistence.ts
|
|
1465
|
+
M cli/src/utils/expandEnvVars.ts
|
|
1466
|
+
|
|
1467
|
+
commit 86330e2635957cd9863f3142399b1adba9522949
|
|
1468
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1469
|
+
AuthorDate: 2026-01-13
|
|
1470
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1471
|
+
CommitDate: 2026-01-22
|
|
1472
|
+
|
|
1473
|
+
fix(security): redact spawn secrets from daemon logs
|
|
1474
|
+
|
|
1475
|
+
M cli/src/api/apiMachine.ts
|
|
1476
|
+
M cli/src/daemon/run.ts
|
|
1477
|
+
|
|
1478
|
+
commit a25acab22b64372e47a7d2a22276d8fd4dad9c96
|
|
1479
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1480
|
+
AuthorDate: 2026-01-15
|
|
1481
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1482
|
+
CommitDate: 2026-01-22
|
|
1483
|
+
|
|
1484
|
+
fix(socket): restore offline buffering for sends
|
|
1485
|
+
|
|
1486
|
+
Remove the hard send guard that dropped messages while disconnected and rely on socket.io client buffering (tests updated).
|
|
1487
|
+
|
|
1488
|
+
M cli/src/api/apiSession.test.ts
|
|
1489
|
+
M cli/src/api/apiSession.ts
|
|
1490
|
+
M cli/src/claude/runClaude.ts
|
|
1491
|
+
|
|
1492
|
+
commit a7d23148c3117d21f5b15a045f71d5da8757f49d
|
|
1493
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1494
|
+
AuthorDate: 2026-01-15
|
|
1495
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1496
|
+
CommitDate: 2026-01-22
|
|
1497
|
+
|
|
1498
|
+
fix(logging): gate debug output and redact templates
|
|
1499
|
+
|
|
1500
|
+
Make debugLargeJson a true DEBUG-only path and avoid logging expanded env values/defaults; tighten doctor masking for default templates.
|
|
1501
|
+
|
|
1502
|
+
A cli/src/ui/doctor.test.ts
|
|
1503
|
+
M cli/src/ui/doctor.ts
|
|
1504
|
+
A cli/src/ui/logger.test.ts
|
|
1505
|
+
M cli/src/ui/logger.ts
|
|
1506
|
+
M cli/src/utils/expandEnvVars.test.ts
|
|
1507
|
+
M cli/src/utils/expandEnvVars.ts
|
|
1508
|
+
|
|
1509
|
+
commit ef418bc4dda3b67874a498a56ad0576fd8ca0ac9
|
|
1510
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1511
|
+
AuthorDate: 2026-01-13
|
|
1512
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1513
|
+
CommitDate: 2026-01-22
|
|
1514
|
+
|
|
1515
|
+
fix(pr107): redact profile secrets in doctor + align tmux tmpDir
|
|
1516
|
+
|
|
1517
|
+
M cli/src/persistence.ts
|
|
1518
|
+
M cli/src/ui/doctor.test.ts
|
|
1519
|
+
|
|
1520
|
+
commit 1f90659694beaec4a990e7a02c6d628fb3721d08
|
|
1521
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1522
|
+
AuthorDate: 2026-01-13
|
|
1523
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1524
|
+
CommitDate: 2026-01-22
|
|
1525
|
+
|
|
1526
|
+
refactor(profiles): remove unwired startup script and local env cache
|
|
1527
|
+
|
|
1528
|
+
M cli/src/persistence.ts
|
|
1529
|
+
|
|
1530
|
+
commit 7aed8aaee02f5f444d099a243389c35685a1b3bd
|
|
1531
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1532
|
+
AuthorDate: 2026-01-15
|
|
1533
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1534
|
+
CommitDate: 2026-01-22
|
|
1535
|
+
|
|
1536
|
+
refactor(profiles): drop provider config objects
|
|
1537
|
+
|
|
1538
|
+
Align happy-cli profile schema with the app: profiles are env-var based only. Migrate any legacy provider config fields into environmentVariables during parsing to avoid data loss.
|
|
1539
|
+
|
|
1540
|
+
A cli/src/persistence.profileSchema.test.ts
|
|
1541
|
+
M cli/src/persistence.ts
|
|
1542
|
+
|
|
1543
|
+
commit 6b0bfe546d9e8475696d7694f52d4d64cf65fbfc
|
|
1544
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1545
|
+
AuthorDate: 2026-01-15
|
|
1546
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1547
|
+
CommitDate: 2026-01-22
|
|
1548
|
+
|
|
1549
|
+
feat(runtime): support bun for daemon-spawned subprocesses
|
|
1550
|
+
|
|
1551
|
+
Add a single runtime invocation builder for node vs bun and allow overriding via HAPPY_CLI_SUBPROCESS_RUNTIME.
|
|
1552
|
+
|
|
1553
|
+
A cli/src/utils/spawnHappyCLI.invocation.test.ts
|
|
1554
|
+
A cli/src/utils/spawnHappyCLI.test.ts
|
|
1555
|
+
M cli/src/utils/spawnHappyCLI.ts
|
|
1556
|
+
|
|
1557
|
+
commit 4071466545ab1eaffba8cb6ebd55a85ef2732370
|
|
1558
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1559
|
+
AuthorDate: 2026-01-15
|
|
1560
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1561
|
+
CommitDate: 2026-01-22
|
|
1562
|
+
|
|
1563
|
+
refactor(rpc): accept arbitrary env var maps for spawn
|
|
1564
|
+
|
|
1565
|
+
The GUI sends a profile-derived env var map that may include provider-specific keys and tmux knobs; type it as Record<string,string>.
|
|
1566
|
+
|
|
1567
|
+
M cli/src/modules/common/registerCommonHandlers.ts
|
|
1568
|
+
|
|
1569
|
+
commit 809be82b53e786a3146fa818c03f0a88c1e24a76
|
|
1570
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1571
|
+
AuthorDate: 2026-01-17
|
|
1572
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1573
|
+
CommitDate: 2026-01-22
|
|
1574
|
+
|
|
1575
|
+
fix(env): implement default assignment semantics
|
|
1576
|
+
|
|
1577
|
+
M cli/src/utils/expandEnvVars.test.ts
|
|
1578
|
+
M cli/src/utils/expandEnvVars.ts
|
|
1579
|
+
|
|
1580
|
+
commit 4c2a671dc3f4409d572e9aef2c0c4340ddd5d097
|
|
1581
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1582
|
+
AuthorDate: 2026-01-17
|
|
1583
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1584
|
+
CommitDate: 2026-01-22
|
|
1585
|
+
|
|
1586
|
+
feat(rpc): add preview-env handler
|
|
1587
|
+
|
|
1588
|
+
A cli/src/modules/common/registerCommonHandlers.previewEnv.test.ts
|
|
1589
|
+
M cli/src/modules/common/registerCommonHandlers.ts
|
|
1590
|
+
|
|
1591
|
+
commit 2973f7fe6861bf8623f0163aa99a2d73cfab81ad
|
|
1592
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1593
|
+
AuthorDate: 2026-01-15
|
|
1594
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1595
|
+
CommitDate: 2026-01-22
|
|
1596
|
+
|
|
1597
|
+
fix(codex): harden MCP command detection
|
|
1598
|
+
|
|
1599
|
+
Handle codex --version output variations without misreporting 'not installed' and remove stdout logging of elicitation payloads.
|
|
1600
|
+
|
|
1601
|
+
A cli/src/codex/codexMcpClient.test.ts
|
|
1602
|
+
M cli/src/codex/codexMcpClient.ts
|
|
1603
|
+
|
|
1604
|
+
commit c863db3d5bbcb5edc6353657f09049e30e457900
|
|
1605
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1606
|
+
AuthorDate: 2026-01-15
|
|
1607
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1608
|
+
CommitDate: 2026-01-22
|
|
1609
|
+
|
|
1610
|
+
refactor(offline): make offline session stub safer
|
|
1611
|
+
|
|
1612
|
+
Provide an EventEmitter-compatible stub and a focused unit test so offline mode can't crash on basic session events.
|
|
1613
|
+
|
|
1614
|
+
A cli/src/utils/offlineSessionStub.test.ts
|
|
1615
|
+
M cli/src/utils/offlineSessionStub.ts
|
|
1616
|
+
|
|
1617
|
+
commit 0a1a91a631e77883e9c0b874674021c288bd0e57
|
|
1618
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1619
|
+
AuthorDate: 2026-01-15
|
|
1620
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1621
|
+
CommitDate: 2026-01-22
|
|
1622
|
+
|
|
1623
|
+
feat(tmux): support per-instance socket path
|
|
1624
|
+
|
|
1625
|
+
A cli/src/utils/tmux.socketPath.test.ts
|
|
1626
|
+
M cli/src/utils/tmux.ts
|
|
1627
|
+
|
|
1628
|
+
commit c52227082c2b1366dbc878db1000395a0f3159d3
|
|
1629
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1630
|
+
AuthorDate: 2026-01-15
|
|
1631
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1632
|
+
CommitDate: 2026-01-22
|
|
1633
|
+
|
|
1634
|
+
fix(tmux): correct env, tmpdir, and session selection
|
|
1635
|
+
|
|
1636
|
+
- Treat TMUX_TMPDIR as a directory via tmux client env (not -S socket path)
|
|
1637
|
+
|
|
1638
|
+
- Pass per-window env via new-window -e KEY=value without shell-style quoting
|
|
1639
|
+
|
|
1640
|
+
- Make empty sessionName resolve deterministically (attached/most-recent)
|
|
1641
|
+
|
|
1642
|
+
- Preserve failure semantics for signal-terminated tmux commands
|
|
1643
|
+
|
|
1644
|
+
M cli/src/api/api.test.ts
|
|
1645
|
+
M cli/src/api/apiMachine.ts
|
|
1646
|
+
M cli/src/api/apiSession.test.ts
|
|
1647
|
+
M cli/src/api/apiSession.ts
|
|
1648
|
+
M cli/src/claude/runClaude.ts
|
|
1649
|
+
M cli/src/claude/utils/sessionScanner.test.ts
|
|
1650
|
+
M cli/src/codex/codexMcpClient.ts
|
|
1651
|
+
A cli/src/daemon/run.tmuxEnv.test.ts
|
|
1652
|
+
A cli/src/daemon/run.tmuxSpawn.test.ts
|
|
1653
|
+
M cli/src/daemon/run.ts
|
|
1654
|
+
M cli/src/modules/common/registerCommonHandlers.ts
|
|
1655
|
+
M cli/src/persistence.profileSchema.test.ts
|
|
1656
|
+
M cli/src/persistence.ts
|
|
1657
|
+
M cli/src/ui/logger.test.ts
|
|
1658
|
+
M cli/src/utils/createSessionMetadata.ts
|
|
1659
|
+
M cli/src/utils/offlineSessionStub.test.ts
|
|
1660
|
+
D cli/src/utils/spawnHappyCLI.test.ts
|
|
1661
|
+
A cli/src/utils/tmux.commandEnv.test.ts
|
|
1662
|
+
A cli/src/utils/tmux.real.integration.test.ts
|
|
1663
|
+
M cli/src/utils/tmux.socketPath.test.ts
|
|
1664
|
+
M cli/src/utils/tmux.test.ts
|
|
1665
|
+
|
|
1666
|
+
commit 7a01a8e426291e8a32de4805ff12621db26fb990
|
|
1667
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1668
|
+
AuthorDate: 2026-01-16
|
|
1669
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1670
|
+
CommitDate: 2026-01-22
|
|
1671
|
+
|
|
1672
|
+
test(claude): align sessionScanner path mapping
|
|
1673
|
+
|
|
1674
|
+
M cli/src/claude/utils/sessionScanner.test.ts
|
|
1675
|
+
|
|
1676
|
+
commit 1075a768e551d5b7fc135d88636b03baf6938969
|
|
1677
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1678
|
+
AuthorDate: 2026-01-17
|
|
1679
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1680
|
+
CommitDate: 2026-01-22
|
|
1681
|
+
|
|
1682
|
+
feat(rpc): add detect-cli handler
|
|
1683
|
+
|
|
1684
|
+
A cli/src/modules/common/registerCommonHandlers.detectCli.test.ts
|
|
1685
|
+
M cli/src/modules/common/registerCommonHandlers.ts
|
|
1686
|
+
|
|
1687
|
+
commit c988f68ca4d03f202a5bc6ff3e5fe18da2c3eb37
|
|
1688
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1689
|
+
AuthorDate: 2026-01-21
|
|
1690
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1691
|
+
CommitDate: 2026-01-22
|
|
1692
|
+
|
|
1693
|
+
feat(ui): surface Codex/Gemini errors in session UI
|
|
1694
|
+
|
|
1695
|
+
- Add `formatErrorForUi` to turn unknown throws into user-visible text (with truncation).
|
|
1696
|
+
|
|
1697
|
+
- Codex: forward MCP error/stream/startup failures to `sendSessionEvent`, and show tool-response errors.
|
|
1698
|
+
|
|
1699
|
+
- Gemini: extract error formatting into `formatGeminiErrorForUi` so the UI gets actionable messages instead of silent hangs.
|
|
1700
|
+
|
|
1701
|
+
A cli/src/codex/__tests__/extractCodexToolErrorText.test.ts
|
|
1702
|
+
M cli/src/codex/runCodex.ts
|
|
1703
|
+
A cli/src/codex/utils/formatCodexEventForUi.test.ts
|
|
1704
|
+
A cli/src/codex/utils/formatCodexEventForUi.ts
|
|
1705
|
+
M cli/src/gemini/runGemini.ts
|
|
1706
|
+
A cli/src/gemini/utils/formatGeminiErrorForUi.test.ts
|
|
1707
|
+
A cli/src/gemini/utils/formatGeminiErrorForUi.ts
|
|
1708
|
+
A cli/src/utils/formatErrorForUi.test.ts
|
|
1709
|
+
A cli/src/utils/formatErrorForUi.ts
|
|
1710
|
+
|
|
1711
|
+
commit b2269ee112523d99318612c2c23f81f3b0b58183
|
|
1712
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1713
|
+
AuthorDate: 2026-01-21
|
|
1714
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1715
|
+
CommitDate: 2026-01-22
|
|
1716
|
+
|
|
1717
|
+
fix(claude): use hook transcript path across switching
|
|
1718
|
+
|
|
1719
|
+
- Prefer SessionStart hook transcript_path for session scanning + `claudeCheckSession` (keep `getProjectPath` heuristic as fallback).
|
|
1720
|
+
|
|
1721
|
+
- Emit a UI message when the transcript file can’t be found yet (prevents a silent/blank UI).
|
|
1722
|
+
|
|
1723
|
+
- Wait briefly for hook session info before switching to avoid null sessionId/transcript races.
|
|
1724
|
+
|
|
1725
|
+
- Make the `switch` RPC idempotent (accepts {to:'local'|'remote'}; returns boolean; keeps legacy toggle when params are missing).
|
|
1726
|
+
|
|
1727
|
+
- Keep hook-mode flags intact (don’t rewrite `--continue/--resume/--session-id` when hooks are enabled).
|
|
1728
|
+
|
|
1729
|
+
- KeepAlive now reports the correct mode; remote init no longer blocks on a 10s file wait.
|
|
1730
|
+
|
|
1731
|
+
M cli/src/claude/claudeLocal.test.ts
|
|
1732
|
+
M cli/src/claude/claudeLocal.ts
|
|
1733
|
+
A cli/src/claude/claudeLocalLauncher.test.ts
|
|
1734
|
+
M cli/src/claude/claudeLocalLauncher.ts
|
|
1735
|
+
A cli/src/claude/claudeRemote.test.ts
|
|
1736
|
+
M cli/src/claude/claudeRemote.ts
|
|
1737
|
+
A cli/src/claude/claudeRemoteLauncher.test.ts
|
|
1738
|
+
M cli/src/claude/claudeRemoteLauncher.ts
|
|
1739
|
+
A cli/src/claude/loop.test.ts
|
|
1740
|
+
M cli/src/claude/loop.ts
|
|
1741
|
+
M cli/src/claude/runClaude.ts
|
|
1742
|
+
A cli/src/claude/session.test.ts
|
|
1743
|
+
M cli/src/claude/session.ts
|
|
1744
|
+
M cli/src/claude/utils/claudeCheckSession.test.ts
|
|
1745
|
+
M cli/src/claude/utils/claudeCheckSession.ts
|
|
1746
|
+
M cli/src/claude/utils/sessionScanner.test.ts
|
|
1747
|
+
M cli/src/claude/utils/sessionScanner.ts
|
|
1748
|
+
M cli/src/claude/utils/startHookServer.ts
|
|
1749
|
+
|
|
1750
|
+
commit f53cf71d416ca52e94b2eac1171cfc9f6c298045
|
|
1751
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1752
|
+
AuthorDate: 2026-01-21
|
|
1753
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1754
|
+
CommitDate: 2026-01-22
|
|
1755
|
+
|
|
1756
|
+
refactor(persistence): remove deprecated tmuxConfig
|
|
1757
|
+
|
|
1758
|
+
- Drop the legacy profile tmuxConfig field and its env-var injection path.
|
|
1759
|
+
|
|
1760
|
+
- Keep terminal/tmux behavior driven by explicit terminal settings/flags to avoid schema drift.
|
|
1761
|
+
|
|
1762
|
+
M cli/src/persistence.ts
|
|
1763
|
+
|
|
1764
|
+
commit 8dae65f6c5851277eb5fb3235190f2f02f947a25
|
|
1765
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1766
|
+
AuthorDate: 2026-01-21
|
|
1767
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1768
|
+
CommitDate: 2026-01-22
|
|
1769
|
+
|
|
1770
|
+
feat(rpc): include tmux in detect-cli
|
|
1771
|
+
|
|
1772
|
+
- Extend the detect-cli RPC to report tmux availability for UI gating and better diagnostics.
|
|
1773
|
+
|
|
1774
|
+
- Add/adjust unit tests to cover tmux detection alongside existing CLI checks.
|
|
1775
|
+
|
|
1776
|
+
M cli/src/modules/common/registerCommonHandlers.detectCli.test.ts
|
|
1777
|
+
M cli/src/modules/common/registerCommonHandlers.ts
|
|
1778
|
+
|
|
1779
|
+
commit ad66c6aaa3ae604456f02dc793b381a5064e43ec
|
|
1780
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1781
|
+
AuthorDate: 2026-01-21
|
|
1782
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1783
|
+
CommitDate: 2026-01-22
|
|
1784
|
+
|
|
1785
|
+
feat(terminal): add tmux metadata + attach tooling
|
|
1786
|
+
|
|
1787
|
+
- Add terminal/tmux metadata to session creation (used by UI Session Details + attach workflows).
|
|
1788
|
+
|
|
1789
|
+
- Persist local attachment info (best-effort) once a session ID exists and optionally surface tmux fallback reasons as UI-facing messages.
|
|
1790
|
+
|
|
1791
|
+
- Add attach planning utilities and a new `happy attach` command.
|
|
1792
|
+
|
|
1793
|
+
- Add headless tmux launcher support (`--tmux`) and internal terminal runtime flags for spawners.
|
|
1794
|
+
|
|
1795
|
+
M cli/src/api/types.ts
|
|
1796
|
+
M cli/src/claude/runClaude.ts
|
|
1797
|
+
M cli/src/codex/runCodex.ts
|
|
1798
|
+
A cli/src/commands/attach.ts
|
|
1799
|
+
M cli/src/gemini/runGemini.ts
|
|
1800
|
+
M cli/src/index.ts
|
|
1801
|
+
A cli/src/terminal/headlessTmuxArgs.test.ts
|
|
1802
|
+
A cli/src/terminal/headlessTmuxArgs.ts
|
|
1803
|
+
A cli/src/terminal/startHappyHeadlessInTmux.ts
|
|
1804
|
+
A cli/src/terminal/terminalAttachPlan.test.ts
|
|
1805
|
+
A cli/src/terminal/terminalAttachPlan.ts
|
|
1806
|
+
A cli/src/terminal/terminalAttachmentInfo.test.ts
|
|
1807
|
+
A cli/src/terminal/terminalAttachmentInfo.ts
|
|
1808
|
+
A cli/src/terminal/terminalConfig.test.ts
|
|
1809
|
+
A cli/src/terminal/terminalConfig.ts
|
|
1810
|
+
A cli/src/terminal/terminalFallbackMessage.test.ts
|
|
1811
|
+
A cli/src/terminal/terminalFallbackMessage.ts
|
|
1812
|
+
A cli/src/terminal/terminalMetadata.ts
|
|
1813
|
+
A cli/src/terminal/terminalRuntimeFlags.test.ts
|
|
1814
|
+
A cli/src/terminal/terminalRuntimeFlags.ts
|
|
1815
|
+
A cli/src/terminal/tmuxSessionSelector.test.ts
|
|
1816
|
+
A cli/src/terminal/tmuxSessionSelector.ts
|
|
1817
|
+
M cli/src/utils/createSessionMetadata.ts
|
|
1818
|
+
|
|
1819
|
+
commit c13d51ee4638ab55a89ae789053f68bbdb04dc6a
|
|
1820
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1821
|
+
AuthorDate: 2026-01-21
|
|
1822
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1823
|
+
CommitDate: 2026-01-22
|
|
1824
|
+
|
|
1825
|
+
feat(daemon): support tmux spawn + harden runtime
|
|
1826
|
+
|
|
1827
|
+
- Spawn sessions in tmux when requested (including isolated server option) and record tmux target/fallback metadata.
|
|
1828
|
+
|
|
1829
|
+
- Extend spawn-session request plumbing and add a focused apiMachine spawn-session test.
|
|
1830
|
+
|
|
1831
|
+
- Harden backoff behavior (clamping + retry gates) and avoid throwing on best-effort log file write failures.
|
|
1832
|
+
|
|
1833
|
+
A cli/src/api/apiMachine.spawnSession.test.ts
|
|
1834
|
+
M cli/src/api/apiMachine.ts
|
|
1835
|
+
M cli/src/daemon/run.tmuxSpawn.test.ts
|
|
1836
|
+
M cli/src/daemon/run.ts
|
|
1837
|
+
M cli/src/ui/logger.test.ts
|
|
1838
|
+
M cli/src/ui/logger.ts
|
|
1839
|
+
M cli/src/utils/sync.ts
|
|
1840
|
+
M cli/src/utils/time.ts
|
|
1841
|
+
|
|
1842
|
+
commit f7db44dea4586a2a399e6765e31f8ad9d3f61475
|
|
1843
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1844
|
+
AuthorDate: 2026-01-21
|
|
1845
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1846
|
+
CommitDate: 2026-01-22
|
|
1847
|
+
|
|
1848
|
+
docs: add AGENTS.md symlink
|
|
1849
|
+
|
|
1850
|
+
- Keep agent guidance single-sourced by symlinking AGENTS.md -> CLAUDE.md.
|
|
1851
|
+
|
|
1852
|
+
A cli/AGENTS.md
|
|
1853
|
+
|
|
1854
|
+
commit af5000ea6318bf1e02fba19069660179d9318d84
|
|
1855
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1856
|
+
AuthorDate: 2026-01-21
|
|
1857
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1858
|
+
CommitDate: 2026-01-22
|
|
1859
|
+
|
|
1860
|
+
fix(ui): polish Codex and Gemini error messages
|
|
1861
|
+
|
|
1862
|
+
M cli/src/codex/utils/formatCodexEventForUi.test.ts
|
|
1863
|
+
M cli/src/codex/utils/formatCodexEventForUi.ts
|
|
1864
|
+
M cli/src/gemini/utils/formatGeminiErrorForUi.test.ts
|
|
1865
|
+
M cli/src/gemini/utils/formatGeminiErrorForUi.ts
|
|
1866
|
+
|
|
1867
|
+
commit f68552d03ab97641f8da5cd8ccb65113a8e13a34
|
|
1868
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1869
|
+
AuthorDate: 2026-01-21
|
|
1870
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1871
|
+
CommitDate: 2026-01-22
|
|
1872
|
+
|
|
1873
|
+
fix(tmux): print attach instructions in correct order
|
|
1874
|
+
|
|
1875
|
+
A cli/src/terminal/startHappyHeadlessInTmux.test.ts
|
|
1876
|
+
M cli/src/terminal/startHappyHeadlessInTmux.ts
|
|
1877
|
+
|
|
1878
|
+
commit 4e4bb65ff3f0c7df410abd6fe2a6d69bd6d96f5e
|
|
1879
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1880
|
+
AuthorDate: 2026-01-21
|
|
1881
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1882
|
+
CommitDate: 2026-01-22
|
|
1883
|
+
|
|
1884
|
+
test(tmux): avoid brittle assertions
|
|
1885
|
+
|
|
1886
|
+
M cli/src/terminal/startHappyHeadlessInTmux.test.ts
|
|
1887
|
+
|
|
1888
|
+
commit 45f4eb5d145caff292136122c70fbfccd26207b0
|
|
1889
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1890
|
+
AuthorDate: 2026-01-21
|
|
1891
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1892
|
+
CommitDate: 2026-01-22
|
|
1893
|
+
|
|
1894
|
+
test(detect-cli): avoid process.env reassignment
|
|
1895
|
+
|
|
1896
|
+
M cli/src/modules/common/registerCommonHandlers.detectCli.test.ts
|
|
1897
|
+
|
|
1898
|
+
commit 51782fdbfbcd98757345f7f93a02bd825baa8cdf
|
|
1899
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1900
|
+
AuthorDate: 2026-01-21
|
|
1901
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1902
|
+
CommitDate: 2026-01-22
|
|
1903
|
+
|
|
1904
|
+
test(codex): reset transport instances between tests
|
|
1905
|
+
|
|
1906
|
+
M cli/src/codex/codexMcpClient.test.ts
|
|
1907
|
+
|
|
1908
|
+
commit 0ad76f4877ae26d382f5b33ae654e345ea17136d
|
|
1909
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1910
|
+
AuthorDate: 2026-01-21
|
|
1911
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1912
|
+
CommitDate: 2026-01-22
|
|
1913
|
+
|
|
1914
|
+
chore(cli): fix gemini daemon block indentation
|
|
1915
|
+
|
|
1916
|
+
M cli/src/index.ts
|
|
1917
|
+
|
|
1918
|
+
commit a8093e3e4ddb6ff974e69d8aa29fe43fce34dbad
|
|
1919
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1920
|
+
AuthorDate: 2026-01-21
|
|
1921
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1922
|
+
CommitDate: 2026-01-22
|
|
1923
|
+
|
|
1924
|
+
docs(persistence): update profile schema version comment
|
|
1925
|
+
|
|
1926
|
+
M cli/src/persistence.ts
|
|
1927
|
+
|
|
1928
|
+
commit b16c3658b944b1a73ae86faa700e97b1887d1fad
|
|
1929
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1930
|
+
AuthorDate: 2026-01-21
|
|
1931
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1932
|
+
CommitDate: 2026-01-22
|
|
1933
|
+
|
|
1934
|
+
fix(gemini): normalize error details for UI
|
|
1935
|
+
|
|
1936
|
+
M cli/src/gemini/utils/formatGeminiErrorForUi.ts
|
|
1937
|
+
|
|
1938
|
+
commit d9591372655f2765fbf5f993d330e4511607c445
|
|
1939
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1940
|
+
AuthorDate: 2026-01-21
|
|
1941
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1942
|
+
CommitDate: 2026-01-22
|
|
1943
|
+
|
|
1944
|
+
fix(common): handle execFileAsync exit codes
|
|
1945
|
+
|
|
1946
|
+
M cli/src/modules/common/registerCommonHandlers.ts
|
|
1947
|
+
|
|
1948
|
+
commit ab95e8cf920c6b75514b54570222be18c6606542
|
|
1949
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1950
|
+
AuthorDate: 2026-01-22
|
|
1951
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1952
|
+
CommitDate: 2026-01-22
|
|
1953
|
+
|
|
1954
|
+
fix(sync): avoid hanging invalidateAndAwait on errors
|
|
1955
|
+
|
|
1956
|
+
M cli/src/claude/utils/sessionScanner.ts
|
|
1957
|
+
A cli/src/utils/sync.test.ts
|
|
1958
|
+
M cli/src/utils/sync.ts
|
|
1959
|
+
|
|
1960
|
+
commit 6f98c95fb5d8a79a4e76a1917200e378b7e8355e
|
|
1961
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1962
|
+
AuthorDate: 2026-01-22
|
|
1963
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1964
|
+
CommitDate: 2026-01-22
|
|
1965
|
+
|
|
1966
|
+
fix(claude): support -c/-r and avoid session loss on switch
|
|
1967
|
+
|
|
1968
|
+
M cli/src/claude/claudeLocal.ts
|
|
1969
|
+
M cli/src/claude/claudeLocalLauncher.test.ts
|
|
1970
|
+
M cli/src/claude/claudeLocalLauncher.ts
|
|
1971
|
+
M cli/src/claude/claudeRemote.test.ts
|
|
1972
|
+
M cli/src/claude/claudeRemote.ts
|
|
1973
|
+
M cli/src/claude/claudeRemoteLauncher.test.ts
|
|
1974
|
+
M cli/src/claude/claudeRemoteLauncher.ts
|
|
1975
|
+
M cli/src/claude/session.test.ts
|
|
1976
|
+
M cli/src/claude/session.ts
|
|
1977
|
+
M cli/src/claude/utils/claudeFindLastSession.ts
|
|
1978
|
+
M cli/src/claude/utils/path.test.ts
|
|
1979
|
+
M cli/src/claude/utils/path.ts
|
|
1980
|
+
M cli/src/claude/utils/sessionScanner.ts
|
|
1981
|
+
|
|
1982
|
+
commit 9489d70848f3664c02cb2b248f60b396626b8cdf
|
|
1983
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1984
|
+
AuthorDate: 2026-01-16
|
|
1985
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1986
|
+
CommitDate: 2026-01-22
|
|
1987
|
+
|
|
1988
|
+
test(claude): align sessionScanner path mapping
|
|
1989
|
+
|
|
1990
|
+
M cli/src/claude/utils/sessionScanner.test.ts
|
|
1991
|
+
|
|
1992
|
+
commit 9c4cb44b7d869acd56a66f18a88b40525f830d65
|
|
1993
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1994
|
+
AuthorDate: 2026-01-12
|
|
1995
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
1996
|
+
CommitDate: 2026-01-22
|
|
1997
|
+
|
|
1998
|
+
fix(daemon): reattach sessions after daemon restart
|
|
1999
|
+
|
|
2000
|
+
M cli/src/api/apiMachine.ts
|
|
2001
|
+
M cli/src/daemon/controlServer.ts
|
|
2002
|
+
M cli/src/daemon/doctor.ts
|
|
2003
|
+
M cli/src/daemon/run.ts
|
|
2004
|
+
A cli/src/daemon/sessionRegistry.ts
|
|
2005
|
+
M cli/src/daemon/types.ts
|
|
2006
|
+
M cli/src/persistence.ts
|
|
2007
|
+
|
|
2008
|
+
commit dbde6d8716701939d4ce45bfb82541453b16b070
|
|
2009
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2010
|
+
AuthorDate: 2026-01-14
|
|
2011
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2012
|
+
CommitDate: 2026-01-22
|
|
2013
|
+
|
|
2014
|
+
test(daemon): add PID classification + session marker tests
|
|
2015
|
+
|
|
2016
|
+
A cli/src/daemon/doctor.test.ts
|
|
2017
|
+
M cli/src/daemon/doctor.ts
|
|
2018
|
+
A cli/src/daemon/sessionRegistry.test.ts
|
|
2019
|
+
|
|
2020
|
+
commit 7cffdd5ce614ef22d6d06b882f3237e837a572cd
|
|
2021
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2022
|
+
AuthorDate: 2026-01-14
|
|
2023
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2024
|
+
CommitDate: 2026-01-22
|
|
2025
|
+
|
|
2026
|
+
fix(daemon): verify PID via command hash for reattach/stop
|
|
2027
|
+
|
|
2028
|
+
M cli/src/daemon/run.ts
|
|
2029
|
+
M cli/src/daemon/sessionRegistry.test.ts
|
|
2030
|
+
M cli/src/daemon/sessionRegistry.ts
|
|
2031
|
+
M cli/src/daemon/types.ts
|
|
2032
|
+
|
|
2033
|
+
commit 8b88dcd73d406939feb019a431eeb49293e63225
|
|
2034
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2035
|
+
AuthorDate: 2026-01-13
|
|
2036
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2037
|
+
CommitDate: 2026-01-22
|
|
2038
|
+
|
|
2039
|
+
fix(claude): carry permission mode across remote/local switches
|
|
2040
|
+
|
|
2041
|
+
M cli/src/claude/claudeLocalLauncher.ts
|
|
2042
|
+
M cli/src/claude/claudeRemoteLauncher.ts
|
|
2043
|
+
M cli/src/claude/loop.ts
|
|
2044
|
+
M cli/src/claude/session.ts
|
|
2045
|
+
M cli/src/claude/utils/permissionHandler.ts
|
|
2046
|
+
|
|
2047
|
+
commit 8f0e10c9428b34891b34fd310850705cc84a3ecd
|
|
2048
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2049
|
+
AuthorDate: 2026-01-13
|
|
2050
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2051
|
+
CommitDate: 2026-01-22
|
|
2052
|
+
|
|
2053
|
+
fix(claude): publish permission mode in session metadata
|
|
2054
|
+
|
|
2055
|
+
M cli/src/api/types.ts
|
|
2056
|
+
M cli/src/claude/claudeLocalLauncher.ts
|
|
2057
|
+
M cli/src/claude/claudeRemoteLauncher.ts
|
|
2058
|
+
M cli/src/claude/loop.ts
|
|
2059
|
+
M cli/src/claude/runClaude.ts
|
|
2060
|
+
M cli/src/claude/session.ts
|
|
2061
|
+
M cli/src/claude/utils/permissionHandler.ts
|
|
2062
|
+
|
|
2063
|
+
commit ffad20faa406d5aebcd284649a0cc925d09fc7a2
|
|
2064
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2065
|
+
AuthorDate: 2026-01-13
|
|
2066
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2067
|
+
CommitDate: 2026-01-22
|
|
2068
|
+
|
|
2069
|
+
fix(cli): publish permission mode for codex/gemini sessions
|
|
2070
|
+
|
|
2071
|
+
M cli/src/api/types.ts
|
|
2072
|
+
M cli/src/codex/runCodex.ts
|
|
2073
|
+
M cli/src/gemini/runGemini.ts
|
|
2074
|
+
M cli/src/index.ts
|
|
2075
|
+
M cli/src/utils/createSessionMetadata.ts
|
|
2076
|
+
|
|
2077
|
+
commit eb72c6e694344ce79523ac36e715348753303bd8
|
|
2078
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2079
|
+
AuthorDate: 2026-01-13
|
|
2080
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2081
|
+
CommitDate: 2026-01-22
|
|
2082
|
+
|
|
2083
|
+
fix(codex): disable model override and remove experimental resume
|
|
2084
|
+
|
|
2085
|
+
M cli/src/codex/runCodex.ts
|
|
2086
|
+
|
|
2087
|
+
commit d317f6bfa28274763cce5fcfe346ed4c066cfdc6
|
|
2088
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2089
|
+
AuthorDate: 2026-01-21
|
|
2090
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2091
|
+
CommitDate: 2026-01-22
|
|
2092
|
+
|
|
2093
|
+
fix(typecheck): resolve duplicate terminalRuntime and RPC handler types
|
|
2094
|
+
|
|
2095
|
+
M cli/src/api/apiMachine.spawnSession.test.ts
|
|
2096
|
+
M cli/src/codex/runCodex.ts
|
|
2097
|
+
M cli/src/gemini/runGemini.ts
|
|
2098
|
+
|
|
2099
|
+
commit a8682d427794ddcd9b0ea151b59d9529e3a3b25d
|
|
2100
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2101
|
+
AuthorDate: 2026-01-21
|
|
2102
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2103
|
+
CommitDate: 2026-01-22
|
|
2104
|
+
|
|
2105
|
+
fix(detect-cli): relax tmux version probe timeout
|
|
2106
|
+
|
|
2107
|
+
M cli/src/modules/common/registerCommonHandlers.ts
|
|
2108
|
+
|
|
2109
|
+
commit e2824dbc858baa37f0f375efc8af460eba9d3ea7
|
|
2110
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2111
|
+
AuthorDate: 2026-01-07
|
|
2112
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2113
|
+
CommitDate: 2026-01-22
|
|
2114
|
+
|
|
2115
|
+
feat(queue): add server-side pending message pull support
|
|
2116
|
+
|
|
2117
|
+
M cli/src/api/apiSession.ts
|
|
2118
|
+
M cli/src/api/types.ts
|
|
2119
|
+
M cli/src/claude/claudeRemoteLauncher.ts
|
|
2120
|
+
M cli/src/codex/runCodex.ts
|
|
2121
|
+
M cli/src/gemini/runGemini.ts
|
|
2122
|
+
|
|
2123
|
+
commit 37a2c55a6c2f10186a3f208b857931d3a9073370
|
|
2124
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2125
|
+
AuthorDate: 2026-01-12
|
|
2126
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2127
|
+
CommitDate: 2026-01-22
|
|
2128
|
+
|
|
2129
|
+
fix(session): prime agent state for readiness
|
|
2130
|
+
|
|
2131
|
+
M cli/src/codex/runCodex.ts
|
|
2132
|
+
M cli/src/gemini/runGemini.ts
|
|
2133
|
+
|
|
2134
|
+
commit 88494b122194e4482ea817fad9c655c83b61a9e7
|
|
2135
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2136
|
+
AuthorDate: 2026-01-21
|
|
2137
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2138
|
+
CommitDate: 2026-01-22
|
|
2139
|
+
|
|
2140
|
+
fix(tools): support Windows arm64 tool unpacking
|
|
2141
|
+
|
|
2142
|
+
M cli/scripts/__tests__/ripgrep_launcher.test.ts
|
|
2143
|
+
A cli/scripts/__tests__/unpack-tools.test.ts
|
|
2144
|
+
M cli/scripts/ripgrep_launcher.cjs
|
|
2145
|
+
M cli/scripts/unpack-tools.cjs
|
|
2146
|
+
M cli/src/test-setup.ts
|
|
2147
|
+
M cli/vitest.config.ts
|
|
2148
|
+
|
|
2149
|
+
commit d71587eda2dbe089330ecd07f40a27d669fd831e
|
|
2150
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2151
|
+
AuthorDate: 2026-01-09
|
|
2152
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2153
|
+
CommitDate: 2026-01-22
|
|
2154
|
+
|
|
2155
|
+
feat: resume Claude sessions from UI
|
|
2156
|
+
|
|
2157
|
+
Plumbs an optional resume session id through spawn RPC and passes --resume to Claude when starting a daemon session.
|
|
2158
|
+
|
|
2159
|
+
M cli/src/api/apiMachine.ts
|
|
2160
|
+
M cli/src/daemon/run.ts
|
|
2161
|
+
M cli/src/modules/common/registerCommonHandlers.ts
|
|
2162
|
+
A cli/src/utils/agentCapabilities.ts
|
|
2163
|
+
|
|
2164
|
+
commit a80868aff50d9c685cf35a03de73d7abef1537c2
|
|
2165
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2166
|
+
AuthorDate: 2026-01-11
|
|
2167
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2168
|
+
CommitDate: 2026-01-22
|
|
2169
|
+
|
|
2170
|
+
feat: resume inactive Claude sessions from UI
|
|
2171
|
+
|
|
2172
|
+
Add CLI support for resuming inactive Claude sessions from the UI.
|
|
2173
|
+
When the UI sends a resume-session RPC, the daemon spawns a new CLI
|
|
2174
|
+
process that reconnects to the existing Happy session instead of
|
|
2175
|
+
creating a new one.
|
|
2176
|
+
|
|
2177
|
+
Changes:
|
|
2178
|
+
- Add RESUMABLE_AGENTS config for dynamic agent resume capability
|
|
2179
|
+
- Add --existing-session flag to reconnect to existing Happy session
|
|
2180
|
+
- Handle resume-session RPC type in apiMachine
|
|
2181
|
+
- Pass HAPPY_INITIAL_MESSAGE env var for the resume message
|
|
2182
|
+
- Update runClaude to reconnect to existing session when specified
|
|
2183
|
+
|
|
2184
|
+
The CLI uses the existing Claude session ID to resume the conversation
|
|
2185
|
+
via claude --resume, and updates the session metadata to reflect the
|
|
2186
|
+
resumed state.
|
|
2187
|
+
|
|
2188
|
+
M cli/src/api/apiMachine.ts
|
|
2189
|
+
M cli/src/claude/runClaude.ts
|
|
2190
|
+
A cli/src/daemon/persistedHappySession.ts
|
|
2191
|
+
M cli/src/daemon/run.ts
|
|
2192
|
+
M cli/src/index.ts
|
|
2193
|
+
M cli/src/modules/common/registerCommonHandlers.ts
|
|
2194
|
+
M cli/src/utils/agentCapabilities.ts
|
|
2195
|
+
|
|
2196
|
+
commit bcaa530b12d7f351db4e5865c85e54b4f08d693b
|
|
2197
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2198
|
+
AuthorDate: 2026-01-12
|
|
2199
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2200
|
+
CommitDate: 2026-01-22
|
|
2201
|
+
|
|
2202
|
+
feat(resume): add happy resume and persist vendor resume id
|
|
2203
|
+
|
|
2204
|
+
- Persist Claude vendor resume id to $HAPPY_HOME_DIR/sessions/<sessionId>.json when discovered via SessionStart hook
|
|
2205
|
+
|
|
2206
|
+
- Add `happy resume <happySessionId>` to respawn a worker attached to the same Happy session (uses --existing-session + --resume)
|
|
2207
|
+
|
|
2208
|
+
- Keep behavior safe: fail fast when resume is requested for unsupported agents
|
|
2209
|
+
|
|
2210
|
+
M cli/src/claude/session.ts
|
|
2211
|
+
M cli/src/daemon/persistedHappySession.ts
|
|
2212
|
+
M cli/src/index.ts
|
|
2213
|
+
|
|
2214
|
+
commit e085e75c5d3695ec93c986c5e30a547e74e4489d
|
|
2215
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2216
|
+
AuthorDate: 2026-01-12
|
|
2217
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2218
|
+
CommitDate: 2026-01-22
|
|
2219
|
+
|
|
2220
|
+
feat(resume): allow resume-session without agentSessionId
|
|
2221
|
+
|
|
2222
|
+
- UI/daemon can resume with only Happy session id; daemon derives latest vendor resume id from local persisted session state
|
|
2223
|
+
|
|
2224
|
+
- `happy resume <id...>` now supports resuming multiple sessions for bulk recovery
|
|
2225
|
+
|
|
2226
|
+
M cli/src/api/apiMachine.ts
|
|
2227
|
+
M cli/src/daemon/run.ts
|
|
2228
|
+
M cli/src/index.ts
|
|
2229
|
+
|
|
2230
|
+
commit 68a6ba4bc244452b1d297af0fcc38f1abe33f3bf
|
|
2231
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2232
|
+
AuthorDate: 2026-01-12
|
|
2233
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2234
|
+
CommitDate: 2026-01-22
|
|
2235
|
+
|
|
2236
|
+
feat(fork): enable Codex inactive-session resume via codex-reply
|
|
2237
|
+
|
|
2238
|
+
- Enable Codex in vendor resume capability gating
|
|
2239
|
+
|
|
2240
|
+
- Parse --existing-session/--resume for codex and attach to persisted Happy session
|
|
2241
|
+
|
|
2242
|
+
- Resume Codex via MCP tool codex-reply (no transcript scanning)
|
|
2243
|
+
|
|
2244
|
+
- Persist codexSessionId for future resumes
|
|
2245
|
+
|
|
2246
|
+
M cli/src/codex/codexMcpClient.ts
|
|
2247
|
+
M cli/src/codex/runCodex.ts
|
|
2248
|
+
M cli/src/daemon/persistedHappySession.ts
|
|
2249
|
+
M cli/src/daemon/run.ts
|
|
2250
|
+
M cli/src/index.ts
|
|
2251
|
+
M cli/src/utils/agentCapabilities.ts
|
|
2252
|
+
|
|
2253
|
+
commit d3aefaa9b598a0cbe3a28eaddc86041b35cb3014
|
|
2254
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2255
|
+
AuthorDate: 2026-01-22
|
|
2256
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2257
|
+
CommitDate: 2026-01-22
|
|
2258
|
+
|
|
2259
|
+
refactor(daemon): extract reattach and pid safety helpers
|
|
2260
|
+
|
|
2261
|
+
A cli/src/daemon/pidSafety.ts
|
|
2262
|
+
A cli/src/daemon/reattach.ts
|
|
2263
|
+
M cli/src/daemon/run.ts
|
|
2264
|
+
|
|
2265
|
+
commit 72397b7e8c94b466d4883f5a5f106d8a943e01a1
|
|
2266
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2267
|
+
AuthorDate: 2026-01-22
|
|
2268
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2269
|
+
CommitDate: 2026-01-22
|
|
2270
|
+
|
|
2271
|
+
test(daemon): add opt-in reattach integration tests
|
|
2272
|
+
|
|
2273
|
+
A cli/src/daemon/pidSafety.real.integration.test.ts
|
|
2274
|
+
A cli/src/daemon/reattach.real.integration.test.ts
|
|
2275
|
+
|
|
2276
|
+
commit 9c40c54018c2e9d7ceb4741da8f15bddded1caf2
|
|
2277
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2278
|
+
AuthorDate: 2026-01-22
|
|
2279
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2280
|
+
CommitDate: 2026-01-22
|
|
2281
|
+
|
|
2282
|
+
Revert "fix(tools): support Windows arm64 tool unpacking"
|
|
2283
|
+
|
|
2284
|
+
This reverts commit 88494b122194e4482ea817fad9c655c83b61a9e7.
|
|
2285
|
+
|
|
2286
|
+
M cli/scripts/__tests__/ripgrep_launcher.test.ts
|
|
2287
|
+
D cli/scripts/__tests__/unpack-tools.test.ts
|
|
2288
|
+
M cli/scripts/ripgrep_launcher.cjs
|
|
2289
|
+
M cli/scripts/unpack-tools.cjs
|
|
2290
|
+
M cli/src/test-setup.ts
|
|
2291
|
+
M cli/vitest.config.ts
|
|
2292
|
+
|
|
2293
|
+
commit ab35b47ff69959457418cb23836e670961f8bf34
|
|
2294
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2295
|
+
AuthorDate: 2026-01-22
|
|
2296
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2297
|
+
CommitDate: 2026-01-22
|
|
2298
|
+
|
|
2299
|
+
fix(resume): make inactive resume reliable; gate Codex resume
|
|
2300
|
+
|
|
2301
|
+
M cli/src/api/apiMachine.ts
|
|
2302
|
+
M cli/src/claude/runClaude.ts
|
|
2303
|
+
M cli/src/codex/codexMcpClient.ts
|
|
2304
|
+
M cli/src/codex/runCodex.ts
|
|
2305
|
+
M cli/src/daemon/run.ts
|
|
2306
|
+
M cli/src/modules/common/registerCommonHandlers.ts
|
|
2307
|
+
A cli/src/utils/agentCapabilities.test.ts
|
|
2308
|
+
M cli/src/utils/agentCapabilities.ts
|
|
2309
|
+
M expo-app/INACTIVE_SESSION_RESUME.md
|
|
2310
|
+
M expo-app/sources/-session/SessionView.tsx
|
|
2311
|
+
M expo-app/sources/app/(app)/machine/[id].tsx
|
|
2312
|
+
M expo-app/sources/app/(app)/new/index.tsx
|
|
2313
|
+
M expo-app/sources/app/(app)/session/[id]/info.tsx
|
|
2314
|
+
M expo-app/sources/sync/ops.ts
|
|
2315
|
+
M expo-app/sources/sync/settings.ts
|
|
2316
|
+
M expo-app/sources/sync/spawnSessionPayload.ts
|
|
2317
|
+
M expo-app/sources/utils/agentCapabilities.ts
|
|
2318
|
+
|
|
2319
|
+
commit aa9b1168438959ccab8afe2c4f7d7ee1409698eb
|
|
2320
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2321
|
+
AuthorDate: 2026-01-22
|
|
2322
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2323
|
+
CommitDate: 2026-01-22
|
|
2324
|
+
|
|
2325
|
+
fix(codex): increase installer output buffer
|
|
2326
|
+
|
|
2327
|
+
M cli/src/modules/common/registerCommonHandlers.ts
|
|
2328
|
+
|
|
2329
|
+
commit c4beebbfa37580bf07b591774ccb7fa32c457caa
|
|
2330
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2331
|
+
AuthorDate: 2026-01-22
|
|
2332
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2333
|
+
CommitDate: 2026-01-22
|
|
2334
|
+
|
|
2335
|
+
feat(ui): add Codex resume experiment toggle
|
|
2336
|
+
|
|
2337
|
+
M expo-app/sources/app/(app)/settings/features.tsx
|
|
2338
|
+
M expo-app/sources/text/translations/ca.ts
|
|
2339
|
+
M expo-app/sources/text/translations/en.ts
|
|
2340
|
+
M expo-app/sources/text/translations/es.ts
|
|
2341
|
+
M expo-app/sources/text/translations/it.ts
|
|
2342
|
+
M expo-app/sources/text/translations/ja.ts
|
|
2343
|
+
M expo-app/sources/text/translations/pl.ts
|
|
2344
|
+
M expo-app/sources/text/translations/pt.ts
|
|
2345
|
+
M expo-app/sources/text/translations/ru.ts
|
|
2346
|
+
M expo-app/sources/text/translations/zh-Hans.ts
|
|
2347
|
+
|
|
2348
|
+
commit 0140ae2768696b961488e227c9f7586ef3a32b42
|
|
2349
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2350
|
+
AuthorDate: 2026-01-22
|
|
2351
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2352
|
+
CommitDate: 2026-01-22
|
|
2353
|
+
|
|
2354
|
+
refactor(codex): install mcp resume server via install-dep
|
|
2355
|
+
|
|
2356
|
+
M cli/src/codex/codexMcpClient.ts
|
|
2357
|
+
M cli/src/codex/runCodex.ts
|
|
2358
|
+
M cli/src/modules/common/registerCommonHandlers.ts
|
|
2359
|
+
M expo-app/sources/sync/ops.ts
|
|
2360
|
+
M expo-app/sources/sync/settings.ts
|
|
2361
|
+
|
|
2362
|
+
commit 2ec41b621b54b67ca8ef42e8e9219ac4e0e37b22
|
|
2363
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2364
|
+
AuthorDate: 2026-01-22
|
|
2365
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2366
|
+
CommitDate: 2026-01-22
|
|
2367
|
+
|
|
2368
|
+
fix(codex): detect resume binary on Windows
|
|
2369
|
+
|
|
2370
|
+
M cli/src/modules/common/registerCommonHandlers.ts
|
|
2371
|
+
|
|
2372
|
+
commit e1deb6db8ddb001b3099dd68726871811142fb6b
|
|
2373
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2374
|
+
AuthorDate: 2026-01-22
|
|
2375
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2376
|
+
CommitDate: 2026-01-22
|
|
2377
|
+
|
|
2378
|
+
refactor(codex): add dep-status and drop codex-resume RPCs
|
|
2379
|
+
|
|
2380
|
+
M cli/src/modules/common/registerCommonHandlers.ts
|
|
2381
|
+
M expo-app/sources/app/(app)/machine/[id].tsx
|
|
2382
|
+
M expo-app/sources/sync/ops.ts
|
|
2383
|
+
|
|
2384
|
+
commit 231d7ad9bdd9403add470515830adaf8e8dab890
|
|
2385
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2386
|
+
AuthorDate: 2026-01-22
|
|
2387
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2388
|
+
CommitDate: 2026-01-22
|
|
2389
|
+
|
|
2390
|
+
fix(ui): clarify Codex resume server label
|
|
2391
|
+
|
|
2392
|
+
M expo-app/sources/app/(app)/machine/[id].tsx
|
|
2393
|
+
|
|
2394
|
+
commit 8bebf04aca9228e434a03760d2bdaea65d4a6740
|
|
2395
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2396
|
+
AuthorDate: 2026-01-22
|
|
2397
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2398
|
+
CommitDate: 2026-01-22
|
|
2399
|
+
|
|
2400
|
+
refactor(cli): modularize capabilities and env preview
|
|
2401
|
+
|
|
2402
|
+
A cli/src/modules/common/capabilities/caps/cliBase.ts
|
|
2403
|
+
A cli/src/modules/common/capabilities/caps/cliClaude.ts
|
|
2404
|
+
A cli/src/modules/common/capabilities/caps/cliCodex.ts
|
|
2405
|
+
A cli/src/modules/common/capabilities/caps/cliGemini.ts
|
|
2406
|
+
A cli/src/modules/common/capabilities/caps/depCodexMcpResume.ts
|
|
2407
|
+
A cli/src/modules/common/capabilities/caps/toolTmux.ts
|
|
2408
|
+
A cli/src/modules/common/capabilities/checklists.ts
|
|
2409
|
+
A cli/src/modules/common/capabilities/context/buildDetectContext.ts
|
|
2410
|
+
A cli/src/modules/common/capabilities/deps/codexMcpResume.ts
|
|
2411
|
+
A cli/src/modules/common/capabilities/errors.ts
|
|
2412
|
+
A cli/src/modules/common/capabilities/registerCapabilitiesHandlers.ts
|
|
2413
|
+
A cli/src/modules/common/capabilities/service.ts
|
|
2414
|
+
A cli/src/modules/common/capabilities/snapshots/cliSnapshot.ts
|
|
2415
|
+
A cli/src/modules/common/capabilities/types.ts
|
|
2416
|
+
A cli/src/modules/common/previewEnv/registerPreviewEnvHandler.ts
|
|
2417
|
+
A cli/src/modules/common/registerCommonHandlers.capabilities.test.ts
|
|
2418
|
+
D cli/src/modules/common/registerCommonHandlers.detectCli.test.ts
|
|
2419
|
+
M cli/src/modules/common/registerCommonHandlers.ts
|
|
2420
|
+
|
|
2421
|
+
commit bcf10af946264798f626e32723b64a6a4073d585
|
|
2422
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2423
|
+
AuthorDate: 2026-01-22
|
|
2424
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2425
|
+
CommitDate: 2026-01-22
|
|
2426
|
+
|
|
2427
|
+
test(ui): update useCLIDetection hook tests for capabilities
|
|
2428
|
+
|
|
2429
|
+
M expo-app/sources/hooks/useCLIDetection.hook.test.ts
|
|
2430
|
+
|
|
2431
|
+
commit a5cac698f15bf874f4c51996be1ce321431639b7
|
|
2432
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2433
|
+
AuthorDate: 2026-01-22
|
|
2434
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2435
|
+
CommitDate: 2026-01-22
|
|
2436
|
+
|
|
2437
|
+
feat(cli): harden session queue, switching, and lifecycle
|
|
2438
|
+
|
|
2439
|
+
- Add metadata-backed messageQueueV1 pop/materialize path for pending messages\n- Preserve per-message localId so we can mark committed messages discarded\n- Prompt + discard policy for remote→local switching when remote backlog exists\n- Emit durable ACP task_started/task_complete edges for Claude and Codex\n- Add unit tests for queue pop, discard markers, and lifecycle events
|
|
2440
|
+
|
|
2441
|
+
M cli/src/api/apiSession.test.ts
|
|
2442
|
+
M cli/src/api/apiSession.ts
|
|
2443
|
+
A cli/src/api/discardedCommittedMessageLocalIds.test.ts
|
|
2444
|
+
A cli/src/api/discardedCommittedMessageLocalIds.ts
|
|
2445
|
+
A cli/src/api/messageQueueV1.test.ts
|
|
2446
|
+
A cli/src/api/messageQueueV1.ts
|
|
2447
|
+
M cli/src/api/types.ts
|
|
2448
|
+
M cli/src/claude/claudeLocalLauncher.test.ts
|
|
2449
|
+
M cli/src/claude/claudeLocalLauncher.ts
|
|
2450
|
+
M cli/src/claude/claudeRemoteLauncher.ts
|
|
2451
|
+
M cli/src/claude/loop.ts
|
|
2452
|
+
M cli/src/claude/runClaude.ts
|
|
2453
|
+
M cli/src/claude/session.test.ts
|
|
2454
|
+
M cli/src/claude/session.ts
|
|
2455
|
+
M cli/src/codex/codexMcpClient.test.ts
|
|
2456
|
+
M cli/src/codex/runCodex.ts
|
|
2457
|
+
A cli/src/codex/utils/codexAcpLifecycle.test.ts
|
|
2458
|
+
A cli/src/codex/utils/codexAcpLifecycle.ts
|
|
2459
|
+
M cli/src/gemini/runGemini.ts
|
|
2460
|
+
M cli/src/test-setup.ts
|
|
2461
|
+
A cli/src/utils/createSessionMetadata.test.ts
|
|
2462
|
+
M cli/src/utils/createSessionMetadata.ts
|
|
2463
|
+
A cli/src/utils/waitForMessagesOrPending.test.ts
|
|
2464
|
+
A cli/src/utils/waitForMessagesOrPending.ts
|
|
2465
|
+
|
|
2466
|
+
commit 3fc704424e8da38264e7fc10227519121b572db3
|
|
2467
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2468
|
+
AuthorDate: 2026-01-22
|
|
2469
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2470
|
+
CommitDate: 2026-01-22
|
|
2471
|
+
|
|
2472
|
+
feat(app): add pending queue, discard markers, and capabilities
|
|
2473
|
+
|
|
2474
|
+
- Replace broken pending-* socket events with encrypted messageQueueV1 in session metadata\n- Prefer queueing when agent not ready/offline/controlledByUser to avoid switch bounce\n- Render committed-but-discarded messages via metadata localId markers\n- Use durable lifecycle edges to drive thinking transitions (less reliance on volatile keepalive)\n- Refactor detect-cli plumbing into detect-capabilities cache/hook
|
|
2475
|
+
|
|
2476
|
+
M expo-app/INACTIVE_SESSION_RESUME.md
|
|
2477
|
+
M expo-app/sources/-session/SessionView.tsx
|
|
2478
|
+
M expo-app/sources/__tests__/app/new/pick/machine.presentation.test.ts
|
|
2479
|
+
M expo-app/sources/app/(app)/machine/[id].tsx
|
|
2480
|
+
M expo-app/sources/app/(app)/new/NewSessionWizard.tsx
|
|
2481
|
+
M expo-app/sources/app/(app)/new/index.tsx
|
|
2482
|
+
M expo-app/sources/app/(app)/new/pick/machine.tsx
|
|
2483
|
+
M expo-app/sources/components/MessageView.tsx
|
|
2484
|
+
M expo-app/sources/components/PendingMessagesModal.tsx
|
|
2485
|
+
M expo-app/sources/components/machine/DetectedClisList.tsx
|
|
2486
|
+
M expo-app/sources/components/machine/DetectedClisModal.tsx
|
|
2487
|
+
M expo-app/sources/components/newSession/MachineCliGlyphs.tsx
|
|
2488
|
+
M expo-app/sources/hooks/useCLIDetection.ts
|
|
2489
|
+
A expo-app/sources/hooks/useMachineCapabilitiesCache.ts
|
|
2490
|
+
D expo-app/sources/hooks/useMachineDetectCliCache.ts
|
|
2491
|
+
M expo-app/sources/sync/apiTypes.ts
|
|
2492
|
+
A expo-app/sources/sync/capabilitiesProtocol.ts
|
|
2493
|
+
A expo-app/sources/sync/controlledByUserTransitions.test.ts
|
|
2494
|
+
A expo-app/sources/sync/controlledByUserTransitions.ts
|
|
2495
|
+
D expo-app/sources/sync/detectCliResponse.test.ts
|
|
2496
|
+
D expo-app/sources/sync/detectCliResponse.ts
|
|
2497
|
+
A expo-app/sources/sync/messageQueueV1.test.ts
|
|
2498
|
+
A expo-app/sources/sync/messageQueueV1.ts
|
|
2499
|
+
M expo-app/sources/sync/ops.ts
|
|
2500
|
+
M expo-app/sources/sync/settings.spec.ts
|
|
2501
|
+
M expo-app/sources/sync/storage.ts
|
|
2502
|
+
A expo-app/sources/sync/storageTypes.discardedCommitted.test.ts
|
|
2503
|
+
M expo-app/sources/sync/storageTypes.ts
|
|
2504
|
+
A expo-app/sources/sync/submitMode.test.ts
|
|
2505
|
+
A expo-app/sources/sync/submitMode.ts
|
|
2506
|
+
M expo-app/sources/sync/sync.ts
|
|
2507
|
+
M expo-app/sources/text/translations/ca.ts
|
|
2508
|
+
M expo-app/sources/text/translations/en.ts
|
|
2509
|
+
M expo-app/sources/text/translations/es.ts
|
|
2510
|
+
M expo-app/sources/text/translations/it.ts
|
|
2511
|
+
M expo-app/sources/text/translations/ja.ts
|
|
2512
|
+
M expo-app/sources/text/translations/pl.ts
|
|
2513
|
+
M expo-app/sources/text/translations/pt.ts
|
|
2514
|
+
M expo-app/sources/text/translations/ru.ts
|
|
2515
|
+
M expo-app/sources/text/translations/zh-Hans.ts
|
|
2516
|
+
A expo-app/sources/utils/discardedCommittedMessages.test.ts
|
|
2517
|
+
A expo-app/sources/utils/discardedCommittedMessages.ts
|
|
2518
|
+
A expo-app/sources/utils/sessionUtils.test.ts
|
|
2519
|
+
M expo-app/sources/utils/sessionUtils.ts
|
|
2520
|
+
|
|
2521
|
+
commit 49893dd7d16a82a90d41f8d43450d6e9099e9002
|
|
2522
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2523
|
+
AuthorDate: 2026-01-22
|
|
2524
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2525
|
+
CommitDate: 2026-01-22
|
|
2526
|
+
|
|
2527
|
+
fix(terminal): harden remote→local switching input
|
|
2528
|
+
|
|
2529
|
+
Problem: users report terminal corruption / sluggish input after switching from remote→local, often after spamming space to trigger the switch.
|
|
2530
|
+
|
|
2531
|
+
Change:
|
|
2532
|
+
- Add a pure keypress interpreter and support Ctrl+T as an immediate ‘switch to terminal’ shortcut (keeps double-space behavior).
|
|
2533
|
+
- Add a small stdin cleanup helper to briefly drain buffered input after the Ink UI unmounts, then pause stdin.
|
|
2534
|
+
- Add focused unit tests for key interpretation and stdin cleanup.
|
|
2535
|
+
|
|
2536
|
+
Why:
|
|
2537
|
+
- Avoid leaving stdin in an unexpected state and prevent buffered ‘space spam’ from leaking into the next interactive process.
|
|
2538
|
+
|
|
2539
|
+
Refs: slopus/happy#301, slopus/happy-cli#124
|
|
2540
|
+
|
|
2541
|
+
A cli/src/ui/ink/RemoteModeDisplay.test.ts
|
|
2542
|
+
M cli/src/ui/ink/RemoteModeDisplay.tsx
|
|
2543
|
+
A cli/src/utils/terminalStdinCleanup.test.ts
|
|
2544
|
+
A cli/src/utils/terminalStdinCleanup.ts
|
|
2545
|
+
|
|
2546
|
+
commit 0126667539b67a34fc4aa8106d9647df8d135ff2
|
|
2547
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2548
|
+
AuthorDate: 2026-01-22
|
|
2549
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2550
|
+
CommitDate: 2026-01-22
|
|
2551
|
+
|
|
2552
|
+
fix(claude): forward signals to binary child process
|
|
2553
|
+
|
|
2554
|
+
Problem: when Claude is installed as a binary (e.g. Homebrew), the launcher can exit during mode switches but the Claude child may survive as an orphan and keep reading from inherited stdin, causing ‘competing processes’/terminal corruption symptoms.
|
|
2555
|
+
|
|
2556
|
+
Change:
|
|
2557
|
+
- Add attachChildSignalForwarding() and use it in the binary-spawn path so SIGTERM/SIGINT (and SIGHUP on non-Windows) are forwarded to the child.
|
|
2558
|
+
- Add a lightweight unit test that asserts which signals are registered and that the child receives forwarded kills.
|
|
2559
|
+
|
|
2560
|
+
Why:
|
|
2561
|
+
- Ensures mode-switch termination actually terminates the process that owns stdin, preventing multiple readers.
|
|
2562
|
+
|
|
2563
|
+
Refs: slopus/happy#301, slopus/happy-cli#124
|
|
2564
|
+
|
|
2565
|
+
M cli/scripts/claude_version_utils.cjs
|
|
2566
|
+
A cli/src/scripts/claude_version_utils.signalForwarding.test.ts
|
|
2567
|
+
|
|
2568
|
+
commit 39c7b8a56b3221f64922ccb9116cdaa9f5826ade
|
|
2569
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2570
|
+
AuthorDate: 2026-01-22
|
|
2571
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2572
|
+
CommitDate: 2026-01-22
|
|
2573
|
+
|
|
2574
|
+
refactor(app): rename tmux/message-send settings under session
|
|
2575
|
+
|
|
2576
|
+
- Rename terminal tmux settings keys to session* (and migrate old keys in settingsParse)\n- Rename messageSendMode to sessionMessageSendMode\n- Add unified Session settings screen combining message sending + tmux\n- Keep /settings/terminal and /settings/message-sending as aliases
|
|
2577
|
+
|
|
2578
|
+
M expo-app/sources/app/(app)/machine/[id].tsx
|
|
2579
|
+
M expo-app/sources/app/(app)/new/index.tsx
|
|
2580
|
+
M expo-app/sources/app/(app)/settings/message-sending.tsx
|
|
2581
|
+
A expo-app/sources/app/(app)/settings/session.tsx
|
|
2582
|
+
M expo-app/sources/app/(app)/settings/terminal.tsx
|
|
2583
|
+
M expo-app/sources/components/SettingsView.tsx
|
|
2584
|
+
M expo-app/sources/sync/settings.spec.ts
|
|
2585
|
+
M expo-app/sources/sync/settings.ts
|
|
2586
|
+
M expo-app/sources/sync/sync.ts
|
|
2587
|
+
M expo-app/sources/sync/terminalSettings.spec.ts
|
|
2588
|
+
M expo-app/sources/sync/terminalSettings.ts
|
|
2589
|
+
|
|
2590
|
+
commit fcec6c311b6bc9e71b38fcf7713fb07af4a8b820
|
|
2591
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2592
|
+
AuthorDate: 2026-01-22
|
|
2593
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2594
|
+
CommitDate: 2026-01-22
|
|
2595
|
+
|
|
2596
|
+
feat(sync): add cross-device unread markers
|
|
2597
|
+
|
|
2598
|
+
Store read markers in encrypted session metadata (readStateV1) so unread state syncs across devices without relying on local MMKV.\n\nUnread is computed from session.seq + pending queue activity timestamps, and SessionView marks the session as viewed on focus and when new activity arrives while focused (debounced).\n\nAdds computeHasUnreadActivity tests and updates useHasUnreadMessages to use metadata instead of message lists.
|
|
2599
|
+
|
|
2600
|
+
M expo-app/sources/-session/SessionView.tsx
|
|
2601
|
+
M expo-app/sources/sync/storage.ts
|
|
2602
|
+
M expo-app/sources/sync/storageTypes.ts
|
|
2603
|
+
M expo-app/sources/sync/sync.ts
|
|
2604
|
+
M expo-app/sources/sync/unread.test.ts
|
|
2605
|
+
M expo-app/sources/sync/unread.ts
|
|
2606
|
+
|
|
2607
|
+
commit 8c16ee8f9cef04c3ae515ab2ebcb12b5ef317759
|
|
2608
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2609
|
+
AuthorDate: 2026-01-22
|
|
2610
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2611
|
+
CommitDate: 2026-01-22
|
|
2612
|
+
|
|
2613
|
+
fix(auth): surface auth failures and gate unauth routes
|
|
2614
|
+
|
|
2615
|
+
Why
|
|
2616
|
+
- Some upstream error payloads include usage.service_tier=null. Our Zod schema required a string, so we dropped the whole message during normalization, which could hide critical auth errors (e.g. 401 OAuth expired) in the app.
|
|
2617
|
+
- Users could deep-link into protected routes (e.g. /new) while unauthenticated, leading to confusing screens that then fail later.
|
|
2618
|
+
|
|
2619
|
+
What
|
|
2620
|
+
- Accept service_tier as nullish so messages are not dropped.
|
|
2621
|
+
- Add an auth guard in the (app) layout that redirects unauthenticated users to / unless they are on public routes (index, restore).
|
|
2622
|
+
- Add a small routing helper with unit tests.
|
|
2623
|
+
- Add root package.json test/typecheck scripts so happys stack test/typecheck can run in the monorepo context (delegates to expo-app).
|
|
2624
|
+
|
|
2625
|
+
M expo-app/sources/app/(app)/_layout.tsx
|
|
2626
|
+
A expo-app/sources/auth/authRouting.test.ts
|
|
2627
|
+
A expo-app/sources/auth/authRouting.ts
|
|
2628
|
+
M expo-app/sources/sync/typesRaw.spec.ts
|
|
2629
|
+
M expo-app/sources/sync/typesRaw.ts
|
|
2630
|
+
M package.json
|
|
2631
|
+
|
|
2632
|
+
commit 320a89e19ca060f23f67c0283cb075b1fd68635c
|
|
2633
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2634
|
+
AuthorDate: 2026-01-22
|
|
2635
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2636
|
+
CommitDate: 2026-01-22
|
|
2637
|
+
|
|
2638
|
+
test(happy): run cli and server checks from root scripts
|
|
2639
|
+
|
|
2640
|
+
The Happy monorepo includes expo-app, cli, and server subprojects, but the root scripts only ran expo-app checks.\n\n- Expand "test" to run expo-app + cli + server suites\n- Expand "typecheck" to include cli typecheck and server TS build\n\nThis keeps existing behavior for expo-app and ensures new cli/server tests are exercised when running `happys test/typecheck happy`.
|
|
2641
|
+
|
|
2642
|
+
M package.json
|
|
2643
|
+
|
|
2644
|
+
commit 3b3609fed43448255148dbbfcaa9c656f35703a3
|
|
2645
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2646
|
+
AuthorDate: 2026-01-22
|
|
2647
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2648
|
+
CommitDate: 2026-01-22
|
|
2649
|
+
|
|
2650
|
+
fix(rpc): add structured code for missing RPC methods
|
|
2651
|
+
|
|
2652
|
+
Server now returns an explicit "RPC_METHOD_NOT_AVAILABLE" errorCode alongside the legacy error string so newer clients can detect this case without brittle string matching.\n\nClient-side changes:\n- Propagate server error + errorCode via thrown Error (rpcErrorCode)\n- sessionArchive fallback prefers rpcErrorCode and falls back to an exact legacy message match for older servers\n\nTests:\n- server rpcHandler includes errorCode\n- app rpcErrors + sessionArchive behavior
|
|
2653
|
+
|
|
2654
|
+
M expo-app/sources/sync/apiSocket.ts
|
|
2655
|
+
A expo-app/sources/sync/ops.sessionArchive.test.ts
|
|
2656
|
+
M expo-app/sources/sync/ops.ts
|
|
2657
|
+
A expo-app/sources/sync/rpcErrors.test.ts
|
|
2658
|
+
A expo-app/sources/sync/rpcErrors.ts
|
|
2659
|
+
A server/sources/app/api/socket/rpcHandler.spec.ts
|
|
2660
|
+
M server/sources/app/api/socket/rpcHandler.ts
|
|
2661
|
+
|
|
2662
|
+
commit 0e2c7928f24cd0791c77060e170b0e7a84b847d3
|
|
2663
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2664
|
+
AuthorDate: 2026-01-22
|
|
2665
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2666
|
+
CommitDate: 2026-01-22
|
|
2667
|
+
|
|
2668
|
+
fix(scanner): tolerate onMessage exceptions
|
|
2669
|
+
|
|
2670
|
+
createSessionScanner now catches exceptions thrown by the consumer `onMessage` callback and logs them instead of letting the scanner crash or trigger InvalidateSync retry/backoff loops.\n\nAlso documents InvalidateSync coalescing + failure semantics explicitly (invalidateAndAwait always resolves).\n\nTest: sessionScanner logs and continues when onMessage throws.
|
|
2671
|
+
|
|
2672
|
+
A cli/src/claude/utils/sessionScanner.onMessageErrors.test.ts
|
|
2673
|
+
M cli/src/claude/utils/sessionScanner.ts
|
|
2674
|
+
M cli/src/utils/sync.ts
|
|
2675
|
+
|
|
2676
|
+
commit 7fbe1f1cc7273821a45986cfc6ef4f2d7eb32eec
|
|
2677
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2678
|
+
AuthorDate: 2026-01-22
|
|
2679
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2680
|
+
CommitDate: 2026-01-22
|
|
2681
|
+
|
|
2682
|
+
fix(permission): avoid no-op permissionModeUpdatedAt bumps
|
|
2683
|
+
|
|
2684
|
+
Prevent unnecessary permission metadata churn by only bumping permissionModeUpdatedAt when the effective permission mode actually changes.\n\n- Claude: Session.setLastPermissionMode is a no-op when mode is unchanged\n- Codex/Gemini: reuse shared helper to conditionally update session metadata\n\nWhy: the UI merges permission mode based on permissionModeUpdatedAt, so repeated no-op bumps can incorrectly override the user's latest selection.\n\nTests: add coverage for the no-op behavior.
|
|
2685
|
+
|
|
2686
|
+
M cli/src/claude/session.test.ts
|
|
2687
|
+
M cli/src/claude/session.ts
|
|
2688
|
+
M cli/src/codex/runCodex.ts
|
|
2689
|
+
M cli/src/gemini/runGemini.ts
|
|
2690
|
+
A cli/src/utils/permissionModeMetadata.test.ts
|
|
2691
|
+
A cli/src/utils/permissionModeMetadata.ts
|
|
2692
|
+
|
|
2693
|
+
commit 2026fbab5cb33d17d466ac7b81e811169d7fe7ef
|
|
2694
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2695
|
+
AuthorDate: 2026-01-22
|
|
2696
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2697
|
+
CommitDate: 2026-01-22
|
|
2698
|
+
|
|
2699
|
+
fix(claude): accept -c as continue flag
|
|
2700
|
+
|
|
2701
|
+
Claude local runner now treats `-c` as equivalent to `--continue` when detecting user-provided session control flags.
|
|
2702
|
+
|
|
2703
|
+
M cli/src/claude/claudeLocal.ts
|
|
2704
|
+
|
|
2705
|
+
commit ee0bec2a0b90bb277db7c3f04607de867b57bf33
|
|
2706
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2707
|
+
AuthorDate: 2026-01-22
|
|
2708
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2709
|
+
CommitDate: 2026-01-22
|
|
2710
|
+
|
|
2711
|
+
Delete INACTIVE_SESSION_RESUME.md
|
|
2712
|
+
|
|
2713
|
+
D expo-app/INACTIVE_SESSION_RESUME.md
|
|
2714
|
+
|
|
2715
|
+
commit 84df0d2605133a165a381dd6ae65507cfda23795
|
|
2716
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2717
|
+
AuthorDate: 2026-01-22
|
|
2718
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2719
|
+
CommitDate: 2026-01-22
|
|
2720
|
+
|
|
2721
|
+
fix(expo-app): stabilize postinstall and libsodium patches
|
|
2722
|
+
|
|
2723
|
+
- Replace inline postinstall command with a dedicated script (expo-app/tools/postinstall.mjs)\n- Run patch-package from the repo root to support Yarn workspace hoisting\n- Add a patch for libsodium-wrappers@0.7.16 to restore missing dist/modules-esm/libsodium.mjs\n- Remove the obsolete @more-tech/react-native-libsodium 1.5.5 patch (package is now 1.5.6 and already avoids folly_version)\n- Tighten TypeScript typing for the web libsodium adapter\n\nThis makes installs more reliable across hoisting layouts and RN/Expo versions.
|
|
2724
|
+
|
|
2725
|
+
M expo-app/package.json
|
|
2726
|
+
D expo-app/patches/@more-tech+react-native-libsodium+1.5.5.patch
|
|
2727
|
+
A expo-app/patches/libsodium-wrappers+0.7.16.patch
|
|
2728
|
+
M expo-app/sources/encryption/libsodium.lib.web.ts
|
|
2729
|
+
A expo-app/tools/postinstall.mjs
|
|
2730
|
+
M yarn.lock
|
|
2731
|
+
|
|
2732
|
+
commit 544f9711b6cfe195ed56d7426e326b54189dc2be
|
|
2733
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2734
|
+
AuthorDate: 2026-01-23
|
|
2735
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2736
|
+
CommitDate: 2026-01-23
|
|
2737
|
+
|
|
2738
|
+
fix(ui): respond to plan/question tools via session RPC
|
|
2739
|
+
|
|
2740
|
+
- ExitPlanMode: approve/reject via permission RPC (no extra chat message)
|
|
2741
|
+
|
|
2742
|
+
- AskUserQuestion: send answers via new session RPC interaction.respond; fallback to deny+sendMessage when RPC unsupported
|
|
2743
|
+
|
|
2744
|
+
- Add unit tests covering both tool views
|
|
2745
|
+
|
|
2746
|
+
A expo-app/sources/components/tools/views/AskUserQuestionView.test.ts
|
|
2747
|
+
M expo-app/sources/components/tools/views/AskUserQuestionView.tsx
|
|
2748
|
+
A expo-app/sources/components/tools/views/ExitPlanToolView.test.ts
|
|
2749
|
+
M expo-app/sources/components/tools/views/ExitPlanToolView.tsx
|
|
2750
|
+
M expo-app/sources/sync/ops.ts
|
|
2751
|
+
|
|
2752
|
+
commit 8b3f39f226644bd72269d484a13bb8faa9730d13
|
|
2753
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2754
|
+
AuthorDate: 2026-01-23
|
|
2755
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2756
|
+
CommitDate: 2026-01-23
|
|
2757
|
+
|
|
2758
|
+
feat(cli): add interaction.respond for AskUserQuestion
|
|
2759
|
+
|
|
2760
|
+
- Register session RPC interaction.respond in Claude remote launcher
|
|
2761
|
+
|
|
2762
|
+
- Approve tool call and inject tool_result into Claude prompt stream
|
|
2763
|
+
|
|
2764
|
+
- Expose sender hook from claudeRemote for mid-turn tool_result injection
|
|
2765
|
+
|
|
2766
|
+
- Add unit test for interaction respond helper
|
|
2767
|
+
|
|
2768
|
+
M cli/src/claude/claudeRemote.ts
|
|
2769
|
+
M cli/src/claude/claudeRemoteLauncher.ts
|
|
2770
|
+
A cli/src/claude/utils/interactionRespond.test.ts
|
|
2771
|
+
A cli/src/claude/utils/interactionRespond.ts
|
|
2772
|
+
M cli/src/claude/utils/permissionHandler.ts
|
|
2773
|
+
|
|
2774
|
+
commit ed4bc007308af4c1c4e0ac6f67d58adcc54fe37b
|
|
2775
|
+
Author: Ordinary <Ordinary@zjgsdx.edu.cn>
|
|
2776
|
+
AuthorDate: 2025-12-24
|
|
2777
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2778
|
+
CommitDate: 2026-01-23
|
|
2779
|
+
|
|
2780
|
+
feat: add execpolicy approval option for Codex
|
|
2781
|
+
|
|
2782
|
+
M expo-app/sources/components/tools/PermissionFooter.tsx
|
|
2783
|
+
M expo-app/sources/sync/ops.ts
|
|
2784
|
+
M expo-app/sources/sync/reducer/reducer.ts
|
|
2785
|
+
M expo-app/sources/sync/storageTypes.ts
|
|
2786
|
+
M expo-app/sources/sync/typesMessage.ts
|
|
2787
|
+
M expo-app/sources/sync/typesRaw.ts
|
|
2788
|
+
M expo-app/sources/text/translations/ca.ts
|
|
2789
|
+
M expo-app/sources/text/translations/en.ts
|
|
2790
|
+
M expo-app/sources/text/translations/es.ts
|
|
2791
|
+
M expo-app/sources/text/translations/pl.ts
|
|
2792
|
+
M expo-app/sources/text/translations/pt.ts
|
|
2793
|
+
M expo-app/sources/text/translations/ru.ts
|
|
2794
|
+
M expo-app/sources/text/translations/zh-Hans.ts
|
|
2795
|
+
|
|
2796
|
+
commit 78adc9c58811ae4178823ddb6418121a0ecb34a7
|
|
2797
|
+
Author: Ordinary <Ordinary@zjgsdx.edu.cn>
|
|
2798
|
+
AuthorDate: 2025-12-24
|
|
2799
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2800
|
+
CommitDate: 2026-01-23
|
|
2801
|
+
|
|
2802
|
+
feat(codex): support execpolicy approvals and MCP tool calls
|
|
2803
|
+
|
|
2804
|
+
M cli/src/agent/acp/AcpBackend.ts
|
|
2805
|
+
M cli/src/api/types.ts
|
|
2806
|
+
M cli/src/codex/codexMcpClient.ts
|
|
2807
|
+
M cli/src/codex/runCodex.ts
|
|
2808
|
+
M cli/src/utils/BasePermissionHandler.ts
|
|
2809
|
+
|
|
2810
|
+
commit 9dfa09bef8d8d6a9b791c91e2cb1fe49c4204806
|
|
2811
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2812
|
+
AuthorDate: 2026-01-22
|
|
2813
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2814
|
+
CommitDate: 2026-01-23
|
|
2815
|
+
|
|
2816
|
+
fix(i18n): add Codex execpolicy button text
|
|
2817
|
+
|
|
2818
|
+
Add missing codex.permissions.yesAlwaysAllowCommand translations for Italian and Japanese to keep the translation schema complete.
|
|
2819
|
+
|
|
2820
|
+
M expo-app/sources/text/translations/it.ts
|
|
2821
|
+
M expo-app/sources/text/translations/ja.ts
|
|
2822
|
+
|
|
2823
|
+
commit 559d39da116dcbae4d9be05e55a23d9e79d44160
|
|
2824
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2825
|
+
AuthorDate: 2026-01-22
|
|
2826
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2827
|
+
CommitDate: 2026-01-23
|
|
2828
|
+
|
|
2829
|
+
fix(reducer): keep permission messages idempotent
|
|
2830
|
+
|
|
2831
|
+
Avoid marking permission tool messages as changed when AgentState.request arguments are unchanged. This prevents permission messages from being re-emitted on unrelated message updates while still allowing late-arriving fields (e.g. proposedExecpolicyAmendment) to update the existing message.
|
|
2832
|
+
|
|
2833
|
+
M expo-app/sources/sync/reducer/reducer.ts
|
|
2834
|
+
|
|
2835
|
+
commit cc3c711ae28e700c1d0b96485e0df06c5ac9978c
|
|
2836
|
+
Author: jio <g2gallardy@gmail.com>
|
|
2837
|
+
AuthorDate: 2026-01-18
|
|
2838
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2839
|
+
CommitDate: 2026-01-23
|
|
2840
|
+
|
|
2841
|
+
fix: move claudeArgs to end of args array for slash command support
|
|
2842
|
+
|
|
2843
|
+
Slash commands like /help weren't working because the prompt wasn't at the end of the
|
|
2844
|
+
CLI args where Claude expects it.
|
|
2845
|
+
|
|
2846
|
+
M cli/src/claude/claudeLocal.ts
|
|
2847
|
+
|
|
2848
|
+
commit d06d5a833f8ed6fdcfe82ae6a829e20307a97532
|
|
2849
|
+
Author: Felix Berlakovich <felix@berlakovich.at>
|
|
2850
|
+
AuthorDate: 2026-01-19
|
|
2851
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2852
|
+
CommitDate: 2026-01-23
|
|
2853
|
+
|
|
2854
|
+
Add signal forwarding to claudeLocal.ts
|
|
2855
|
+
|
|
2856
|
+
M cli/src/claude/claudeLocal.ts
|
|
2857
|
+
|
|
2858
|
+
commit 1b7cb3bfea86cb429d3e04b329595013a8590f3e
|
|
2859
|
+
Author: zhangkunyuan <zhangkunyuan@cmhi.chinamobile.com>
|
|
2860
|
+
AuthorDate: 2025-11-20
|
|
2861
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2862
|
+
CommitDate: 2026-01-23
|
|
2863
|
+
|
|
2864
|
+
feat: handle /clear command as session reset in codex
|
|
2865
|
+
|
|
2866
|
+
M cli/src/claude/runClaude.ts
|
|
2867
|
+
M cli/src/codex/runCodex.ts
|
|
2868
|
+
M cli/src/parsers/specialCommands.ts
|
|
2869
|
+
|
|
2870
|
+
commit 332ab2b0cd93e30c1f8dae994bfa2c5d7e0dfbc9
|
|
2871
|
+
Author: Gershom Rogers <gershomrogers@gmail.com>
|
|
2872
|
+
AuthorDate: 2026-01-11
|
|
2873
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2874
|
+
CommitDate: 2026-01-23
|
|
2875
|
+
|
|
2876
|
+
fix(cli): improve abort error handling to reduce spurious error messages
|
|
2877
|
+
|
|
2878
|
+
- Detect DOMException/AbortError from Node.js spawn\n- Only show "Process exited unexpectedly" for genuine failures\n- Better error logging for debugging
|
|
2879
|
+
|
|
2880
|
+
M cli/src/claude/claudeRemoteLauncher.ts
|
|
2881
|
+
|
|
2882
|
+
commit e956463db3e216e89d832c4a5082a3583e81968d
|
|
2883
|
+
Author: Ordinary <Ordinary@zjgsdx.edu.cn>
|
|
2884
|
+
AuthorDate: 2025-12-24
|
|
2885
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2886
|
+
CommitDate: 2026-01-23
|
|
2887
|
+
|
|
2888
|
+
fix: use runtime execPath for MCP bridge
|
|
2889
|
+
|
|
2890
|
+
M cli/src/codex/runCodex.ts
|
|
2891
|
+
M cli/src/gemini/runGemini.ts
|
|
2892
|
+
M cli/src/utils/spawnHappyCLI.ts
|
|
2893
|
+
|
|
2894
|
+
commit f0a7d8d0b40ccf97cce099e021810be8eedfc904
|
|
2895
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2896
|
+
AuthorDate: 2026-01-23
|
|
2897
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2898
|
+
CommitDate: 2026-01-23
|
|
2899
|
+
|
|
2900
|
+
fix(codex): use mcp tool call id for approvals
|
|
2901
|
+
|
|
2902
|
+
Prefer codex_mcp_tool_call_id over codex_call_id when deriving toolCallId for permission requests, and align execpolicy amendment caching with the same id when available.
|
|
2903
|
+
|
|
2904
|
+
Adds a small unit test for tool call id selection.
|
|
2905
|
+
|
|
2906
|
+
M cli/src/codex/codexMcpClient.test.ts
|
|
2907
|
+
M cli/src/codex/codexMcpClient.ts
|
|
2908
|
+
|
|
2909
|
+
commit da620b6865adfba9e3b4d0a0330404c603fdab8d
|
|
2910
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2911
|
+
AuthorDate: 2026-01-22
|
|
2912
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2913
|
+
CommitDate: 2026-01-23
|
|
2914
|
+
|
|
2915
|
+
feat(server): add full/light flavors with sqlite migrations
|
|
2916
|
+
|
|
2917
|
+
(cherry picked from commit b21928c5e779f7691cb06a240cfab5f83f167809)
|
|
2918
|
+
|
|
2919
|
+
M server/.gitignore
|
|
2920
|
+
M server/README.md
|
|
2921
|
+
M server/package.json
|
|
2922
|
+
A server/prisma/sqlite/migrations/20260122190000_baseline/migration.sql
|
|
2923
|
+
A server/prisma/sqlite/migrations/migration_lock.toml
|
|
2924
|
+
A server/prisma/sqlite/schema.prisma
|
|
2925
|
+
A server/scripts/dev.full.ts
|
|
2926
|
+
A server/scripts/dev.fullArgs.spec.ts
|
|
2927
|
+
A server/scripts/dev.fullArgs.ts
|
|
2928
|
+
A server/scripts/dev.light.ts
|
|
2929
|
+
A server/scripts/dev.lightPlan.spec.ts
|
|
2930
|
+
A server/scripts/dev.lightPlan.ts
|
|
2931
|
+
A server/scripts/generateSqliteSchema.spec.ts
|
|
2932
|
+
A server/scripts/generateSqliteSchema.ts
|
|
2933
|
+
A server/scripts/migrate.light.deploy.ts
|
|
2934
|
+
A server/scripts/migrate.light.new.ts
|
|
2935
|
+
A server/scripts/migrate.light.resolveBaseline.ts
|
|
2936
|
+
M server/sources/app/api/api.ts
|
|
2937
|
+
M server/sources/app/api/routes/userRoutes.ts
|
|
2938
|
+
A server/sources/app/api/uiConfig.spec.ts
|
|
2939
|
+
A server/sources/app/api/uiConfig.ts
|
|
2940
|
+
M server/sources/app/api/utils/enableErrorHandlers.ts
|
|
2941
|
+
A server/sources/app/api/utils/enableOptionalStatics.ts
|
|
2942
|
+
A server/sources/app/api/utils/enablePublicFiles.ts
|
|
2943
|
+
A server/sources/app/api/utils/enableServeUi.ts
|
|
2944
|
+
M server/sources/app/presence/timeout.ts
|
|
2945
|
+
A server/sources/flavors/light/env.spec.ts
|
|
2946
|
+
A server/sources/flavors/light/env.ts
|
|
2947
|
+
A server/sources/flavors/light/files.spec.ts
|
|
2948
|
+
A server/sources/flavors/light/files.ts
|
|
2949
|
+
A server/sources/main.light.ts
|
|
2950
|
+
M server/sources/main.ts
|
|
2951
|
+
A server/sources/startServer.ts
|
|
2952
|
+
M server/sources/storage/db.ts
|
|
2953
|
+
M server/sources/storage/files.ts
|
|
2954
|
+
M server/sources/storage/processImage.spec.ts
|
|
2955
|
+
M server/sources/storage/uploadImage.ts
|
|
2956
|
+
A server/sources/utils/processHandlers.ts
|
|
2957
|
+
|
|
2958
|
+
commit 893ce7af5df079be26925ff7a7c5baf6e9d35088
|
|
2959
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2960
|
+
AuthorDate: 2026-01-23
|
|
2961
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2962
|
+
CommitDate: 2026-01-23
|
|
2963
|
+
|
|
2964
|
+
fix(expo-app): avoid hooks order violation on redirect
|
|
2965
|
+
|
|
2966
|
+
A expo-app/sources/app/(app)/_layout.test.ts
|
|
2967
|
+
M expo-app/sources/app/(app)/_layout.tsx
|
|
2968
|
+
|
|
2969
|
+
commit 7afbc9a2decd82d9283025eaab20b502b7ff9d3f
|
|
2970
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2971
|
+
AuthorDate: 2026-01-23
|
|
2972
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2973
|
+
CommitDate: 2026-01-23
|
|
2974
|
+
|
|
2975
|
+
fix(expo-app): persist resumeSessionId and harden clipboard paste
|
|
2976
|
+
|
|
2977
|
+
M expo-app/sources/app/(app)/new/pick/resume.tsx
|
|
2978
|
+
M expo-app/sources/sync/persistence.test.ts
|
|
2979
|
+
M expo-app/sources/sync/persistence.ts
|
|
2980
|
+
A expo-app/sources/utils/clipboard.test.ts
|
|
2981
|
+
A expo-app/sources/utils/clipboard.ts
|
|
2982
|
+
|
|
2983
|
+
commit 9a13879b753a5cb0c3c31aaae99e56b136a51e7a
|
|
2984
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2985
|
+
AuthorDate: 2026-01-23
|
|
2986
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2987
|
+
CommitDate: 2026-01-23
|
|
2988
|
+
|
|
2989
|
+
fix(expo-app): avoid false homeDir prefix matches
|
|
2990
|
+
|
|
2991
|
+
M expo-app/sources/sync/sessionListViewData.test.ts
|
|
2992
|
+
M expo-app/sources/sync/sessionListViewData.ts
|
|
2993
|
+
|
|
2994
|
+
commit c107a779e07d3f934178b6b6c21d5a650952fb99
|
|
2995
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2996
|
+
AuthorDate: 2026-01-23
|
|
2997
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
2998
|
+
CommitDate: 2026-01-23
|
|
2999
|
+
|
|
3000
|
+
fix(expo-app): avoid stuck loading in capabilities cache
|
|
3001
|
+
|
|
3002
|
+
A expo-app/sources/hooks/useMachineCapabilitiesCache.hook.test.ts
|
|
3003
|
+
M expo-app/sources/hooks/useMachineCapabilitiesCache.ts
|
|
3004
|
+
|
|
3005
|
+
commit 35c0974eff1fdd934ddc71f1e07a57a6dc0c3206
|
|
3006
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3007
|
+
AuthorDate: 2026-01-23
|
|
3008
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3009
|
+
CommitDate: 2026-01-23
|
|
3010
|
+
|
|
3011
|
+
refactor(expo-app): remove dead code and dedupe types
|
|
3012
|
+
|
|
3013
|
+
M expo-app/sources/app/(app)/settings/session.tsx
|
|
3014
|
+
M expo-app/sources/components/PendingMessagesModal.tsx
|
|
3015
|
+
M expo-app/sources/hooks/useCLIDetection.ts
|
|
3016
|
+
|
|
3017
|
+
commit b319d85e72c3495255b1407450886d9aaa462c2e
|
|
3018
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3019
|
+
AuthorDate: 2026-01-23
|
|
3020
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3021
|
+
CommitDate: 2026-01-23
|
|
3022
|
+
|
|
3023
|
+
fix(i18n): correct Spanish resumable label
|
|
3024
|
+
|
|
3025
|
+
M expo-app/sources/text/translations/es.ts
|
|
3026
|
+
|
|
3027
|
+
commit 46186162ae142634423c7530c485e09cba719cba
|
|
3028
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3029
|
+
AuthorDate: 2026-01-23
|
|
3030
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3031
|
+
CommitDate: 2026-01-23
|
|
3032
|
+
|
|
3033
|
+
test(happy-cli): fix timer cleanup and MCP schema mocks
|
|
3034
|
+
|
|
3035
|
+
M cli/src/codex/codexMcpClient.test.ts
|
|
3036
|
+
M cli/src/ui/logger.test.ts
|
|
3037
|
+
M cli/src/utils/terminalStdinCleanup.test.ts
|
|
3038
|
+
|
|
3039
|
+
commit ac5bf2f3abfa54b992c42f7249084dab4424a4c7
|
|
3040
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3041
|
+
AuthorDate: 2026-01-23
|
|
3042
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3043
|
+
CommitDate: 2026-01-23
|
|
3044
|
+
|
|
3045
|
+
test(happy-cli): reset modules for runtime override
|
|
3046
|
+
|
|
3047
|
+
M cli/src/utils/spawnHappyCLI.invocation.test.ts
|
|
3048
|
+
|
|
3049
|
+
commit 947b8d1814fbbaa486c0e8a978418ca3a7759a8b
|
|
3050
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3051
|
+
AuthorDate: 2026-01-23
|
|
3052
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3053
|
+
CommitDate: 2026-01-23
|
|
3054
|
+
|
|
3055
|
+
refactor(expo-app): remove unused optimistic flag
|
|
3056
|
+
|
|
3057
|
+
M expo-app/sources/utils/sessionUtils.ts
|
|
3058
|
+
|
|
3059
|
+
commit 8cc823d1ba2d95896633fe34ab39654e04a52cb6
|
|
3060
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3061
|
+
AuthorDate: 2026-01-23
|
|
3062
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3063
|
+
CommitDate: 2026-01-23
|
|
3064
|
+
|
|
3065
|
+
fix(server-light): validate PORT and normalize paths
|
|
3066
|
+
|
|
3067
|
+
M server/sources/flavors/light/env.spec.ts
|
|
3068
|
+
M server/sources/flavors/light/env.ts
|
|
3069
|
+
M server/sources/flavors/light/files.spec.ts
|
|
3070
|
+
M server/sources/flavors/light/files.ts
|
|
3071
|
+
|
|
3072
|
+
commit 8cb995a1abe159525864088b6b4736a5e91fc0e6
|
|
3073
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3074
|
+
AuthorDate: 2026-01-23
|
|
3075
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3076
|
+
CommitDate: 2026-01-23
|
|
3077
|
+
|
|
3078
|
+
test(server): fix schema generation sort regex
|
|
3079
|
+
|
|
3080
|
+
M server/scripts/generateSqliteSchema.spec.ts
|
|
3081
|
+
|
|
3082
|
+
commit 04d9c60ef8e776c7510f6dd46570774bb3bf2b7f
|
|
3083
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3084
|
+
AuthorDate: 2026-01-23
|
|
3085
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3086
|
+
CommitDate: 2026-01-23
|
|
3087
|
+
|
|
3088
|
+
refactor(happy-cli): remove unreachable gemini error branch
|
|
3089
|
+
|
|
3090
|
+
M cli/src/gemini/utils/formatGeminiErrorForUi.ts
|
|
3091
|
+
|
|
3092
|
+
commit 2616e5e192538bd273b7fb05d265067caf755167
|
|
3093
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3094
|
+
AuthorDate: 2026-01-23
|
|
3095
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3096
|
+
CommitDate: 2026-01-23
|
|
3097
|
+
|
|
3098
|
+
fix(server): handle missing UI index.html
|
|
3099
|
+
|
|
3100
|
+
A server/sources/app/api/utils/enableServeUi.spec.ts
|
|
3101
|
+
M server/sources/app/api/utils/enableServeUi.ts
|
|
3102
|
+
|
|
3103
|
+
commit 91136536602426430f50ad31bc5dc91a268f5a87
|
|
3104
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3105
|
+
AuthorDate: 2026-01-23
|
|
3106
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3107
|
+
CommitDate: 2026-01-23
|
|
3108
|
+
|
|
3109
|
+
fix(server): make build typecheck tests
|
|
3110
|
+
|
|
3111
|
+
M server/package.json
|
|
3112
|
+
M server/sources/flavors/light/env.spec.ts
|
|
3113
|
+
M server/sources/flavors/light/files.spec.ts
|
|
3114
|
+
|
|
3115
|
+
commit 0dd19e7fb2578a3f46f4a6cd9b5dc58f7e13e0e6
|
|
3116
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3117
|
+
AuthorDate: 2026-01-23
|
|
3118
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3119
|
+
CommitDate: 2026-01-23
|
|
3120
|
+
|
|
3121
|
+
fix(expo-app): default codex resume spec to empty
|
|
3122
|
+
|
|
3123
|
+
M expo-app/sources/sync/ops.ts
|
|
3124
|
+
M expo-app/sources/sync/settings.spec.ts
|
|
3125
|
+
M expo-app/sources/sync/settings.ts
|
|
3126
|
+
|
|
3127
|
+
commit 229e5fc3657000e08516acc4e5382a773598bb00
|
|
3128
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3129
|
+
AuthorDate: 2026-01-23
|
|
3130
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3131
|
+
CommitDate: 2026-01-23
|
|
3132
|
+
|
|
3133
|
+
fix(server-light): use file URLs for sqlite db
|
|
3134
|
+
|
|
3135
|
+
M server/sources/flavors/light/env.spec.ts
|
|
3136
|
+
M server/sources/flavors/light/env.ts
|
|
3137
|
+
|
|
3138
|
+
commit e6f597e436c583b5deb111e365827ad165f51852
|
|
3139
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3140
|
+
AuthorDate: 2026-01-23
|
|
3141
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3142
|
+
CommitDate: 2026-01-23
|
|
3143
|
+
|
|
3144
|
+
fix(server): fix server-light typecheck
|
|
3145
|
+
|
|
3146
|
+
M server/sources/storage/files.ts
|
|
3147
|
+
M server/tsconfig.json
|
|
3148
|
+
|
|
3149
|
+
commit 1564e800e355e94beb66d0493a5f704011f2548e
|
|
3150
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3151
|
+
AuthorDate: 2026-01-23
|
|
3152
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3153
|
+
CommitDate: 2026-01-23
|
|
3154
|
+
|
|
3155
|
+
fix(server): relax module settings for typecheck
|
|
3156
|
+
|
|
3157
|
+
M server/tsconfig.json
|
|
3158
|
+
|
|
3159
|
+
commit 8ab11f2788c1c3a2422d62f306b65eaf951f361a
|
|
3160
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3161
|
+
AuthorDate: 2026-01-23
|
|
3162
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3163
|
+
CommitDate: 2026-01-23
|
|
3164
|
+
|
|
3165
|
+
fix(happy-cli): parse CLI versions from full output
|
|
3166
|
+
|
|
3167
|
+
M cli/src/modules/common/capabilities/snapshots/cliSnapshot.ts
|
|
3168
|
+
|
|
3169
|
+
commit 21e096e9454e4ab8ed684aa90eb544e8dbacb14f
|
|
3170
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3171
|
+
AuthorDate: 2026-01-23
|
|
3172
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3173
|
+
CommitDate: 2026-01-23
|
|
3174
|
+
|
|
3175
|
+
fix(i18n): localize session settings item
|
|
3176
|
+
|
|
3177
|
+
M expo-app/sources/components/SettingsView.tsx
|
|
3178
|
+
M expo-app/sources/text/translations/ca.ts
|
|
3179
|
+
M expo-app/sources/text/translations/en.ts
|
|
3180
|
+
M expo-app/sources/text/translations/es.ts
|
|
3181
|
+
M expo-app/sources/text/translations/it.ts
|
|
3182
|
+
M expo-app/sources/text/translations/ja.ts
|
|
3183
|
+
M expo-app/sources/text/translations/pl.ts
|
|
3184
|
+
M expo-app/sources/text/translations/pt.ts
|
|
3185
|
+
M expo-app/sources/text/translations/ru.ts
|
|
3186
|
+
M expo-app/sources/text/translations/zh-Hans.ts
|
|
3187
|
+
|
|
3188
|
+
commit 7ca9e93196d6e6cf3eb30415ab0c692d2a05cff2
|
|
3189
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3190
|
+
AuthorDate: 2026-01-23
|
|
3191
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3192
|
+
CommitDate: 2026-01-23
|
|
3193
|
+
|
|
3194
|
+
fix(i18n): translate ExitPlanMode strings
|
|
3195
|
+
|
|
3196
|
+
M expo-app/sources/text/translations/ca.ts
|
|
3197
|
+
M expo-app/sources/text/translations/es.ts
|
|
3198
|
+
M expo-app/sources/text/translations/it.ts
|
|
3199
|
+
M expo-app/sources/text/translations/ja.ts
|
|
3200
|
+
M expo-app/sources/text/translations/pl.ts
|
|
3201
|
+
M expo-app/sources/text/translations/pt.ts
|
|
3202
|
+
M expo-app/sources/text/translations/ru.ts
|
|
3203
|
+
M expo-app/sources/text/translations/zh-Hans.ts
|
|
3204
|
+
|
|
3205
|
+
commit c4a81947f00288a00d1653835343015761503346
|
|
3206
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3207
|
+
AuthorDate: 2026-01-23
|
|
3208
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3209
|
+
CommitDate: 2026-01-23
|
|
3210
|
+
|
|
3211
|
+
fix(i18n): localize search error
|
|
3212
|
+
|
|
3213
|
+
M expo-app/sources/app/(app)/friends/search.tsx
|
|
3214
|
+
A expo-app/sources/hooks/useSearch.hook.test.ts
|
|
3215
|
+
M expo-app/sources/hooks/useSearch.ts
|
|
3216
|
+
|
|
3217
|
+
commit 208f0222a997dd9f9dd2ec8ed7eef9dcb91b842a
|
|
3218
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3219
|
+
AuthorDate: 2026-01-23
|
|
3220
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3221
|
+
CommitDate: 2026-01-23
|
|
3222
|
+
|
|
3223
|
+
fix(i18n): localize Codex resume dialog
|
|
3224
|
+
|
|
3225
|
+
M expo-app/sources/app/(app)/new/index.tsx
|
|
3226
|
+
M expo-app/sources/text/translations/ca.ts
|
|
3227
|
+
M expo-app/sources/text/translations/en.ts
|
|
3228
|
+
M expo-app/sources/text/translations/es.ts
|
|
3229
|
+
M expo-app/sources/text/translations/it.ts
|
|
3230
|
+
M expo-app/sources/text/translations/ja.ts
|
|
3231
|
+
M expo-app/sources/text/translations/pl.ts
|
|
3232
|
+
M expo-app/sources/text/translations/pt.ts
|
|
3233
|
+
M expo-app/sources/text/translations/ru.ts
|
|
3234
|
+
M expo-app/sources/text/translations/zh-Hans.ts
|
|
3235
|
+
|
|
3236
|
+
commit 02ad6b4a8352635f173dfdb1bf96109135255d58
|
|
3237
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3238
|
+
AuthorDate: 2026-01-23
|
|
3239
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3240
|
+
CommitDate: 2026-01-23
|
|
3241
|
+
|
|
3242
|
+
fix(i18n): move openMachine to connect scope
|
|
3243
|
+
|
|
3244
|
+
M expo-app/sources/app/(app)/new/index.tsx
|
|
3245
|
+
M expo-app/sources/text/translations/ca.ts
|
|
3246
|
+
M expo-app/sources/text/translations/es.ts
|
|
3247
|
+
M expo-app/sources/text/translations/it.ts
|
|
3248
|
+
M expo-app/sources/text/translations/ja.ts
|
|
3249
|
+
M expo-app/sources/text/translations/pl.ts
|
|
3250
|
+
M expo-app/sources/text/translations/pt.ts
|
|
3251
|
+
M expo-app/sources/text/translations/ru.ts
|
|
3252
|
+
M expo-app/sources/text/translations/zh-Hans.ts
|
|
3253
|
+
|
|
3254
|
+
commit ce42bf56d7b682929ce1022293c8cbaa78918711
|
|
3255
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3256
|
+
AuthorDate: 2026-01-23
|
|
3257
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3258
|
+
CommitDate: 2026-01-23
|
|
3259
|
+
|
|
3260
|
+
fix(web): correct libsodium wrapper typing
|
|
3261
|
+
|
|
3262
|
+
M expo-app/sources/encryption/libsodium.lib.web.ts
|
|
3263
|
+
|
|
3264
|
+
commit f0417ca11ac5112ee9f9a38b6d0b3bdbf644749b
|
|
3265
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3266
|
+
AuthorDate: 2026-01-23
|
|
3267
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3268
|
+
CommitDate: 2026-01-23
|
|
3269
|
+
|
|
3270
|
+
fix(web): keep libsodium wrapper namespace typing
|
|
3271
|
+
|
|
3272
|
+
M expo-app/sources/encryption/libsodium.lib.web.ts
|
|
3273
|
+
|
|
3274
|
+
commit b6d3874bf175911f2dea935203994ce6027d6ad1
|
|
3275
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3276
|
+
AuthorDate: 2026-01-23
|
|
3277
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3278
|
+
CommitDate: 2026-01-23
|
|
3279
|
+
|
|
3280
|
+
fix(settings): include Codex resume in master experiment toggle
|
|
3281
|
+
|
|
3282
|
+
M expo-app/sources/app/(app)/settings/features.tsx
|
|
3283
|
+
|
|
3284
|
+
commit a4d7faba961f201272071834324f270be4ad93e7
|
|
3285
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3286
|
+
AuthorDate: 2026-01-23
|
|
3287
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3288
|
+
CommitDate: 2026-01-23
|
|
3289
|
+
|
|
3290
|
+
fix(i18n): localize session error fallbacks
|
|
3291
|
+
|
|
3292
|
+
M expo-app/sources/-session/SessionView.tsx
|
|
3293
|
+
M expo-app/sources/text/translations/ca.ts
|
|
3294
|
+
M expo-app/sources/text/translations/en.ts
|
|
3295
|
+
M expo-app/sources/text/translations/es.ts
|
|
3296
|
+
M expo-app/sources/text/translations/it.ts
|
|
3297
|
+
M expo-app/sources/text/translations/ja.ts
|
|
3298
|
+
M expo-app/sources/text/translations/pl.ts
|
|
3299
|
+
M expo-app/sources/text/translations/pt.ts
|
|
3300
|
+
M expo-app/sources/text/translations/ru.ts
|
|
3301
|
+
M expo-app/sources/text/translations/zh-Hans.ts
|
|
3302
|
+
|
|
3303
|
+
commit 1ea2bddb8bbd522d3c3353ceb17f4f6eab40ade3
|
|
3304
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3305
|
+
AuthorDate: 2026-01-23
|
|
3306
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3307
|
+
CommitDate: 2026-01-23
|
|
3308
|
+
|
|
3309
|
+
test(server): validate processImage resize output
|
|
3310
|
+
|
|
3311
|
+
M server/sources/storage/processImage.spec.ts
|
|
3312
|
+
|
|
3313
|
+
commit 1e7d7f8a4747a5ac249d1b8b0738bb6d841e397a
|
|
3314
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3315
|
+
AuthorDate: 2026-01-23
|
|
3316
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3317
|
+
CommitDate: 2026-01-23
|
|
3318
|
+
|
|
3319
|
+
fix(server): keep light server running
|
|
3320
|
+
|
|
3321
|
+
M server/sources/main.light.ts
|
|
3322
|
+
|
|
3323
|
+
commit 61bf70183ebff64ec14716cee0ccf8c1b2a59ea4
|
|
3324
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3325
|
+
AuthorDate: 2026-01-23
|
|
3326
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3327
|
+
CommitDate: 2026-01-23
|
|
3328
|
+
|
|
3329
|
+
test(cli): set DEBUG before importing logger
|
|
3330
|
+
|
|
3331
|
+
M cli/src/ui/logger.test.ts
|
|
3332
|
+
|
|
3333
|
+
commit 61a18ac95e1701c5b5ec245053b39cba1a906d6e
|
|
3334
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3335
|
+
AuthorDate: 2026-01-23
|
|
3336
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3337
|
+
CommitDate: 2026-01-23
|
|
3338
|
+
|
|
3339
|
+
fix(tools): require permission id for ExitPlanMode actions
|
|
3340
|
+
|
|
3341
|
+
M expo-app/sources/components/tools/views/ExitPlanToolView.test.ts
|
|
3342
|
+
M expo-app/sources/components/tools/views/ExitPlanToolView.tsx
|
|
3343
|
+
M expo-app/sources/text/translations/ca.ts
|
|
3344
|
+
M expo-app/sources/text/translations/en.ts
|
|
3345
|
+
M expo-app/sources/text/translations/es.ts
|
|
3346
|
+
M expo-app/sources/text/translations/it.ts
|
|
3347
|
+
M expo-app/sources/text/translations/ja.ts
|
|
3348
|
+
M expo-app/sources/text/translations/pl.ts
|
|
3349
|
+
M expo-app/sources/text/translations/pt.ts
|
|
3350
|
+
M expo-app/sources/text/translations/ru.ts
|
|
3351
|
+
M expo-app/sources/text/translations/zh-Hans.ts
|
|
3352
|
+
|
|
3353
|
+
commit 5b36c9bf91c115079c627b8428065f2275ae71c9
|
|
3354
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3355
|
+
AuthorDate: 2026-01-23
|
|
3356
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3357
|
+
CommitDate: 2026-01-23
|
|
3358
|
+
|
|
3359
|
+
test(tools): avoid null permission in ExitPlanToolView tests
|
|
3360
|
+
|
|
3361
|
+
M expo-app/sources/components/tools/views/ExitPlanToolView.test.ts
|
|
3362
|
+
|
|
3363
|
+
commit b7f63e928e4f999ddb69a3b09071fb8b75306978
|
|
3364
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3365
|
+
AuthorDate: 2026-01-23
|
|
3366
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3367
|
+
CommitDate: 2026-01-23
|
|
3368
|
+
|
|
3369
|
+
fix(persistence): retry daemon state read when file appears
|
|
3370
|
+
|
|
3371
|
+
A cli/src/persistence.daemonState.test.ts
|
|
3372
|
+
M cli/src/persistence.ts
|
|
3373
|
+
|
|
3374
|
+
commit 55428fb0253c6cf2df46095083f6016734506f27
|
|
3375
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3376
|
+
AuthorDate: 2026-01-23
|
|
3377
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3378
|
+
CommitDate: 2026-01-23
|
|
3379
|
+
|
|
3380
|
+
fix(tools): alert when AskUserQuestion permission id is missing
|
|
3381
|
+
|
|
3382
|
+
M expo-app/sources/components/tools/views/AskUserQuestionView.test.ts
|
|
3383
|
+
M expo-app/sources/components/tools/views/AskUserQuestionView.tsx
|
|
3384
|
+
|
|
3385
|
+
commit dc6955f88abd46b63e56102ccd936b0f59ea41e4
|
|
3386
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3387
|
+
AuthorDate: 2026-01-23
|
|
3388
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3389
|
+
CommitDate: 2026-01-23
|
|
3390
|
+
|
|
3391
|
+
fix(terminal): prevent sessionId path traversal in attachment info
|
|
3392
|
+
|
|
3393
|
+
M cli/src/terminal/terminalAttachmentInfo.test.ts
|
|
3394
|
+
M cli/src/terminal/terminalAttachmentInfo.ts
|
|
3395
|
+
|
|
3396
|
+
commit bb685fbeff7bda2707f656c5d8c0831b95f874f9
|
|
3397
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3398
|
+
AuthorDate: 2026-01-23
|
|
3399
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3400
|
+
CommitDate: 2026-01-23
|
|
3401
|
+
|
|
3402
|
+
fix(terminal): clarify missing --happy-starting-mode value
|
|
3403
|
+
|
|
3404
|
+
M cli/src/terminal/headlessTmuxArgs.test.ts
|
|
3405
|
+
M cli/src/terminal/headlessTmuxArgs.ts
|
|
3406
|
+
|
|
3407
|
+
commit 5bcc7d20cd6b14c30f3c36cbbe73f7c4317d5d37
|
|
3408
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3409
|
+
AuthorDate: 2026-01-23
|
|
3410
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3411
|
+
CommitDate: 2026-01-23
|
|
3412
|
+
|
|
3413
|
+
test(utils): stabilize serverConnectionErrors retry count test
|
|
3414
|
+
|
|
3415
|
+
M cli/src/utils/serverConnectionErrors.test.ts
|
|
3416
|
+
|
|
3417
|
+
commit 82968aa8fe6c0b18c4aa8aac76d398dca3decea2
|
|
3418
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3419
|
+
AuthorDate: 2026-01-23
|
|
3420
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3421
|
+
CommitDate: 2026-01-23
|
|
3422
|
+
|
|
3423
|
+
fix(ui): send pending messages before closing modal
|
|
3424
|
+
|
|
3425
|
+
A expo-app/sources/components/PendingMessagesModal.test.ts
|
|
3426
|
+
M expo-app/sources/components/PendingMessagesModal.tsx
|
|
3427
|
+
|
|
3428
|
+
commit b7219c8bfe2b32b86e8fb35fb17bc8b977d7394f
|
|
3429
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3430
|
+
AuthorDate: 2026-01-23
|
|
3431
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3432
|
+
CommitDate: 2026-01-23
|
|
3433
|
+
|
|
3434
|
+
fix(ink): avoid async useInput handler
|
|
3435
|
+
|
|
3436
|
+
M cli/src/ui/ink/RemoteModeDisplay.tsx
|
|
3437
|
+
|
|
3438
|
+
commit d70a6f6669feef788c724d53f66c58041c68d561
|
|
3439
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3440
|
+
AuthorDate: 2026-01-23
|
|
3441
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3442
|
+
CommitDate: 2026-01-23
|
|
3443
|
+
|
|
3444
|
+
fix(claude): trim CLAUDE_CONFIG_DIR overrides
|
|
3445
|
+
|
|
3446
|
+
M cli/src/claude/utils/path.test.ts
|
|
3447
|
+
M cli/src/claude/utils/path.ts
|
|
3448
|
+
|
|
3449
|
+
commit 47f638b73fca8b4ca64edd08ddbe3e0f74344b43
|
|
3450
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3451
|
+
AuthorDate: 2026-01-23
|
|
3452
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3453
|
+
CommitDate: 2026-01-23
|
|
3454
|
+
|
|
3455
|
+
test(utils): cover failuresCount with custom backoff
|
|
3456
|
+
|
|
3457
|
+
M cli/src/utils/sync.test.ts
|
|
3458
|
+
|
|
3459
|
+
commit 2abc70fef03c2cb70867ac4e853177d8e4c63b1a
|
|
3460
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3461
|
+
AuthorDate: 2026-01-23
|
|
3462
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3463
|
+
CommitDate: 2026-01-23
|
|
3464
|
+
|
|
3465
|
+
fix(utils): track failuresCount for custom backoff
|
|
3466
|
+
|
|
3467
|
+
M cli/src/utils/sync.ts
|
|
3468
|
+
|
|
3469
|
+
commit dc8016f01c561d77cedb6650d7c2564f92bea88d
|
|
3470
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3471
|
+
AuthorDate: 2026-01-23
|
|
3472
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3473
|
+
CommitDate: 2026-01-23
|
|
3474
|
+
|
|
3475
|
+
fix(server): validate HAPPY_SERVER_LIGHT_DATA_DIR for light migrations
|
|
3476
|
+
|
|
3477
|
+
M server/scripts/migrate.light.deploy.ts
|
|
3478
|
+
A server/scripts/migrate.light.deployPlan.spec.ts
|
|
3479
|
+
A server/scripts/migrate.light.deployPlan.ts
|
|
3480
|
+
|
|
3481
|
+
commit b0085827322c0affa0a0d014b130f6fa26f32e00
|
|
3482
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3483
|
+
AuthorDate: 2026-01-23
|
|
3484
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3485
|
+
CommitDate: 2026-01-23
|
|
3486
|
+
|
|
3487
|
+
fix(server): handle missing UI index in error handlers
|
|
3488
|
+
|
|
3489
|
+
A server/sources/app/api/utils/enableErrorHandlers.spec.ts
|
|
3490
|
+
M server/sources/app/api/utils/enableErrorHandlers.ts
|
|
3491
|
+
|
|
3492
|
+
commit abf28805663692bd6fce36b5d91b5041a5e9b75b
|
|
3493
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3494
|
+
AuthorDate: 2026-01-23
|
|
3495
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3496
|
+
CommitDate: 2026-01-23
|
|
3497
|
+
|
|
3498
|
+
fix(cli): reject invalid messageQueueV1 inFlight
|
|
3499
|
+
|
|
3500
|
+
M cli/src/api/messageQueueV1.test.ts
|
|
3501
|
+
M cli/src/api/messageQueueV1.ts
|
|
3502
|
+
|
|
3503
|
+
commit 73ce32d242a050a44cdf4cb70439abcd594fcde1
|
|
3504
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3505
|
+
AuthorDate: 2026-01-23
|
|
3506
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3507
|
+
CommitDate: 2026-01-23
|
|
3508
|
+
|
|
3509
|
+
fix(i18n): translate Spanish experiment subtitles
|
|
3510
|
+
|
|
3511
|
+
M expo-app/sources/text/translations/es.ts
|
|
3512
|
+
|
|
3513
|
+
commit 98bc00096e866770f8dac6f82b5a7028012c2dd2
|
|
3514
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3515
|
+
AuthorDate: 2026-01-23
|
|
3516
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3517
|
+
CommitDate: 2026-01-23
|
|
3518
|
+
|
|
3519
|
+
fix(i18n): localize Codex resume banner
|
|
3520
|
+
|
|
3521
|
+
M expo-app/sources/app/(app)/new/NewSessionWizard.tsx
|
|
3522
|
+
M expo-app/sources/text/translations/ca.ts
|
|
3523
|
+
M expo-app/sources/text/translations/en.ts
|
|
3524
|
+
M expo-app/sources/text/translations/es.ts
|
|
3525
|
+
M expo-app/sources/text/translations/it.ts
|
|
3526
|
+
M expo-app/sources/text/translations/ja.ts
|
|
3527
|
+
M expo-app/sources/text/translations/pl.ts
|
|
3528
|
+
M expo-app/sources/text/translations/pt.ts
|
|
3529
|
+
M expo-app/sources/text/translations/ru.ts
|
|
3530
|
+
M expo-app/sources/text/translations/zh-Hans.ts
|
|
3531
|
+
|
|
3532
|
+
commit 4fabec9b69b30538cc4360762bc8d7af77cc65bb
|
|
3533
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3534
|
+
AuthorDate: 2026-01-23
|
|
3535
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3536
|
+
CommitDate: 2026-01-23
|
|
3537
|
+
|
|
3538
|
+
feat(new-session): add WizardSectionHeaderRow
|
|
3539
|
+
|
|
3540
|
+
A expo-app/sources/components/newSession/WizardSectionHeaderRow.tsx
|
|
3541
|
+
|
|
3542
|
+
commit c461ed1cb4efd785a2d60be60c63aca8349dc1a1
|
|
3543
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3544
|
+
AuthorDate: 2026-01-23
|
|
3545
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3546
|
+
CommitDate: 2026-01-23
|
|
3547
|
+
|
|
3548
|
+
feat(permission): add permission mode option helpers
|
|
3549
|
+
|
|
3550
|
+
A expo-app/sources/sync/permissionModeOptions.ts
|
|
3551
|
+
|
|
3552
|
+
commit 23b595edd0fe59e36481574f0ca958343a233dc2
|
|
3553
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3554
|
+
AuthorDate: 2026-01-23
|
|
3555
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3556
|
+
CommitDate: 2026-01-23
|
|
3557
|
+
|
|
3558
|
+
refactor(sync): simplify path formatting
|
|
3559
|
+
|
|
3560
|
+
M expo-app/sources/sync/sessionListViewData.ts
|
|
3561
|
+
|
|
3562
|
+
commit 523989b4de8ea8a339a1605a756250feaadb14ec
|
|
3563
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3564
|
+
AuthorDate: 2026-01-23
|
|
3565
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3566
|
+
CommitDate: 2026-01-23
|
|
3567
|
+
|
|
3568
|
+
fix(server-light): avoid master secret race
|
|
3569
|
+
|
|
3570
|
+
M server/sources/flavors/light/env.ts
|
|
3571
|
+
|
|
3572
|
+
commit d89a9427e765ed8c176ff2049fd2fc965132139a
|
|
3573
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3574
|
+
AuthorDate: 2026-01-23
|
|
3575
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3576
|
+
CommitDate: 2026-01-23
|
|
3577
|
+
|
|
3578
|
+
fix(cli): clean up metadata waiters on disconnect
|
|
3579
|
+
|
|
3580
|
+
M cli/src/api/apiSession.test.ts
|
|
3581
|
+
M cli/src/api/apiSession.ts
|
|
3582
|
+
|
|
3583
|
+
commit fedb8a66160ae16ec6c713cf84348a84d3632cc6
|
|
3584
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3585
|
+
AuthorDate: 2026-01-23
|
|
3586
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3587
|
+
CommitDate: 2026-01-23
|
|
3588
|
+
|
|
3589
|
+
test(cli): accept lowercase preview-env keys
|
|
3590
|
+
|
|
3591
|
+
M cli/src/modules/common/registerCommonHandlers.previewEnv.test.ts
|
|
3592
|
+
|
|
3593
|
+
commit fc0ce89b13b7fe1119ed6c966dc3709b0a83e78c
|
|
3594
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3595
|
+
AuthorDate: 2026-01-23
|
|
3596
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3597
|
+
CommitDate: 2026-01-23
|
|
3598
|
+
|
|
3599
|
+
fix(cli): allow lowercase preview-env keys
|
|
3600
|
+
|
|
3601
|
+
M cli/src/modules/common/previewEnv/registerPreviewEnvHandler.ts
|
|
3602
|
+
M cli/src/modules/common/registerCommonHandlers.previewEnv.test.ts
|
|
3603
|
+
|
|
3604
|
+
commit ad95c5b01c2590f24582f6336621088e3788634c
|
|
3605
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3606
|
+
AuthorDate: 2026-01-23
|
|
3607
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3608
|
+
CommitDate: 2026-01-23
|
|
3609
|
+
|
|
3610
|
+
test(happy): keep useCLIDetection timestamp stable
|
|
3611
|
+
|
|
3612
|
+
M expo-app/sources/hooks/useCLIDetection.hook.test.ts
|
|
3613
|
+
|
|
3614
|
+
commit c251edf3c307d33fba9dad71739a9a7f0396cb15
|
|
3615
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3616
|
+
AuthorDate: 2026-01-23
|
|
3617
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3618
|
+
CommitDate: 2026-01-23
|
|
3619
|
+
|
|
3620
|
+
test(happy): fix useCLIDetection timestamp test
|
|
3621
|
+
|
|
3622
|
+
M expo-app/sources/hooks/useCLIDetection.hook.test.ts
|
|
3623
|
+
|
|
3624
|
+
commit 34fa4091d3cc376ae79bfbcc59688dae762c0b61
|
|
3625
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3626
|
+
AuthorDate: 2026-01-23
|
|
3627
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3628
|
+
CommitDate: 2026-01-23
|
|
3629
|
+
|
|
3630
|
+
fix(happy): stabilize useCLIDetection timestamp
|
|
3631
|
+
|
|
3632
|
+
M expo-app/sources/hooks/useCLIDetection.ts
|
|
3633
|
+
|
|
3634
|
+
commit 31340e53294c92e12b95cac429fdcc3e0c100af4
|
|
3635
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3636
|
+
AuthorDate: 2026-01-23
|
|
3637
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3638
|
+
CommitDate: 2026-01-23
|
|
3639
|
+
|
|
3640
|
+
fix(happy): inline CLI detection request
|
|
3641
|
+
|
|
3642
|
+
M expo-app/sources/hooks/useCLIDetection.ts
|
|
3643
|
+
|
|
3644
|
+
commit 054250f408e21f9c2208ef306d574674796356b8
|
|
3645
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3646
|
+
AuthorDate: 2026-01-23
|
|
3647
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3648
|
+
CommitDate: 2026-01-23
|
|
3649
|
+
|
|
3650
|
+
fix(i18n): localize codex resume install modals
|
|
3651
|
+
|
|
3652
|
+
M expo-app/sources/app/(app)/machine/[id].tsx
|
|
3653
|
+
M expo-app/sources/app/(app)/new/index.tsx
|
|
3654
|
+
M expo-app/sources/text/translations/ca.ts
|
|
3655
|
+
M expo-app/sources/text/translations/en.ts
|
|
3656
|
+
M expo-app/sources/text/translations/es.ts
|
|
3657
|
+
M expo-app/sources/text/translations/it.ts
|
|
3658
|
+
M expo-app/sources/text/translations/ja.ts
|
|
3659
|
+
M expo-app/sources/text/translations/pl.ts
|
|
3660
|
+
M expo-app/sources/text/translations/pt.ts
|
|
3661
|
+
M expo-app/sources/text/translations/ru.ts
|
|
3662
|
+
M expo-app/sources/text/translations/zh-Hans.ts
|
|
3663
|
+
|
|
3664
|
+
commit 241f0ae24b1dd65641ab832dac9a0b5efd8b7e6a
|
|
3665
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3666
|
+
AuthorDate: 2026-01-23
|
|
3667
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3668
|
+
CommitDate: 2026-01-23
|
|
3669
|
+
|
|
3670
|
+
test(cli): prevent legacy sessionId path traversal
|
|
3671
|
+
|
|
3672
|
+
M cli/src/terminal/terminalAttachmentInfo.test.ts
|
|
3673
|
+
|
|
3674
|
+
commit a1e4a6dd3fbd6b432a09e3f57d1ca952134b68ea
|
|
3675
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3676
|
+
AuthorDate: 2026-01-23
|
|
3677
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3678
|
+
CommitDate: 2026-01-23
|
|
3679
|
+
|
|
3680
|
+
fix(cli): block legacy sessionId path traversal
|
|
3681
|
+
|
|
3682
|
+
M cli/src/terminal/terminalAttachmentInfo.ts
|
|
3683
|
+
|
|
3684
|
+
commit e2618e04a26b54ff9ccab8bd44273c60601884f1
|
|
3685
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3686
|
+
AuthorDate: 2026-01-23
|
|
3687
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3688
|
+
CommitDate: 2026-01-23
|
|
3689
|
+
|
|
3690
|
+
fix(a11y): add labels to codex resume actions
|
|
3691
|
+
|
|
3692
|
+
M expo-app/sources/app/(app)/new/NewSessionWizard.tsx
|
|
3693
|
+
|
|
3694
|
+
commit d0f9ad5e8310338e2771a7c77e32f80bf2763dfc
|
|
3695
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3696
|
+
AuthorDate: 2026-01-23
|
|
3697
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3698
|
+
CommitDate: 2026-01-23
|
|
3699
|
+
|
|
3700
|
+
test(claude): remove stale transcriptPath red-test scaffolding
|
|
3701
|
+
|
|
3702
|
+
M cli/src/claude/utils/sessionScanner.test.ts
|
|
3703
|
+
|
|
3704
|
+
commit 1464402758bf699fa05cc50dacb8f26791775273
|
|
3705
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3706
|
+
AuthorDate: 2026-01-23
|
|
3707
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3708
|
+
CommitDate: 2026-01-23
|
|
3709
|
+
|
|
3710
|
+
fix(codex): preserve falsy MCP tool results
|
|
3711
|
+
|
|
3712
|
+
A cli/src/codex/__tests__/extractMcpToolCallResultOutput.test.ts
|
|
3713
|
+
M cli/src/codex/runCodex.ts
|
|
3714
|
+
|
|
3715
|
+
commit 57f84f0691c6c098a0522071326a7ac008b3ae97
|
|
3716
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3717
|
+
AuthorDate: 2026-01-23
|
|
3718
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3719
|
+
CommitDate: 2026-01-23
|
|
3720
|
+
|
|
3721
|
+
fix(server-light): harden public file path encoding
|
|
3722
|
+
|
|
3723
|
+
M server/sources/flavors/light/files.spec.ts
|
|
3724
|
+
M server/sources/flavors/light/files.ts
|
|
3725
|
+
|
|
3726
|
+
commit 0b7db6945325444e01dbf4e19be029718847dac8
|
|
3727
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3728
|
+
AuthorDate: 2026-01-23
|
|
3729
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3730
|
+
CommitDate: 2026-01-23
|
|
3731
|
+
|
|
3732
|
+
fix(storage): validate S3_PORT and bucket existence
|
|
3733
|
+
|
|
3734
|
+
A server/sources/storage/files.spec.ts
|
|
3735
|
+
M server/sources/storage/files.ts
|
|
3736
|
+
|
|
3737
|
+
commit 74fc860b07b59fa724400bcedf09aab0c56b1b80
|
|
3738
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3739
|
+
AuthorDate: 2026-01-23
|
|
3740
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3741
|
+
CommitDate: 2026-01-23
|
|
3742
|
+
|
|
3743
|
+
refactor(queue): simplify stale in-flight reclaim
|
|
3744
|
+
|
|
3745
|
+
M cli/src/api/messageQueueV1.ts
|
|
3746
|
+
|
|
3747
|
+
commit 82bf82cb6715a87d3377b5ad7ea5e9c58a4b7878
|
|
3748
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3749
|
+
AuthorDate: 2026-01-23
|
|
3750
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3751
|
+
CommitDate: 2026-01-23
|
|
3752
|
+
|
|
3753
|
+
fix(hooks): prevent stale capabilities cache overwrite
|
|
3754
|
+
|
|
3755
|
+
A expo-app/sources/hooks/useMachineCapabilitiesCache.race.test.ts
|
|
3756
|
+
M expo-app/sources/hooks/useMachineCapabilitiesCache.ts
|
|
3757
|
+
|
|
3758
|
+
commit 384b1525202636c212f3ca41fa37148ae08805eb
|
|
3759
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3760
|
+
AuthorDate: 2026-01-23
|
|
3761
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3762
|
+
CommitDate: 2026-01-23
|
|
3763
|
+
|
|
3764
|
+
fix(expo): harden tool submit and pending send
|
|
3765
|
+
|
|
3766
|
+
A expo-app/sources/components/PendingMessagesModal.discardFallback.test.ts
|
|
3767
|
+
M expo-app/sources/components/PendingMessagesModal.test.ts
|
|
3768
|
+
M expo-app/sources/components/PendingMessagesModal.tsx
|
|
3769
|
+
M expo-app/sources/components/tools/views/AskUserQuestionView.test.ts
|
|
3770
|
+
M expo-app/sources/components/tools/views/AskUserQuestionView.tsx
|
|
3771
|
+
M expo-app/sources/sync/messageQueueV1.test.ts
|
|
3772
|
+
M expo-app/sources/sync/messageQueueV1.ts
|
|
3773
|
+
M expo-app/sources/sync/sync.ts
|
|
3774
|
+
|
|
3775
|
+
commit 24b607abfa073171038e72ba2cc77b20a1991aa1
|
|
3776
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3777
|
+
AuthorDate: 2026-01-23
|
|
3778
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3779
|
+
CommitDate: 2026-01-23
|
|
3780
|
+
|
|
3781
|
+
Refactor schema sync and centralize Prisma types
|
|
3782
|
+
|
|
3783
|
+
Replaces generateSqliteSchema.ts with schemaSync.ts to generate both the SQLite schema and TypeScript enums from the main Prisma schema. Centralizes all Prisma types and the db client in sources/storage/prisma.ts, updating imports throughout the codebase to use this module. Updates scripts and documentation to use the new schema:sync command, and ensures enum consistency between schema and TypeScript. Adds tests for the new storage/prisma module and generated enums.
|
|
3784
|
+
|
|
3785
|
+
M server/README.md
|
|
3786
|
+
M server/package.json
|
|
3787
|
+
M server/prisma/sqlite/schema.prisma
|
|
3788
|
+
M server/scripts/dev.light.ts
|
|
3789
|
+
D server/scripts/generateSqliteSchema.ts
|
|
3790
|
+
M server/scripts/migrate.light.deploy.ts
|
|
3791
|
+
M server/scripts/migrate.light.new.ts
|
|
3792
|
+
M server/scripts/migrate.light.resolveBaseline.ts
|
|
3793
|
+
R063 server/scripts/generateSqliteSchema.spec.ts server/scripts/schemaSync.spec.ts
|
|
3794
|
+
A server/scripts/schemaSync.ts
|
|
3795
|
+
M server/sources/app/api/routes/sessionRoutes.ts
|
|
3796
|
+
M server/sources/app/api/routes/userRoutes.ts
|
|
3797
|
+
M server/sources/app/api/socket/sessionUpdateHandler.ts
|
|
3798
|
+
M server/sources/app/feed/feedGet.ts
|
|
3799
|
+
M server/sources/app/social/friendAdd.ts
|
|
3800
|
+
M server/sources/app/social/friendList.ts
|
|
3801
|
+
M server/sources/app/social/friendNotification.spec.ts
|
|
3802
|
+
M server/sources/app/social/friendNotification.ts
|
|
3803
|
+
M server/sources/app/social/friendRemove.ts
|
|
3804
|
+
M server/sources/app/social/relationshipGet.ts
|
|
3805
|
+
M server/sources/app/social/relationshipSet.ts
|
|
3806
|
+
M server/sources/app/social/type.ts
|
|
3807
|
+
M server/sources/context.ts
|
|
3808
|
+
M server/sources/storage/db.ts
|
|
3809
|
+
A server/sources/storage/enums.generated.ts
|
|
3810
|
+
M server/sources/storage/inTx.ts
|
|
3811
|
+
A server/sources/storage/prisma.spec.ts
|
|
3812
|
+
A server/sources/storage/prisma.ts
|
|
3813
|
+
M yarn.lock
|
|
3814
|
+
|
|
3815
|
+
commit bf3027799623c286fe138c7b69e140ea90fdfa48
|
|
3816
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3817
|
+
AuthorDate: 2026-01-23
|
|
3818
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3819
|
+
CommitDate: 2026-01-23
|
|
3820
|
+
|
|
3821
|
+
Set EXPO_UNSTABLE_WEB_MODAL env var in Expo scripts
|
|
3822
|
+
|
|
3823
|
+
Updated all relevant Expo-related scripts in expo-app/package.json to include the EXPO_UNSTABLE_WEB_MODAL=1 environment variable using cross-env.
|
|
3824
|
+
|
|
3825
|
+
EXPO_UNSTABLE_WEB_MODAL is necessary to restore the expo-router modal behavior on web to what we had before, which Expo moved to "experimental".
|
|
3826
|
+
|
|
3827
|
+
Also upgraded expo-router to version 6.0.22 and added a resolutions field in the root package.json to enforce this version.
|
|
3828
|
+
|
|
3829
|
+
M expo-app/package.json
|
|
3830
|
+
A expo-app/patches-expo-app/expo-router+6.0.22.patch
|
|
3831
|
+
M expo-app/sources/app/(app)/session/[id]/info.tsx
|
|
3832
|
+
M package.json
|
|
3833
|
+
|
|
3834
|
+
commit c803115dcbdcd55c036e47c0f0cfd6e1bceb9f74
|
|
3835
|
+
Author: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3836
|
+
AuthorDate: 2026-01-23
|
|
3837
|
+
Commit: Leeroy Brun <leeroy.brun@gmail.com>
|
|
3838
|
+
CommitDate: 2026-01-23
|
|
3839
|
+
|
|
3840
|
+
Improve postinstall script for symlinked paths and patching
|
|
3841
|
+
|
|
3842
|
+
Resolves symlinks when determining toolsDir to support Yarn workspaces executing the script via symlinked paths. Adds a second patch-package run scoped to expo-app to apply patches for dependencies not hoisted to the repo root, such as expo-router.
|
|
3843
|
+
|
|
3844
|
+
M expo-app/tools/postinstall.mjs
|
|
3845
|
+
```
|