ZeyuFu
9bd2a9d7a9
fix(runtime-fallback): fall back to synthetic continuation when session messages are empty ( #3645 )
...
When the working directory contains a .git folder the OpenCode server
normalises the project root to the git root before persisting messages.
This creates a race: the 429/503/529 error event can fire before the
user's message is committed to storage, so session.messages returns []
and getLastUserRetryParts returns an empty array. The previous code
treated that as a silent no-op (cleared all retry state, Sisyphus stalled).
Fix: when fetchedParts is empty, emit a structured log explaining the
.git-directory race and fall back to a synthetic { type:"text", text:"continue" }
part — matching the pattern already used by autoContinueAfterFallback in
event.ts. The fallback dispatch always proceeds regardless of whether
the messages API can return user parts.
Update four tests that fired two consecutive session.error events relying
on the old silent-stop behaviour: add top-level model fields to the second
error so the awaiting-fallback gate recognises it as coming from the
dispatched fallback model and lets it through normally.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-20 22:29:59 -04:00
github-actions[bot]
fcb96841f8
@heunghingwan has signed the CLA in code-yeongyu/oh-my-openagent#4221
2026-05-20 21:22:11 +00:00
YeonGyu-Kim
a6e4691fcc
fix: remove duplicate local isRecord declaration (conflicts with import)
2026-05-21 03:17:52 +09:00
YeonGyu-Kim
97c73b41bf
Merge pull request #3147 from EZotoff/fix/notepad-directive-scope
...
fix(sisyphus-junior-notepad): scope plan directive to delegated workers
2026-05-21 00:59:10 +09:00
YeonGyu-Kim
db4c9f49e3
Merge pull request #3316 from ahuangsnail/fix/max-output-tokens-zero-fallback
...
fix: treat zero limit.output as unknown to enable fallback to bundled…
2026-05-21 00:59:05 +09:00
YeonGyu-Kim
821ee92c2f
Merge pull request #2965 from sjawhar/fix/chat-message-session-cache
...
fix(chat-message): refresh stale session-agent cache from explicit input.agent
2026-05-21 00:58:20 +09:00
YeonGyu-Kim
5b72411ba4
Merge pull request #3045 from haimingZZ/fix/gpt54-junior-edit-tool-haimingzz
...
fix(prompt): prefer edit tool for GPT-5.4 juniors
2026-05-21 00:58:01 +09:00
YeonGyu-Kim
d7dbe7cdb0
Merge pull request #2988 from odedindi/fix/add-server-export
...
fix(package): add ./server export for OpenCode-Go plugin compatibility
2026-05-21 00:57:55 +09:00
YeonGyu-Kim
abcc46f44a
fix: update pollSessionUntilIdle -> waitForLookAtSessionResult import
2026-05-21 00:57:36 +09:00
YeonGyu-Kim
2a4f5f2877
Merge pull request #2958 from kui123456789/fix/context-injector-prt-prefix
...
fix(context-injector): prefix synthetic part ids with prt_
2026-05-21 00:56:26 +09:00
YeonGyu-Kim
70da8ad695
Merge pull request #3600 from hackerh3/hackerh3/start-work-session-affinity
...
fix(start-work): prefer current session plan
2026-05-21 00:55:57 +09:00
YeonGyu-Kim
3dba552798
Merge pull request #2991 from GreenPi290/fix/doctor-wsl-binary-detection
...
fix(doctor): improve opencode binary detection for WSL
2026-05-21 00:55:17 +09:00
YeonGyu-Kim
f5de4bf7be
Merge pull request #3498 from Disaster-Terminator/fix/task-id-prompt-surface
...
fix(prompts): prefer task_id in continuation guidance
2026-05-21 00:54:47 +09:00
YeonGyu-Kim
abf79cd8ca
Merge pull request #3499 from Netzhangheng/fix/windows-auth-interceptor-binding
...
Fix interceptor auth injection on Windows
2026-05-21 00:54:28 +09:00
YeonGyu-Kim
ace15a6afe
Merge pull request #3785 from Biemmmmm/fix/resolve-plugin-root-in-commands
...
fix: resolve ${CLAUDE_PLUGIN_ROOT} in plugin commands, agents, and skills
2026-05-21 00:48:33 +09:00
YeonGyu-Kim
d0719ff7b7
Merge pull request #3875 from jollyxenon/fix/3846-opencode-config-dir-additive
...
fix(config): align OPENCODE_CONFIG_DIR with additive OpenCode semantics
2026-05-21 00:48:00 +09:00
YeonGyu-Kim
6dcb2afd41
Merge pull request #3838 from NICxKMS/fix/team-mode-windows-atomic-write
...
fix(team-mode): sync atomic writes through writable handle
2026-05-21 00:46:24 +09:00
YeonGyu-Kim
b18963b0a9
Merge pull request #3868 from MoerAI/fix/openai-server-error-retryable
...
fix(model-error-classifier): mark OpenAI server_error patterns as retryable (fixes #3799 )
2026-05-21 00:46:16 +09:00
YeonGyu-Kim
2185babd28
Merge pull request #3936 from wjiuxing/fix/flaky-spawner-test-polling
...
fix: replace brittle setTimeout(50) with polling waitForCondition in spawner tests
2026-05-21 00:46:06 +09:00
YeonGyu-Kim
cad63c97bd
Merge pull request #4052 from PeterPonyu/fix/3505-attach-retry-until-session-ready
...
fix(tmux-subagent): wait for session readiness before spawning attach pane
2026-05-21 00:45:15 +09:00
YeonGyu-Kim
7651c856aa
Merge pull request #3944 from survivor998/fix/ultraworker-display-name-zwsp
...
fix(display): lowercase ultraworker to avoid ZWSP rendering glitch
2026-05-21 00:45:07 +09:00
YeonGyu-Kim
10ad8d87e9
Merge pull request #4050 from PeterPonyu/fix/3822-doctor-plugin-version-detection
...
fix(doctor): detect oh-my-openagent version from resolved package.json
2026-05-21 00:44:13 +09:00
YeonGyu-Kim
0e49767a3e
Merge pull request #4026 from dihak/fix/graceful-shutdown-exit
...
fix(process-cleanup): call process.exit() after SIGTERM cleanup
2026-05-21 00:43:32 +09:00
YeonGyu-Kim
e824115a2f
Merge pull request #4063 from PeterPonyu/fix/3963-server-url-port-zero
...
fix(team-mode): surface port-0 fallback and silent layout skip (#3963 )
2026-05-21 00:42:20 +09:00
YeonGyu-Kim
467aa13e9f
Merge pull request #4064 from PeterPonyu/fix/3923-team-error-propagation
...
fix(team-mode): surface member error to main agent (#3923 )
2026-05-21 00:42:11 +09:00
YeonGyu-Kim
cb124f75a5
Merge pull request #4065 from PeterPonyu/fix/3987-team-create-hard-reject-validation
...
fix(team-mode): reject team_create from hard-reject agents (#3987 )
2026-05-21 00:42:04 +09:00
YeonGyu-Kim
a1f03c8461
Merge pull request #4066 from PeterPonyu/fix/2887-filter-terminal-probe-replies
...
fix(tmux-subagent): drain terminal probe replies during delegated pane startup (#2887 )
2026-05-21 00:41:57 +09:00
YeonGyu-Kim
6637a18450
Merge pull request #4067 from PeterPonyu/fix/3898-fallback-preserve-team-context
...
fix(team-mode): preserve team membership across model fallback (#3898 )
2026-05-21 00:41:11 +09:00
YeonGyu-Kim
b76e8d2e86
Merge pull request #4077 from PeterPonyu/fix/4013-todo-continuation-enforcer-loop
...
fix(todo-continuation-enforcer): stop looping after all todos complete (#4013 )
2026-05-21 00:38:41 +09:00
YeonGyu-Kim
5eabeb80f9
Merge pull request #4082 from PeterPonyu/fix/3685-notepad-no-write-fallback
...
fix(notepad-guard): refuse Write tool for .sisyphus/notepads files (#3685 )
2026-05-21 00:37:27 +09:00
YeonGyu-Kim
85d03298b9
Merge pull request #4098 from sjawhar/feat/look-at-async
...
fix(look-at): rework session poller to wait for assistant response, not just idle
2026-05-21 00:15:22 +09:00
YeonGyu-Kim
aa3187bfbb
Merge pull request #4180 from JacobZyy/fix/plugin-hooks-merge
2026-05-21 00:14:58 +09:00
YeonGyu-Kim
343d9ed2fe
Merge pull request #4099 from sjawhar/fix/mcp-reload-survival
...
fix(skill-mcp): allow MCP manager to accept connections after disconnectAll
2026-05-21 00:13:29 +09:00
YeonGyu-Kim
7a5b8d831e
Merge pull request #4100 from sjawhar/fix/tmux-isolated-close-no-layout
...
fix(tmux): skip layout enforcement when closing isolated container pane
2026-05-21 00:11:55 +09:00
YeonGyu-Kim
12ed091e93
Merge pull request #4101 from sjawhar/fix/modalities-object-shape
...
fix(model-capabilities): handle object-shaped modalities in readModalityKeys
2026-05-21 00:10:29 +09:00
YeonGyu-Kim
aa5eeaf892
Merge pull request #4102 from sjawhar/fix/skill-directory-param
...
fix(skill): pass directory to getAllSkills + fix async test timing
2026-05-21 00:08:40 +09:00
YeonGyu-Kim
3ee0209a41
Merge pull request #4113 from PeterPonyu/fix/3937-runtime-fallback-quota-patterns
...
fix(runtime-fallback): classify more provider quota error names
2026-05-21 00:07:08 +09:00
YeonGyu-Kim
f35bb95634
Merge pull request #4114 from PeterPonyu/fix/3607-detect-shell-windows-msystem
...
fix(non-interactive-env): use powershell syntax on Windows regardless of SHELL/MSYSTEM (#3607 )
2026-05-21 00:04:45 +09:00
YeonGyu-Kim
c6d754d389
Merge pull request #4115 from PeterPonyu/fix/3726-glob-grep-broken-symlinks
...
fix(glob,grep): tolerate broken symlinks and non-fatal I/O warnings (#3726 )
2026-05-21 00:03:53 +09:00
YeonGyu-Kim
8276eb6c53
Merge pull request #4121 from mguttmann/fix-4119
...
fix(delegate-task): default run_in_background and load_skills instead of throwing (fixes #4119 )
2026-05-21 00:01:12 +09:00
JacobZyy
33f121b113
fix: add PATH to restricted hook env, protect HOME/CLAUDE_PROJECT_DIR from allowlist override, reset plugin hooks state in tests
...
- P1: When allowedEnvVars is provided, PATH was missing from the base
restricted env, causing non-builtin commands to fail at exec time
- P2: Allowlisted HOME/CLAUDE_PROJECT_DIR could overwrite normalized
values from getHomeDirectory()/cwd with ambient process.env values
- P2: Test suite mutated shared pluginHooksState singleton without
resetting it in afterEach, causing cross-test state leaks
2026-05-20 22:49:05 +08:00
YeonGyu-Kim
3e9c3f8ada
Merge pull request #4146 from LYY/fix/skill-shortname-fallback
...
fix: support unambiguous short skill names in delegated skill loading
2026-05-20 23:42:44 +09:00
YeonGyu-Kim
2fd627144a
Merge remote-tracking branch 'origin/dev' into dev
2026-05-20 23:41:09 +09:00
YeonGyu-Kim
791825fc20
Merge pull request #4153 from MoerAI/fix/fallback-model-string-guard
...
fix(shared,delegate-task,claude-code-agent-loader): guard model parsers against non-string input (fixes #4145 )
2026-05-20 23:40:33 +09:00
YeonGyu-Kim
e246965789
Merge pull request #4154 from MoerAI/fix/todo-description-override-fires
...
fix(plugin): wire tool.definition handler so todo-description-override actually fires (fixes #3705 )
2026-05-20 23:38:51 +09:00
YeonGyu-Kim
b463acda72
Merge pull request #4171 from MoerAI/fix/multimodal-looker-tool-usage-guidance
...
fix(agents): declare multimodal-looker tool allowlist in prompt to prevent death loop on small VL models (fixes #4116 )
2026-05-20 23:36:10 +09:00
YeonGyu-Kim
eea27d6f7e
fix(mcp): resolve local mcp runtimes
...
Resolve built-in local MCP runtime executables before handing command arrays to OpenCode so lsp and ast_grep do not depend on a bare node or bun lookup in the host PATH.
Keep source, dist, bootstrap, workspace-safety, and disabled_mcps behavior covered by focused tests and real OpenCode MCP status QA.
Plan: plans/fix-built-in-mcp-runtime-executables.md
2026-05-20 23:33:32 +09:00
YeonGyu-Kim
37be0d5691
Merge pull request #4174 from MoerAI/fix/cli-setup-alias-for-install
...
fix(cli): add 'setup' as an alias for the install command (fixes #4112 )
2026-05-20 23:31:41 +09:00
JacobZyy
0a20844bd4
fix: address PR #4180 review - security, typing, and test coverage
...
- Apply mcp_env_allowlist to plugin hooks: intersect HTTP allowedEnvVars
with MCP allowlist, set command allowedEnvVars to full MCP allowlist
- Scrub process.env in executeHookCommand when allowedEnvVars provided
- Add PluginHooksState class with per-directory Map storage
- Add PluginHooksConfig interface for typed boundary layer
- Pass directory context through hook-config-handler
- Add 16 tests across 4 files (40 assertions) covering allowlist
filtering, env scrubbing, directory isolation, and edge cases
- Remove unnecessary 'as' type assertions, use discriminated union
narrowing instead
2026-05-20 22:30:25 +08:00
YeonGyu-Kim
fd6a7aed17
Merge pull request #4176 from jangByeongHui/fix/skill-mcp-env-allowlist-bypass-3995
...
fix(skill-mcp-manager): trust explicit skill MCP env vars (#3995 )
2026-05-20 23:09:12 +09:00