Commit Graph
100 Commits
Author SHA1 Message Date
Rod Boev 897322eac3 fix(#4728): keep main default-model routes from persisting auto provider 2026-06-24 20:09:30 +00:00
Rod Boev 23b3206f83 fix(#4728): guard settings default-model capture when no option is selected 2026-06-24 20:09:30 +00:00
Rod Boev c388d15f2b fix(#4728): clear stale base URLs when default provider changes 2026-06-24 20:09:30 +00:00
Rod Boev bede035a5e fix(#4728): persist provider-only default-model changes end to end 2026-06-24 20:09:30 +00:00
Rod Boev 69d202b94a fix(#4728): treat provider-only default changes as settings edits 2026-06-24 20:09:30 +00:00
Rod Boev eba089fd90 fix(#4728): preserve fallback-order guarantees for default-model routing 2026-06-24 20:09:30 +00:00
Rod Boev cdb44fb7e0 fix(#4728): sync saved default model provider into new chat state 2026-06-24 20:09:30 +00:00
Rod Boev dde3845171 fix(#4728): keep default-model requests on the configured provider 2026-06-24 20:09:30 +00:00
Rod Boev d8b58da018 fix(#4728): use configured default for new conversations 2026-06-24 20:09:30 +00:00
Rod Boev f330fa7f44 perf(reconnect): pre-index toolCalls and remove unreachable guard (#4811) 2026-06-24 19:39:40 +00:00
Rod Boev e86ebb6379 fix: remove unused textwrap import 2026-06-24 19:39:40 +00:00
Rod Boev 173014ae0e fix: update stale string-snapshot assertions for refactored anchor loop 2026-06-24 19:39:40 +00:00
Rod Boev 057b878136 fix(#4811): sort reconnect scene rows by phase and started_at chronology 2026-06-24 19:39:40 +00:00
Rod Boev e88e4ecefc fix(#4694): treat fetch timeout diagnostics as network failures 2026-06-24 19:29:06 +00:00
Rod Boev a3eac6a538 fix(#4694): surface non-network git fetch failures in updates 2026-06-24 19:29:06 +00:00
Rod Boev 30c9f5e52a fix(test): use regex for let-declaration extraction resilience (#4757) 2026-06-24 18:58:33 +00:00
Rod Boev 2ef8a5f827 fix: add node portability guard to drag-drop test 2026-06-24 18:58:33 +00:00
Rod Boev 36fee0c6a4 fix(#4757): add active-drag flags so macOS workspace drag-drop lands 2026-06-24 18:58:33 +00:00
Rod Boev 6cf4f7a5d0 test(#4793): decouple recycle reset assertions 2026-06-23 18:49:50 -04:00
Rod Boev a4f33f7687 test(#4793): tighten recycle reset regressions 2026-06-23 18:25:39 -04:00
Rod Boev 004c9774d0 fix(#4793): harden recycled assistant turns and messages scrollbar drag 2026-06-23 18:19:23 -04:00
Rod Boev bad9fd7e2b fix(#4793): harden recycled assistant turns and messages scrollbar drag 2026-06-23 18:14:05 -04:00
Rod Boev 53f18556fb Keep model refresh builds authoritative until cache save completes 2026-06-23 17:53:36 -04:00
Rod Boev fdedb2078a Keep session-visit model refresh from restamping stale catalogs 2026-06-23 17:40:09 -04:00
Rod Boev c3d5d585c2 fix(#4756): keep session refresh compatible with existing picker callers 2026-06-23 17:24:50 -04:00
Rod Boev 94e25ad494 fix(#4753): notify background desktop tabs without hiding streams 2026-06-23 17:10:03 -04:00
Rod Boev e5aa548d67 fix(#4756): refresh stale model catalogs on session visit 2026-06-23 12:50:28 -04:00
Rod Boev 2504eb90d7 fix(#4755): honor profile default workspace on fresh sessions 2026-06-23 12:18:44 -04:00
Rod Boev 165433fea6 Keep legacy sidebar tests aligned with visible-row filtering 2026-06-23 11:56:25 -04:00
Rod Boev 75016c99f6 test(sidebar): align legacy list checks with visible-session filtering (#4775) 2026-06-23 11:46:37 -04:00
Rod Boev bd72c785b5 fix(sidebar): reject cached fallback rows from the wrong hidden-filter mode (#4775) 2026-06-23 11:13:33 -04:00
Rod Boev 9296604667 fix(sidebar): keep delete fallback in the visible session scope (#4775) 2026-06-23 11:00:40 -04:00
Rod Boev 5ccabedcd4 test(sidebar): keep unassigned filter assertions aligned with refresh helper (#4775) 2026-06-23 10:56:42 -04:00
Rod Boev e9baeff2b2 fix(sidebar): preserve attention rows in filtered session payloads (#4775) 2026-06-23 10:51:33 -04:00
Rod Boev df6dba7a94 fix(sidebar): refresh project-chip payload after filter switch (#4775) 2026-06-23 10:40:40 -04:00
Rod Boev e27b7cf042 perf(sidebar): trim hidden and empty sidebar payload rows (#4775) 2026-06-23 10:29:06 -04:00
Rod Boev 148a1bfab2 Keep source-bucket cleanup tied to real session origin 2026-06-23 07:58:55 -04:00
Rod Boev df4cdf7f9b Prevent stale cross-bucket rows during source-tab switches 2026-06-23 07:49:46 -04:00
Rod Boev 52557d1137 Keep isolated sidebar dedupe harnesses aligned with source-map cleanup 2026-06-23 07:44:03 -04:00
Rod Boev 0f5e0d71b7 Keep sidebar state helpers compatible with isolated JS harnesses 2026-06-23 07:37:42 -04:00
Rod Boev f5f8f48006 Keep hidden source state through failed source refreshes 2026-06-23 07:06:07 -04:00
Rod Boev 742a19ab70 Keep sidebar partition proofs aligned with helper counts 2026-06-23 06:58:53 -04:00
Rod Boev efb784730a Keep sidebar source fallbacks honest under refresh failure 2026-06-23 06:51:12 -04:00
Rod Boev 534008c3fc Preserve hidden source runtime state across tab refreshes 2026-06-23 06:39:34 -04:00
Rod Boev 4ee5ef0d01 fix(#4766): harden source-tab refresh state 2026-06-23 06:21:15 -04:00
Rod Boev 73a209aca7 fix(#4766): close review gaps in sidebar source filtering 2026-06-23 06:10:16 -04:00
Rod Boev 9a5a3eb6d5 fix(#4766): filter /api/sessions by active source bucket 2026-06-23 05:56:00 -04:00
Rod Boev 631d62d9e8 fix(scroll): keep shared anchor restore semantics after rebase (#4346) 2026-06-23 03:11:06 -04:00
Rod Boev e4dcfb3cb8 fix(#4346): reject dual-class assistant turns from user-row recycling 2026-06-23 02:57:00 -04:00
Rod Boev b5a21a9fa1 Keep assistant role-header regression stable on CI 2026-06-23 02:57:00 -04:00
Rod Boev d736e91996 test(scroll): fix the recycled-turn header harness (#4346) 2026-06-23 02:57:00 -04:00
Rod Boev 568fb52727 fix(#4346): address drag-release and recycled-row review regressions
# Conflicts:
#	static/ui.js
#	tests/test_issue677.py
2026-06-23 02:57:00 -04:00
Rod Boev 8494576d70 Keep scrollbar repros out of the main test surface 2026-06-23 02:56:15 -04:00
Rod Boev 11a3abeca1 Keep evidence artifacts out of the cherry-pick path 2026-06-23 02:56:15 -04:00
Rod Boev e032cbb222 Widen scroll listener search window for safety-valve line
# Conflicts:
#	tests/test_issue677.py
2026-06-23 02:56:15 -04:00
Rod Boev e3816cf03b Skip CDP test files gracefully in CI 2026-06-23 02:55:54 -04:00
Rod Boev c4bec146a3 fix(#4346): keep scrollHeight stable during native scrollbar drag 2026-06-23 02:55:54 -04:00
Rod Boev 4a471f62d9 test(#4346): rewrite tests for recycling-only branch with behavioral coverage
# Conflicts:
#	tests/test_issue4346_vscroll_footer_jitter.py
2026-06-23 02:55:53 -04:00
Rod Boev 8b9805b6dd fix(#4346): use data-recycle-key for turn stash, add type checks per review
# Conflicts:
#	static/ui.js
2026-06-23 02:55:25 -04:00
Rod Boev 621b1b1a62 fix(#4346): prevent _programmaticScroll from staying stuck after load
# Conflicts:
#	static/ui.js
2026-06-23 02:54:56 -04:00
Rod Boev 2389eda01d fix(#4346): stamp dataset.msgIdx on assistant-turn containers so recycling stash can find them 2026-06-23 02:54:28 -04:00
Rod Boev 9c364d8498 perf(#4346): recycle stable DOM nodes during virtual-scroll measurement re-renders
# Conflicts:
#	static/ui.js
#	tests/test_issue4346_vscroll_footer_jitter.py
2026-06-23 02:54:28 -04:00
Rod Boev 40fc69b1cf Require real browser origins for escape grant minting (#4582) 2026-06-23 02:53:12 -04:00
Rod Boev decb1037bc Keep escape grants browser-confirmed and refreshable (#4582) 2026-06-23 02:53:12 -04:00
Rod Boev e8c4cb85c3 Preserve explicit inline markers for HTML preview guards 2026-06-23 02:53:12 -04:00
Rod Boev d20e9dd852 Prevent stale escape errors from collapsing live browse grants 2026-06-23 02:53:12 -04:00
Rod Boev 58b361b811 Keep escape navigation compatible with workspace static guards 2026-06-23 02:53:12 -04:00
Rod Boev 29f38902be Keep escape navigation on the tested UI route path (#4582)
# Conflicts:
#	static/workspace.js
2026-06-23 02:53:12 -04:00
Rod Boev 3401f589a7 Prevent file escape grants from breaking anchored reads (#4582) 2026-06-23 02:52:44 -04:00
Rod Boev 8caca99cae Preserve escape grants while locking second-hop regressions 2026-06-23 02:52:44 -04:00
Rod Boev 0f80113c12 feat(workspace): allow browser-only escape-target navigation (#4582)
# Conflicts:
#	static/workspace.js
2026-06-23 02:52:44 -04:00
Rod Boev c1355f9e6a Clarify the measurement transition guard and make its test precise 2026-06-23 05:48:36 +00:00
Rod Boev 2f7fe9da32 fix(#4346): harden footer jitter cleanup test 2026-06-23 05:48:36 +00:00
Rod Boev 8b74045bf8 fix(#4346): address review findings — classList fakes, .msg-time guard, test precision 2026-06-23 05:48:36 +00:00
Rod Boev 028fb61f3a fix(#4346): suppress footer jitter during virtual scroll measurement re-renders 2026-06-23 05:48:36 +00:00
Rod Boev 7f7ec57ebd Skip dead and exhausted pool entries in _get_provider_api_key to match prior pool.select() contract 2026-06-20 21:42:51 -04:00
Rod Boev b3c9bf5ad1 Preserve sys.modules state across secret_scope tests to avoid polluting sibling test modules 2026-06-20 21:39:06 -04:00
Rod Boev 454371c466 fix(#3961): probe agent availability without polluting sys.modules 2026-06-20 21:32:13 -04:00
Rod Boev 1dbfddd5b8 fix(#3961): use find_spec to avoid sys.modules pollution from failed agent import 2026-06-20 21:26:50 -04:00
Rod Boev 466412a732 fix(#3961): clean up partial agent entry from sys.modules on ImportError 2026-06-20 21:18:57 -04:00
Rod Boev 58b50d243e fix(#3961): close load_pool secret-scope bypass and extend subprocess env strip set 2026-06-20 20:50:13 -04:00
Rod Boev c237946ea3 fix(#3961): keep mirrored worker env updates and pool helpers compatible 2026-06-20 20:01:58 -04:00
Rod Boev 62ff54d5da fix(#3961): preserve live pool entry state outside readonly scopes 2026-06-20 19:58:04 -04:00
Rod Boev 44437f7a26 fix(#3961): fail closed for profile-scoped credential pool reads 2026-06-20 19:52:52 -04:00
Rod Boev ee588ba70e fix(#4550): harden gateway reasoning forwarding follow-up 2026-06-20 18:44:25 +00:00
Rod Boev 26c55404a5 fix(#4550): forward gateway reasoning effort 2026-06-20 18:44:25 +00:00
Rod Boev 6ae0ecca0a fix(#4535): include session_id in Runs API request body 2026-06-20 17:42:18 +00:00
Rod Boev 172ca592b6 Add behavioral regression test for legacy approval relay 2026-06-20 09:14:26 -04:00
Rod Boev 0435dddda1 Move approval handler before tool.progress per GPT-5.5 spec review 2026-06-20 08:59:52 -04:00
Rod Boev 9bc84dcad5 Unify approval handler blocks and add debug logging per review 2026-06-20 08:48:55 -04:00
Rod Boev 39d18b39c7 fix: remove unused imports flagged by ruff 2026-06-20 08:40:44 -04:00
Rod Boev f19b0ffc67 fix: relay approval SSE events on the legacy gateway chat/completions path 2026-06-20 08:32:02 -04:00
Rod Boev 4d3817f64b Ask GitHub to re-register checks for the profile-scope follow-up head 2026-06-20 03:53:25 -04:00
Rod Boev 7a0d868635 Keep profile-scoped reads from falling back to server credentials 2026-06-20 03:37:35 -04:00
Rod Boev 6220cc95db Keep readonly profile scoping alive without hermes-agent imports 2026-06-20 03:01:13 -04:00
Rod Boev b59f58601e fix(#3961): block process-env fallback in readonly profile scopes 2026-06-20 02:48:24 -04:00
Rod Boev 321090efcc fix(#3961): preserve mirrored live-model profile reads 2026-06-20 02:33:54 -04:00
Rod Boev 846951304d fix(#3961): route provider and model credential reads through the thread-local profile channel 2026-06-20 02:24:07 -04:00
Rod Boev e77ca8dbac fix(#2698): keep the pinned home across isolated fallbacks 2026-06-20 00:48:20 +00:00
Rod Boev c7375c60c4 fix(#2698): clamp isolated profile lookups to the pinned home 2026-06-20 00:48:20 +00:00