Commit Graph

67419 Commits

Author SHA1 Message Date
Peter Steinberger d49acffa5e refactor(infra): consolidate retry scheduling (#105789)
* refactor(infra): consolidate retry scheduling

* fix(build): wire shared retry package

* fix(build): resolve retry package in source graphs

* fix(infra): keep retry adapter dependency-free
2026-07-12 19:58:55 -07:00
Peter Steinberger dce8eed0b9 ci(deadcode): restore enforced unused-export ratchet (#105826)
* ci(deadcode): restore export ratchet

* chore(deadcode): refresh export baseline

* refactor(sessions): remove obsolete patch writer

* refactor(deadcode): classify current export residue

* fix(deadcode): preserve exported signature types

* chore(deadcode): sync export baseline after rebase

* chore(deadcode): classify pairing test exports

* fix(ci): refresh plugin SDK declaration budget
2026-07-12 19:58:38 -07:00
Peter Steinberger c3dbaf4375 refactor: split hot TypeScript modules and add LOC ratchet (#105894)
* refactor: split high-churn agent and chat modules

* ci: enforce TypeScript LOC ratchet

* ci: anchor LOC baseline updates to merge base

* test: cover LOC ratchet check plans

* chore: refresh TypeScript LOC baseline
2026-07-12 19:57:42 -07:00
xingzhou fb48df4a0f fix(claude-cli): max-turn stops omit run and recovery context (#94130)
* fix(anthropic): handle max_turns stop reason and surface retry-limit details to users

* fix(anthropic): classify max_turns as length-limited

* fix(anthropic): preserve max_turns diagnostics

* fix(anthropic): preserve max_turns side-effect warning

* fix(claude-cli): max-turn stops omit run and recovery context

* fix(claude-cli): preserve max-turn terminal boundaries

* refactor(claude-cli): centralize terminal error conversion

Co-authored-by: zhang-guiping <zhang.guiping@xydigit.com>

* fix(claude-cli): warn before retrying max-turn failures

Co-authored-by: zhang-guiping <zhang.guiping@xydigit.com>

* fix(claude-cli): preserve max-turn stops through wrappers

Co-authored-by: zhang-guiping <zhang.guiping@xydigit.com>

* fix(claude-cli): prioritize terminal max-turn output

---------

Co-authored-by: 张贵萍 <zhangguiping@zhangguipingdeMac-mini.local>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-12 19:57:34 -07:00
Peter Steinberger e119d050e5 feat(ui): make the sidebar agent chip body the menu trigger (#105861)
* feat(ui): make the sidebar agent chip body the menu trigger

The footer chip's big name/avatar area now opens the agent menu directly
and the chevron toggle button is removed. New-session plus stays as the
only trailing action; the unread dot moves onto the chip body.

* chore(ui): prune removed agentChip.openConversation key from locale bundles

* fix(ui): keep the agent name in the chip menu trigger accessible name
2026-07-12 19:57:31 -07:00
Peter Steinberger 1beb0ead13 fix(i18n): align Apple wrapper contract (#105864) 2026-07-12 19:50:06 -07:00
Peter Steinberger 2186cdf36e fix(i18n): restore Text(title) wrapper contract for settings accessibility labels
0aabf56242 relaxed the wrapper contract to .accessibilityLabel(title) while
the same pattern stayed in RAW_LOCALIZATION_BYPASSES, and #105859 then
restored Text(title) in SettingsProTabSections.swift, leaving main's
apple-app-i18n guard failing in both directions. Revert the contract to the
original required pattern; both guard tables validate against current main.
2026-07-12 19:47:54 -07:00
Peter Steinberger 34bbd3820b test(ui): stabilize chat hover browser timeout 2026-07-12 22:44:54 -04:00
Vincent Koc f26793ca54 refactor(qa-lab): trim process metric parser exports (#105891) 2026-07-13 10:42:29 +08:00
qingminlong 0e15a5d994 fix(pdf): reject unsafe page numbers before analysis (#105315)
* fix(pdf): reject unsafe page numbers before analysis

* test(pdf): bound unsafe page range regression
2026-07-12 19:38:55 -07:00
Peter Steinberger a9761ab5af test(ui): align composer footer inset assertions with centered chip padding
PR #105866 split the footer block inset evenly (calc(inset/2) top/bottom)
but left chat-responsive.browser.test.ts asserting the full inset, breaking
checks-ui on main.
2026-07-12 19:35:06 -07:00
Peter Steinberger c81ae0412c fix(ios): localize Settings accessibility labels (#105859)
* fix(ios): preserve localized accessibility labels

* chore(i18n): refresh native source inventory
2026-07-12 19:33:27 -07:00
Vincent Koc e9e7d385e0 refactor(plugin-runtime): trim task facade exports (#105878) 2026-07-13 10:25:52 +08:00
Ayaan Zaidi 0aabf56242 chore(i18n): track accessibilityLabel(title) wrapper contract
5e9bc0916f switched two SettingsProTabSections accessibility labels
from .accessibilityLabel(Text(title)) to .accessibilityLabel(title);
title is LocalizedStringKey so lookup stays localized, but the wrapper
contract in apple-app-i18n.ts still required the old spelling and the
tooling shard only runs on PRs, so main broke silently.
2026-07-13 07:46:38 +05:30
Peter Steinberger 38e636542d fix(gateway): keep watch logs visible in tmux 2026-07-13 03:14:49 +01:00
Peter Steinberger 2f756c70a6 fix(ui): center composer footer controls between divider and card edge (#105866)
* fix(ui): center composer footer controls between divider and card edge

* docs: add PR number to composer footer changelog entry
2026-07-12 19:13:17 -07:00
Ayaan Zaidi c029d997a9 chore(i18n): resync native inventory line metadata
Direct iOS/Android commits on main shifted source line numbers without
running the path-filtered native-i18n job, so `native:i18n:check` fails
on any PR that touches a native path. Metadata-only resync; entry count
unchanged (4200).
2026-07-13 07:42:52 +05:30
Vincent Koc afb282ee68 refactor(infra): trim Windows firewall exports (#105856) 2026-07-13 10:06:10 +08:00
Peter Steinberger c3ee86a068 refactor(browser): localize internal support types (#105839) 2026-07-12 18:59:01 -07:00
Peter Steinberger 58e8440190 fix(docs-i18n): reject leaked placeholder variants 2026-07-12 21:53:44 -04:00
Peter Steinberger 024b7d5aa8 refactor(pairing): store channel pairing state in SQLite (#105802)
* refactor(pairing): move channel state to SQLite

* fix(pairing): preserve doctor and SDK contracts

* fix(pairing): break SQLite storage import cycle

* fix(pairing): keep SQLite types outside SDK graph
2026-07-12 18:53:38 -07:00
Vincent Koc 818eca2c09 fix(ios): coalesce automatic overview refreshes 2026-07-13 03:53:15 +02:00
Vincent Koc 918745ed21 docs(changelog): note native app reliability fixes 2026-07-13 03:53:15 +02:00
Vincent Koc 5e9bc0916f fix(ios): harden gateway and watch state handling 2026-07-13 03:53:15 +02:00
Vincent Koc b9d53d3cce fix(android): keep disconnected nodes offline 2026-07-13 03:53:15 +02:00
Peter Steinberger 6eae468d45 feat(ui): scope the sidebar sessions list to the chip-selected agent (#105832)
* feat(ui): scope the sidebar sessions list to the selected agent

* fix(ui): render the target agent's cached sessions during a chip switch

* fix(ui): key the sessions list off the chip-selected agent
2026-07-12 18:43:11 -07:00
Peter Steinberger cba79b4aaa fix(slack): suppress room event typing indicators (#105813)
* fix(slack): suppress room event typing indicators

* fix(slack): suppress room event typing indicators
2026-07-12 18:41:49 -07:00
Vincent Koc 8091292e3e refactor(infra): trim advertised host exports (#105834) 2026-07-13 09:40:34 +08:00
Peter Steinberger 43901be298 refactor(agents): trim embedded helper dead exports (#105815)
* refactor(agents): trim embedded helper exports

* chore(deadcode): refresh export baseline

* chore(deadcode): sync export baseline

* chore(deadcode): reconcile export baseline
2026-07-12 18:34:45 -07:00
Peter Steinberger 3613b83c6c refactor(browser): trim private Playwright exports (#105794)
* refactor(browser): trim private Playwright exports

* chore(deadcode): refresh export baseline

* chore(deadcode): refresh current baseline

* chore(deadcode): refresh latest baseline
2026-07-12 18:30:34 -07:00
qingminlong 60ca7565a7 fix(discord): omit invalid component accent colors (#105387)
* fix(discord): omit invalid component accent colors

* test(discord): cover accent color boundaries

* docs: keep release notes in PR context

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-12 18:25:49 -07:00
Peter Steinberger a63aec8bf8 test: remove more avoidable waits (#105816) 2026-07-12 18:24:13 -07:00
Vincent Koc f1a64741b5 refactor(plugins): trim registry exports (#105812) 2026-07-13 09:16:54 +08:00
Peter Steinberger 6aca7ca48f improve: start Gateway and first agent turn faster (#105801)
* perf(gateway): streamline cold startup and first turn

* test(gateway): cover startup fast-path contracts
2026-07-12 18:16:18 -07:00
Peter Steinberger 3616fba951 fix(gateway): make hot reload transactional (#105289)
* fix(gateway): make hot reload transactional

Replace partial reload side effects with a deferred transaction that publishes config, secrets, auth, and subsystem state together, and drains in-flight reload work before shutdown.

Co-authored-by: LZY3538 <293718838+LZY3538@users.noreply.github.com>

* fix(auth): preserve state-only credential ownership

Keep derived runtime snapshots in place for main-store state mutations so order refreshes do not look like credential replacement.

* fix(gateway): close reload transaction gaps

* fix(gateway): close merged reload gaps

* chore: move reload note to PR context

* fix(gateway): exclude restart emission root

---------

Co-authored-by: LZY3538 <293718838+LZY3538@users.noreply.github.com>
2026-07-12 18:16:15 -07:00
NIO c93f87756a fix(qqbot): reject unsafe mention patterns (#102976)
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-12 18:14:01 -07:00
Peter Steinberger a948168690 fix(ui): restore logs auto-follow when re-enabled (#105809) 2026-07-12 18:13:09 -07:00
Vincent Koc 4afcbea5c5 test(sqlite): harden compaction and restore reliability proof (#105811)
* test(sqlite): chain compaction and restore reliability proof

* test(sqlite): bound reliability stress storage

* test(sqlite): monitor transient WAL growth
2026-07-13 09:09:21 +08:00
Peter Steinberger 774d5249cc test: eliminate unchecked TypeScript casts (#105804) 2026-07-12 18:08:26 -07:00
Peter Steinberger f9d7aa286e refactor(sessions): reduce accessor boundary debt (#105786)
* refactor(sessions): publish rewrite updates through accessor

* refactor(sessions): patch suspensions through accessor

* refactor(acp): clarify accessor-backed session loads

* test(sessions): ratchet accessor boundary debt

* fix(sessions): preserve file-backed rewrite notifications

* test(sessions): retain file-backed rewrite debt

* fix(sessions): preserve transcript rewrite update identity

* test(sessions): restore rewrite debt baseline
2026-07-12 18:07:55 -07:00
Vincent Koc 6c88469110 refactor(msteams): remove obsolete sso invoke stack (#105799) 2026-07-13 08:59:08 +08:00
Vincent Koc 5c49055293 fix(release): allow larger plugin publication manifests (#105800) 2026-07-13 08:55:23 +08:00
Peter Steinberger fe0a6db2b4 fix(slack): warn on disabled channel drops (#105790) 2026-07-12 17:50:14 -07:00
Peter Steinberger 462edb3373 fix(ui): scope usage insights to active filters (#105792) 2026-07-12 17:46:54 -07:00
Peter Steinberger fbade914f5 refactor(plugins): decompose plugin registry (#105783)
* refactor(plugins): decompose plugin registry

* chore(plugins): move session accessor debt baseline
2026-07-12 17:44:27 -07:00
Peter Steinberger af326b98d7 fix(macos): avoid SwiftUI macro plugin dependency (#105768)
* fix(macos): avoid SwiftUI macro plugin dependency

* fix(macos): scope chat previews to iOS

* chore(i18n): refresh native source locations

* fix(macos): preserve explicit environment keys in formatter

* chore(pr): keep changelog release-owned
2026-07-12 17:40:41 -07:00
Peter Steinberger 95c3182030 refactor(agents): trim auth-profile dead exports (#105788)
* refactor(agents): trim auth profile exports

* chore(deadcode): refresh export baseline
2026-07-12 17:38:39 -07:00
ZOOWH a2b55b5721 fix(cron): throttle session reaper after persistence errors (#105386)
* fix(cron): throttle session reaper after persistence errors

* refactor(cron): record session reaper attempts eagerly

* docs: keep release notes in PR context

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-12 17:36:40 -07:00
Peter Steinberger e01d1e85f3 ci(swift): enforce shared OpenClawKit dead-code coverage (#105770)
* ci(swift): enforce shared kit dead-code coverage

* chore(i18n): sync native source inventory

* ci(swift): install pinned iOS scan tools
2026-07-12 17:35:47 -07:00
xiaobao-k8s ff166425d1 fix(media): parse local file extensions across path styles (#105614)
* fix(media): parse local file extensions across path styles

* docs: note cross-platform media path fix

* docs: keep release notes in PR context

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-12 17:35:43 -07:00