José Almeida
c95d44193c
fix: make walkthrough MCP failures actionable ( #2209 )
2026-08-03 16:34:04 +01:00
Carlos Florêncio
cc6eb4dd5f
fix: restore conditional pull request tab behavior ( #2198 )
2026-08-03 15:12:19 +01:00
Carlos Florêncio
1e5fce99c4
feat: run completion actions on cancelled turns ( #2186 )
2026-08-03 13:37:34 +01:00
Carlos Florêncio
405ffb1d40
feat: configure workflow session settings ( #2137 )
2026-08-02 22:32:56 +01:00
Carlos Florêncio
87239d1b29
fix: harden plugin failure recovery ( #2169 )
2026-08-02 22:25:27 +01:00
Carlos Florêncio
e68d3f1d8f
docs(plugins): improve plugin authoring guidance ( #2164 )
2026-08-02 21:39:02 +01:00
Carlos Florêncio
2a2c9d3118
docs: clarify generated task title guidance ( #2171 )
2026-08-02 21:15:49 +01:00
Carlos Florêncio
62d4522e0f
feat: add file-backed diagnostic log bundles ( #2087 )
2026-08-02 20:14:53 +01:00
Carlos Florêncio
332353f647
docs: add Diátaxis guidance for public docs ( #2166 )
2026-08-02 17:38:26 +01:00
Carlos Florêncio
484d5b148b
feat: track inferred context compactions ( #2162 )
2026-08-02 17:25:55 +01:00
Alassane
5ab60bf26d
feat(gitlab): auto-link merge requests on push and on-demand ( #2124 )
2026-08-02 17:11:56 +01:00
Carlos Florêncio
4af38e1c3b
feat: add editable Azure DevOps board ( #2033 )
2026-08-02 17:08:22 +01:00
Carlos Florêncio
a6326fdc5d
feat: unlink task pull requests ( #2114 )
2026-08-02 17:00:32 +01:00
Clément Fiere
af764a227f
feat(queue): merge a queued message into the message above it ( #2131 )
2026-08-02 16:04:11 +01:00
Carlos Florêncio
3b00a22589
feat: add optional agent-generated task titles ( #2104 )
2026-08-02 15:53:46 +01:00
Carlos Florêncio
e077658a61
refactor: centralize runtime feature flag bindings ( #2142 )
2026-08-02 15:36:21 +01:00
Carlos Florêncio
190eeddbc4
fix: default new workspaces to host GitHub access ( #2156 )
2026-08-02 14:13:04 +01:00
Carlos Florêncio
72f01e6c35
docs: simplify public documentation for scanning ( #2139 )
2026-08-01 22:02:54 +01:00
Carlos Florêncio
1d70a0df6d
feat: enforce task title length limit ( #2134 )
2026-08-01 19:42:23 +01:00
Carlos Florêncio
1bccadf8f9
fix: validate MCP tool arguments ( #2123 ) ( #2128 )
2026-08-01 18:18:08 +01:00
Carlos Florêncio
65b0e249ec
docs: clarify subscription usage surfaces ( #2122 )
2026-08-01 12:04:15 +01:00
Carlos Florêncio
e466bda55f
fix: preserve service identity and resume credentials ( #2121 )
2026-08-01 11:19:24 +01:00
Carlos Florêncio
01beeb3753
fix: handle same-version agent runtime updates ( #2120 )
2026-08-01 11:18:37 +01:00
José Almeida
03e179c4d3
feat: add last task startup preference ( #2102 )
2026-08-01 09:58:05 +01:00
José Almeida
f8c363f726
feat(layout): add layout-owned PR Details panel ( #2094 )
2026-07-31 19:45:32 +01:00
Carlos Florêncio
aeb7c62e49
feat(github): unify workspace GitHub access ( #2084 )
2026-07-31 19:20:49 +01:00
Carlos Florêncio
9f2b5f92c3
refactor(settings): centralize portable user-setting defaults ( #2107 )
2026-07-31 18:41:49 +01:00
Jelloeater's Agent
26db9fc260
feat(agents): add Hermes ACP agent integration ( #2089 )
2026-07-31 16:32:19 +01:00
João Salavisa
eb72f53c1b
fix(web): phone navigation for plugin pages ( #2093 )
...
Co-authored-by: Kandev Agent <agent@kandev.dev >
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-07-31 14:57:40 +01:00
Clément Fiere
59d1cc7277
feat: add Slack-style unread divider to session transcript ( #1922 )
2026-07-31 14:42:14 +01:00
Carlos Florêncio
7ad1599b70
feat(web): show WebSocket connectivity warnings ( #2083 )
2026-07-31 14:23:16 +01:00
João Salavisa
9be979827d
fix: sync quick chats and their names across devices ( #2085 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-07-31 09:01:22 +01:00
João Salavisa
6b31479ec2
feat(web): open the IDE at a file tree node's path ( #2074 )
...
Co-authored-by: Kandev Agent <agent@kandev.dev >
2026-07-31 09:00:31 +01:00
João Salavisa
1a3c134f1a
feat(plugins): ship the plugin system without a feature flag ( #2086 )
...
Co-authored-by: Kandev Agent <agent@kandev.dev >
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-07-31 08:59:34 +01:00
Carlos Florêncio
3760f12939
feat(editors): scope embedded VS Code by executor ( #2059 )
2026-07-30 22:24:16 +01:00
Carlos Florêncio
167ab6b778
feat(mcp): add session attachment diagnostics ( #2061 )
2026-07-30 20:49:07 +01:00
José Almeida
d4e8f0a62a
fix(web): make review ordering and navigation safe ( #2067 )
2026-07-30 20:07:36 +01:00
Clément Fiere
3eb8e4a59c
feat: add transcript last prompt navigation ( #1999 )
2026-07-30 12:35:26 +01:00
Carlos Florêncio
6ba9f1b0fd
feat: add quarantine retention lifecycle ( #2049 )
2026-07-30 10:44:51 +01:00
Carlos Florêncio
b4c537fa11
feat(web): hide embedded VS Code on Windows hosts ( #2045 )
2026-07-29 22:10:19 +01:00
Luan Martins
04a5c4e4ee
feat(github): add task PR lifecycle notifications ( #2038 )
2026-07-29 18:13:02 +01:00
João Salavisa
6868410d80
fix(plugins): match per-session-suffixed event subjects in plugin delivery ( #2029 )
...
Per-session events are published on a suffixed bus subject
("shell.output.<sessionId>") but stamped with the bare event-type constant
("shell.output"). The plugin deliverer subscribed with the manifest pattern and
then re-checked that pattern against event.Type, which made every suffixed
subject undeliverable: a 3-segment pattern matched the bus subscription but
failed the re-check on segment count, while a 2-segment pattern passed the
re-check but never subscribed to the 3-segment subject.
Carry the concrete publish subject on bus.Event (stamped in place by Publish in
both the memory and NATS implementations; the NATS receive side prefers the
delivering msg.Subject) and re-check the manifest pattern against it via a new
Event.EffectiveSubject helper that falls back to Type. The concrete subject is
also what plugins receive as pluginsdk.Event.EventType -- already documented in
the proto as "bus subject" -- so a plugin subscribed to "shell.output.*" can
read the session id off it.
Audited all 109 EventBus.Publish call sites: 17 subject families were affected;
office.run.event_appended, the office tree-hold subjects and the cross-plugin
plugin.<id>.<name> already stamped Type with the full subject. Three git.ws
sites in the orchestrator publish on git.ws.<sessionId> while stamping
events.GitEvent, so the subject there is not a suffixed form of its own type at
all -- left as-is, since the gateway routes off the subject and never reads
event.Type. Unsuffixed subjects publish with subject == type, so existing
2-segment subscriptions are unaffected, and the re-check still enforces manifest
segment-count strictness over the bus's looser NATS ">" semantics.
2026-07-29 13:30:30 +01:00
José Almeida
7ec82dcaec
feat(search): add task workspace search palette ( #2006 )
2026-07-29 09:50:29 +01:00
Carlos Florêncio
e8d4b7d69e
fix: restore coarse running busy signal ( #2023 )
2026-07-29 08:11:51 +01:00
Carlos Florêncio
a65087e062
fix: pull unstarted feeder tasks into available WIP steps ( #2003 )
2026-07-28 21:26:05 +01:00
Carlos Florêncio
09b5c4df7a
feat: propagate managed git environment to terminals ( #2010 )
2026-07-28 21:19:27 +01:00
Carlos Florêncio
adecad7f30
fix(github): honor executor clone transport ( #1998 )
2026-07-28 15:46:28 +01:00
Carlos Florêncio
f501346d15
feat: add visible WIP overflow queues ( #2001 )
2026-07-28 15:46:16 +01:00
Carlos Florêncio
7250cdbf61
feat: explain busy storage cleanup and allow override ( #1993 )
2026-07-28 09:23:42 +01:00
Carlos Florêncio
35d1a85d74
fix: recover failed agent resumes and managed runtimes ( #1991 )
2026-07-28 09:23:30 +01:00