Commit Graph

66965 Commits

Author SHA1 Message Date
Vincent Koc
14ebfc88c4 fix(release): avoid caching GitHub errors 2026-07-10 17:47:32 -07:00
Vincent Koc
14a8cdc7c6 fix(release): keep Android notes aligned 2026-07-10 17:47:32 -07:00
Vincent Koc
0c16193bec chore(release): satisfy parallel runner lint 2026-07-10 17:47:32 -07:00
Vincent Koc
80d44bf000 feat(release): add shadow preparation controller 2026-07-10 17:47:32 -07:00
Vincent Koc
a835584537 perf(release): cache changelog GitHub discovery 2026-07-10 17:47:32 -07:00
Vincent Koc
897a66881d perf(release): parallelize shrinkwrap generation 2026-07-10 17:47:32 -07:00
Vincent Koc
82461afedb perf(release): parallelize scoped preflight tasks 2026-07-10 17:47:32 -07:00
Vincent Koc
d801384b3b feat(release): add atomic version preparation 2026-07-10 17:47:32 -07:00
maweibin
6b460e50a4 fix(qqbot): bound stalled token acquisition (#102897) 2026-07-11 01:45:43 +01:00
Peter Steinberger
e07ad4b05b fix(ui): draw resize dividers as a thin line instead of a filled gutter bar (#104013) 2026-07-11 01:45:07 +01:00
Peter Steinberger
249e6efe63 feat(mac): add bulk Approve All / Reject All to the pairing approval panel (#104011)
* feat(mac): add bulk Approve All / Reject All to the pairing approval panel

* fix(mac): resolve bulk pairing decisions against the rendered snapshot
2026-07-11 01:44:34 +01:00
Peter Steinberger
31703debcb fix: sanitize oversized plugin command arguments (#104015) 2026-07-11 01:43:52 +01:00
Peter Steinberger
ee7c2c1455 feat(ui): render assistant replies as a flat text stream in web chat (#104016) 2026-07-11 01:43:37 +01:00
Vincent Koc
2841edf01e fix(ci): pin Kova auth startup fixes (#104002) 2026-07-10 17:42:08 -07:00
qingminlong
6e0d590bd8 fix(agent-core): avoid a crash when empty output has a negative line limit (#103425)
* fix(agent-core): avoid empty truncation crash

* refactor(agent-core): simplify empty truncation handling

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
Co-authored-by: Peter Steinberger <peter@steipete.me>
2026-07-11 01:41:00 +01:00
soldforaloss
0e05973657 fix(tasks): treat blank JSON filters as absent (#103981)
* fix(tasks): normalize blank JSON filters

* fix(tasks): reuse optional string normalization

* fix(tasks): share blank filter normalization

---------

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-07-10 17:40:11 -07:00
Peter Steinberger
0120cacf9e fix(macos): let onboarding use taller windows (#104004)
* fix(macos): make onboarding resize vertically

* chore(macos): refresh onboarding i18n inventory

* chore: leave changelog to release generation
2026-07-11 01:39:49 +01:00
Peter Steinberger
62d10f7b84 improve(ui): drag sidebar group headers to reorder custom groups (#103997)
* improve(ui): drag sidebar group headers to reorder custom groups

* test(ui): repair sidebar group e2e for the gateway-owned catalog
2026-07-11 01:39:47 +01:00
Peter Steinberger
3ec2a50d6c fix(exec): prevent revoked policy from authorizing delayed node runs (#103950)
* fix(cli): fail closed on exec policy rollback races

* refactor(cli): reuse canonical exec policy ordering

* fix(exec): bind delayed approvals to prepared policy

* fix(macos): revalidate delayed exec approvals

* fix(exec): align approval snapshot validation gates
2026-07-11 01:37:37 +01:00
Josh Lehman
f68af64846 fix(auto-reply): queue unsupported transcript steering (#103916) 2026-07-10 17:34:31 -07:00
Peter Steinberger
25c216ab1e fix: keep gateway watch detached in limited terminals (#104009) 2026-07-11 01:33:47 +01:00
Vincent Koc
f4b3a4841f fix(release): accept Kova collector-only phases (#104008) 2026-07-10 17:31:42 -07:00
Peter Steinberger
b7d6291bfd fix(memory): preserve Unicode in QMD snippets (#103996) 2026-07-11 01:28:29 +01:00
Peter Steinberger
920b29bdd5 test(crestodian): preserve model input mock exports (#103999) 2026-07-11 01:19:11 +01:00
Peter Steinberger
5f7a67f186 fix(release): avoid token-shaped Claude live probe (#103994) 2026-07-11 01:03:30 +01:00
wings1029
63859f73e6 fix(codex): preserve Unicode diagnostics boundaries (#103740)
* fix(codex): preserve Unicode diagnostics boundaries

Co-authored-by: 陈志强0668000989 <chen.zhiqiang1@xydigit.com>

* test(codex): assert diagnostics preview boundary

* test(codex): narrow diagnostics result text

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-11 00:45:57 +01:00
Peter Steinberger
fef5c61a3c docs(gateway): document restart and crash recovery behavior (#103985)
* docs(gateway): document restart and crash recovery behavior

* chore(docs): allowlist intentional command:nwe hook example in spellcheck
2026-07-11 00:44:16 +01:00
Peter Steinberger
6d39ec5152 feat(ui): collapse session PR chips and add a CI monitoring popover (#103853)
* feat(ui): collapse session PR chips and add a CI monitoring popover

* chore(i18n): translate session PR chip strings

* docs(gateway): note Control UI contract shapes ship in lockstep

* chore(i18n): regenerate locale bundles after rebase
2026-07-11 00:37:06 +01:00
Peter Steinberger
2f9cb92006 fix(tasks): show registry restore errors in console (#103976) 2026-07-11 00:10:14 +01:00
wings1029
9bfecf46ee fix(acpx): preserve Unicode in wrapper diagnostics (#103738)
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-11 00:06:14 +01:00
xingzhou
babc287afe fix(slack): time out stalled external file uploads (#103442)
* fix(slack): time out stalled external file uploads

* fix(slack): scope external upload timeout

* fix(slack): restrict external upload transport

* fix(slack): restrict external upload transport

* fix(slack): preserve external upload retry safety

* test(slack): use compatible guarded fetch runtime

* test(plugin-sdk): update public export baseline

* fix(slack): harden external upload delivery

* refactor(slack): isolate upload completion

Keep ordinary Enterprise Grid traffic on the Bolt listener client. Use a team-scoped no-retry client only for one-shot external upload completion, while preserving the bounded raw-upload timeout and safe durable replay classification.

* fix(slack): refresh upload release metadata

* chore(slack): leave release notes release-owned

* fix(slack): classify failed uploads before completion

* fix(slack): keep upload completion untimed

* test(plugin-sdk): refresh public export baseline

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-10 23:52:35 +01:00
Bek
91ac7ca700 fix(tasks): repair legacy delivery statuses (#103946)
* fix(tasks): repair legacy delivery statuses

* docs(changelog): note task state migration repair

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-10 23:49:22 +01:00
Peter Steinberger
98902c790f fix(macos): preserve launchd gateway during port sweep (#103972) 2026-07-10 23:46:30 +01:00
Peter Steinberger
a0354e5243 fix(onboarding): make fresh AI setup reliable and transparent (#103962)
* fix(onboarding): harden inference setup

* fix(mac): preserve setup request cancellation

* test(crestodian): align setup audit expectation

* test(crestodian): cover approval persistence warning

* fix(crestodian): preserve setup credentials and success

* chore(pr): leave changelog to release flow

* fix(onboarding): repair native CI gates
2026-07-10 23:44:53 +01:00
Peter Steinberger
49941fab6d fix(ci): keep hydrate-github pnpm shims writable (#103971) 2026-07-10 23:36:10 +01:00
qingminlong
4f1f7c6fb0 fix(nodes): resolve Unicode browser node names when configured by display name (#103548)
* fix-nodes-unicode-browser-node-names

* fix(nodes): preserve compact browser node selectors

* fix(nodes): normalize unicode node names canonically

* fix(nodes): scope compact browser selectors

* fix(nodes): preserve meaningful unicode marks

* chore: leave changelog updates to release automation

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-10 23:32:28 +01:00
soldforaloss
0e0c922cc5 fix: preserve current Node for node.exe env wrappers (#103907)
* fix: preserve current Node for node.exe env wrappers

* fix(scripts): preserve Windows Node aliases

* chore: keep contributor PR release-note only

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-10 23:30:57 +01:00
lsr911
9dee9ebffa fix(qa-lab): use truncateUtf16Safe for tool search gateway and mock OpenAI text truncation (#103219)
* fix(qa-lab): use truncateUtf16Safe for tool search and mock OpenAI text truncation

Replace naive .slice(0, N) with truncateUtf16Safe() in:
- tool-search-gateway.fixture.ts: 4 sites (provider input snippet,
  tool output snippet, gateway output text for normal/code lanes)
- mock-openai/server.ts: 1 site (tool output evidence snippet)

LLM output text may contain non-BMP characters (emoji, CJK
extension characters). Naive .slice(0, N) at a surrogate pair
boundary produces a lone surrogate.

Co-Authored-By: Claude <noreply@anthropic.com>

* test: add proof script for qa-lab UTF-16 safe truncation at all boundaries

* test(qa-lab): integrate UTF-16 boundary coverage

Co-authored-by: lsr911 <liao.shirong@xydigit.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-10 23:26:42 +01:00
Vincent Koc
b0e3c85a61 fix(release): bind publish children to trusted SHAs (#103913)
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-10 23:25:26 +01:00
Vincent Koc
b1e688c657 fix(release): consume Kova model contract (#103966) 2026-07-10 15:17:15 -07:00
Peter Steinberger
53bcdf8fe2 fix(signal): drain accepted messages on shutdown (#103967) 2026-07-10 23:15:04 +01:00
SunnyShu
90250dcc9a fix(auth): repair stale orders and token health rollups (#98105)
* fix(auth): preserve token health after OAuth migration

After a user migrates from OAuth to a token/setup-token credential, the
gateway model-auth rollup reported the provider as missing, producing a
false "model auth expired" warning.

Rename aggregateOAuthStatus → aggregateRefreshableAuthStatus and
extract aggregateProfileStatus helper. OAuth remains authoritative when
present; token credentials are the fallback when no effective OAuth
profile exists. Empty effectiveProfiles stays authoritative (missing).
Token fallback applies regardless of expectsOAuth flag.

Fixes #97996

Co-authored-by: SunnyShu0925 <SunnyShu0925@users.noreply.github.com>

* test(auth): use fake token fixture

* fix(doctor): repair stale auth profile orders

* fix(doctor): inspect retained auth profile stores

* fix(doctor): harden retained auth store proof

---------

Co-authored-by: SunnyShu0925 <SunnyShu0925@users.noreply.github.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-10 23:11:01 +01:00
xingzhou
4257875448 fix(qa-lab): keep saved view text truncation UTF-16 safe (#103789)
* fix(qa-lab): keep saved view text truncation UTF-16 safe

* refactor(qa-lab): use semantic truncation helper

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-10 23:10:53 +01:00
Peter Steinberger
3f402f2c48 fix(telegram): suppress replies superseded during adoption (#103965)
* fix(telegram): preserve supersession through async adoption

* fix(auto-reply): stop superseded queued turns after adoption

* test(telegram): use dispatcher delivery return type
2026-07-10 23:10:05 +01:00
Peter Steinberger
42c80df6f5 docs(node): clarify headless identity and pairing state (#103964)
* docs(node): clarify headless identity storage

* docs: refresh node identity heading map
2026-07-10 22:55:45 +01:00
xingzhou
6f6c802ea5 fix(infra): keep restart log tails UTF-16 safe (#103757) 2026-07-10 22:50:25 +01:00
Vincent Koc
022dd9dc27 fix(release): unblock Meta npm bootstrap publication (#103951)
* fix(release): isolate Meta npm bootstrap

* test(release): assert OIDC npm version guard
2026-07-10 14:50:00 -07:00
Peter Steinberger
c3cd3a15d1 fix(nodes): correct system.which examples (#103960) 2026-07-10 22:45:54 +01:00
Vincent Koc
c5bdd64442 fix(telegram): detach adopted turns from reply fence (#103952) 2026-07-10 14:36:46 -07:00
Peter Steinberger
d92d5774f5 fix(node): report Mac exec policy defaults (#103945) 2026-07-10 22:07:44 +01:00