Peter Steinberger
d8f705c0a2
refactor(skills): trim internal exports ( #107353 )
...
* refactor(skills): trim internal exports
* test(skills): derive mismatch fixture type
2026-07-14 02:58:34 -07:00
Peter Steinberger
103d9ceb5e
refactor(secrets): trim internal exports ( #107342 )
2026-07-14 02:38:46 -07:00
Dallin Romney
561cf56c53
refactor(workboard): share control ui contract ( #102271 )
...
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-14 02:33:22 -07:00
Peter Steinberger
92cca9343e
feat(linux): headless node device capabilities (camera, location, notifications) ( #107193 )
...
* feat(linux): add node device capabilities
* fix(linux-node): actionable pending-approval error + node-host advertise integration test
* fix(linux-node): map geoclue access-denied to LOCATION_DISABLED; floor camera maxWidth to avoid zero-height scale
* fix(linux-node): clamp small camera maxWidth to 2 instead of default
* docs(linux-node): clarify where-am-i -t is a process timeout, not update throttle
* refactor(gateway): extract legacy-node filter + rejection hint to fit LOC ratchet; docs-map + deadcode baseline
* fix(gateway): drop now-unused DEFAULT_DANGEROUS_NODE_COMMANDS import after hint extraction
* test(node-host): drop imports orphaned by removed error-code test
2026-07-14 02:30:36 -07:00
snowzlmbot
e8ad0466ff
fix: render assistant transcript headers safely ( #99404 )
...
* fix: render assistant transcript headers safely
Co-authored-by: snowzlmbot <293528334+snowzlmbot@users.noreply.github.com >
* fix(markdown): nest crossing annotation spans
* fix(markdown): protect final transport projections
* refactor(markdown): split transcript render ownership
* test(ui): cover assistant transcript render flag
* refactor(markdown): keep transcript helpers private
* docs(changelog): note assistant transcript headers
* chore(plugin-sdk): refresh transcript annotation baseline
* fix(markdown): harden final transcript projections
* docs(changelog): defer transcript note to release
* refactor(markdown): centralize HTML tokenization
* fix(markdown): satisfy lint gates
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
Co-authored-by: snowzlmbot <293528334+snowzlmbot@users.noreply.github.com >
2026-07-14 02:25:37 -07:00
Peter Steinberger
31a845875d
refactor(qa-matrix): trim internal exports ( #107331 )
2026-07-14 02:18:24 -07:00
Peter Steinberger
4893523d69
refactor(oc-path): trim internal exports ( #107321 )
2026-07-14 02:03:58 -07:00
Peter Steinberger
d169dc4a12
feat(ui): hover preview of latest tasks on the running-tasks status row ( #107297 )
...
* feat(ui): add hover preview popover to running-tasks status row
* chore(ui-mock): exercise finished tasks and status-preview overflow in background-tasks mock
* refactor(ui): move status row into chat-background-tasks-status module (LOC ratchet)
* test(ui): add statusRowId to background-tasks props fixtures
* chore(i18n): record statusPreviewMore fallback baseline
* chore(i18n): sync locale bundles for statusPreviewMore
2026-07-14 01:57:30 -07:00
Peter Steinberger
cbfad474a6
refactor(zalo): trim internal exports ( #107312 )
2026-07-14 01:51:09 -07:00
Peter Steinberger
1e62d1f001
refactor(file-transfer): trim internal exports ( #107307 )
2026-07-14 01:43:19 -07:00
Peter Steinberger
f8fb478e4c
refactor(ollama): trim internal exports ( #107296 )
2026-07-14 01:32:48 -07:00
Peter Steinberger
2444cc2f37
refactor(openshell): trim internal exports ( #107291 )
2026-07-14 01:20:03 -07:00
Peter Steinberger
f20089c569
fix: route heavy changed checks remotely ( #107282 )
2026-07-14 01:15:58 -07:00
Peter Steinberger
16ff48c729
refactor(time): trust pretty-ms defaults
2026-07-14 01:15:43 -07:00
Peter Steinberger
47d37804a8
improve(ui): catch i18n catalog drift locally ( #107253 )
...
* ci(ui): verify i18n catalogs locally
* fix(ui): preserve scoped i18n sync errors
* refactor(ui): share i18n raw-copy verifier
* test(ui): cover i18n lint gate
* fix(ui): route lint threads to oxlint
2026-07-14 01:12:36 -07:00
Peter Steinberger
bb6874fddf
feat(sessions): upstream liveness for adopted catalog sessions ( #107009 )
2026-07-14 01:09:05 -07:00
Peter Steinberger
473753001a
refactor(google-meet): trim internal exports ( #107284 )
2026-07-14 01:07:06 -07:00
Peter Steinberger
f4b7a19624
fix: avoid remote boxes for focused validation ( #107166 )
...
* fix: avoid remote boxes for focused validation
* fix: preserve explicit remote proof routing
* fix: delegate when local diff refs are unavailable
2026-07-14 00:53:17 -07:00
Peter Steinberger
a951cd2df2
chore(docs-i18n): generalize max reasoning note
2026-07-14 03:51:18 -04:00
Peter Steinberger
4dff4e95b1
refactor(node-host): trim internal exports ( #107270 )
2026-07-14 00:49:54 -07:00
Peter Steinberger
1d4188138e
fix(docs-i18n): centralize translation safeguards
2026-07-14 03:47:37 -04:00
Peter Steinberger
63f497a428
fix(build): refresh cached CLI help per build
2026-07-14 00:21:36 -07:00
Peter Steinberger
ced9a4ae22
refactor(zalouser): trim internal exports ( #107247 )
2026-07-14 00:20:48 -07:00
Peter Steinberger
69a578034f
test: isolate provider auth parity suite ( #107167 )
2026-07-14 00:16:49 -07:00
Peter Steinberger
84500db379
refactor(plugin-sdk): isolate HTML entity runtime
2026-07-14 00:16:37 -07:00
Peter Steinberger
e91d0fc8b7
refactor(tui): remove dead exports ( #107241 )
2026-07-14 00:07:41 -07:00
Peter Steinberger
b58a75d726
refactor(html): share entity decoding
2026-07-14 00:00:05 -07:00
Peter Steinberger
ab95871dd5
refactor(tlon): remove dead exports ( #107233 )
2026-07-13 23:59:46 -07:00
Peter Steinberger
69eb20871d
chore(codex): update Codex CLI to 0.144.4 ( #107208 )
...
* chore(codex): update Codex CLI to 0.144.4
* fix(codex): validate interrupt params through request map
2026-07-13 23:58:19 -07:00
Peter Steinberger
75cd0efb04
refactor(line): remove dead exports ( #107231 )
2026-07-13 23:54:12 -07:00
Peter Steinberger
a2b4c4e17d
refactor(signal): trim dead exports ( #107217 )
2026-07-13 23:43:46 -07:00
Peter Steinberger
ec72fda21c
refactor(scripts): use dependency metadata parsers
2026-07-13 23:33:30 -07:00
Peter Steinberger
cbb5e97dd4
refactor(whatsapp): trim internal exports ( #107206 )
2026-07-13 23:23:11 -07:00
Peter Steinberger
834810b3d6
refactor(imessage): trim internal exports ( #107196 )
...
* refactor(imessage): trim internal exports
* test(imessage): type inbound dispatch mock
2026-07-13 23:05:24 -07:00
Peter Steinberger
304beb22e1
refactor(concurrency): use p-map skip results
2026-07-13 22:43:26 -07:00
Peter Steinberger
df5097b6e7
fix(native): keep platform validation warning-free ( #107101 )
...
* build(android): keep Gradle warning-free
* ci(native): pin XcodeGen tooling
* test(macos): avoid concurrency warnings
2026-07-13 22:33:12 -07:00
Peter Steinberger
d8d2f83cc1
feat(terminal): open Codex/Claude catalog sessions in a terminal on their owning host
...
Catalog session rows (sidebar context menu + click), the built-in viewer
header, and a new "Open Codex/Claude sessions in" preference can launch the
native CLI (codex resume / claude --resume) in the operator terminal on the
machine that owns the session.
- Gateway-local sessions spawn through the existing terminal launch policy
(sandbox/enabled gates preserved) with the resume command in the session cwd.
- Paired-node sessions run through a new seq-ordered node PTY relay: a
duplex node-host command streams PTY output via node.invoke.progress and
receives keystrokes/resize via a new node.invoke.input event, behind the
unchanged terminal.* client protocol (TerminalSessionManager gains a backend
abstraction; node relay reuses the streaming-invoke controller).
- Owner boundary: each plugin owns its resume command and builds argv from a
validated thread id; the gateway routes node opens through the node command
allowlist and plugin invoke policy (no advertisement-only trust), and nodes
re-verify session eligibility before spawning.
- UI setting catalogOpenTarget + canOpenTerminal capability gate every entry
point; capability requires the owning host to actually have the CLI.
Node PATH is normalized before command-availability probes, Windows .cmd/.bat
shims spawn via ComSpec, and catalog terminal opens reattach persisted tabs
before opening the new tab.
2026-07-13 22:20:50 -07:00
Peter Steinberger
bdc91cb4af
refactor(memory-wiki): trim internal exports ( #107157 )
2026-07-13 22:19:01 -07:00
Peter Steinberger
069915f173
test: accelerate sqlite state cli tests ( #107150 )
2026-07-13 22:12:21 -07:00
Peter Steinberger
e278a34331
feat(macos): refresh DMG installer artwork ( #107142 )
2026-07-13 22:09:36 -07:00
Vincent Koc
ee6d6e7e78
refactor(extensions): remove dead local exports ( #107146 )
2026-07-14 13:09:20 +08:00
Peter Steinberger
9c2dc92dd8
refactor(msteams): trim internal exports ( #107148 )
2026-07-13 22:01:56 -07:00
Peter Steinberger
2e58c2bc53
test: accelerate sqlite reliability suite ( #107134 )
2026-07-13 21:50:36 -07:00
Peter Steinberger
4023eb92d2
feat(android): add foreground Voice Wake ( #107081 )
...
* feat(android): add foreground voice wake
* chore(android): refresh voice wake artifacts
* fix(android): refresh voice wake capability readiness
* chore(android): sync voice wake translations
* chore: keep release notes in PR context
2026-07-13 21:48:29 -07:00
Peter Steinberger
1551fc9e43
test(e2e): isolate Pond baseline MCP tool ( #107128 )
2026-07-13 21:45:36 -07:00
Peter Steinberger
1dc9d47130
refactor(voice-call): remove dead internal exports ( #107130 )
2026-07-13 21:42:11 -07:00
Peter Steinberger
96c0e89291
refactor(scripts): share repository file discovery
2026-07-13 21:35:24 -07:00
Peter Steinberger
80399ed19b
refactor(matrix): trim internal exports ( #107126 )
2026-07-13 21:33:55 -07:00
Vincent Koc
3a55f8d800
refactor(agents): remove dead test surfaces ( #107113 )
2026-07-14 12:23:41 +08:00
Peter Steinberger
07284af748
test: omit live-only tooling leaf shards ( #107088 )
2026-07-13 20:56:14 -07:00