zeroclaw/src
linyibin b3e3a0a335
fix(config): handle tilde expansion in non-TTY environments (cron) (#3849)
When HOME environment variable is not set (common in cron jobs or
other non-TTY environments), `shellexpand::tilde` returns the literal
`~` unexpanded. This caused SOUL.md, IDENTITY.md, and other workspace
files to not be loaded because the workspace_dir path was invalid.

This fix adds `expand_tilde_path()` helper that falls back to
`directories::UserDirs` when shellexpand fails to expand tilde.
If both methods fail, a warning is logged advising users to use
absolute paths or set HOME explicitly in cron environments.

Closes #3819
2026-03-19 22:10:59 -04:00
..
agent Fix Jira tool panics and dedup bug (#4003) 2026-03-19 18:14:34 -04:00
approval fix(channels): allow low-risk shell in non-interactive mode (#3771) 2026-03-17 13:39:37 -04:00
auth feat: stabilize codex oauth and add provider model connectivity workflow 2026-02-24 16:03:01 +08:00
channels fix(channel): clear persisted JSONL session on /new command (#4014) 2026-03-19 21:48:33 -04:00
commands fix(cli): align self-test and update commands with implementation plan 2026-03-17 17:24:59 -04:00
config fix(config): handle tilde expansion in non-TTY environments (cron) (#3849) 2026-03-19 22:10:59 -04:00
cost fix(agent): parse MiniMax tool call formats for execution 2026-02-21 12:36:28 +08:00
cron fix(cron): persist allowed_tools for agent jobs (#3993) 2026-03-19 14:37:55 -04:00
daemon merge: resolve conflicts with master after #3891 merge 2026-03-19 18:29:36 -04:00
doctor feat(delegate): make sub-agent timeouts configurable via config.toml (#3909) 2026-03-18 17:07:03 -04:00
gateway fix(channel): add interruption_scope_id for thread-aware cancellation scoping (#4017) 2026-03-19 21:34:04 -04:00
hands feat(hands): add autonomous knowledge-accumulating agent packages (#3603) 2026-03-15 16:06:14 -04:00
hardware Addressed clippy lint issues 2026-03-10 01:48:19 -04:00
health refactor(sync): migrate remaining std mutex usage to parking_lot 2026-02-18 00:45:26 +08:00
heartbeat feat(heartbeat): add health metrics, adaptive intervals, and task history 2026-03-16 12:08:32 -04:00
hooks feat(hooks): add webhook-audit builtin hook (#3212) 2026-03-11 23:34:17 -04:00
integrations fix(channels): respect ack_reactions config for Telegram channel (#3834) (#3913) 2026-03-18 15:40:31 -04:00
memory feat(heartbeat): default interval 30→5min + prune heartbeat from auto-save (#3938) 2026-03-19 08:17:08 -04:00
nodes feat(nodes): add secure HMAC-SHA256 node transport layer (#3654) 2026-03-16 01:53:47 -04:00
observability fix(observability): handle missing OtelObserver match arms and add all-features CI check (#3981) 2026-03-19 17:48:35 -04:00
onboard feat(channel): add interrupt_on_new_message support for Discord (#3918) 2026-03-19 19:33:37 -04:00
peripherals feat(knowledge): add knowledge graph for expertise capture and reuse (#3596) 2026-03-17 01:11:29 -04:00
plugins fix(plugins): integrate WASM tools into registry, add gateway routes and tests 2026-03-17 18:10:24 -04:00
providers fix(provider): disable native tool calling for Venice (#4016) 2026-03-19 21:48:38 -04:00
rag chore(lint): extend low-risk clippy cleanup batch 2026-02-17 16:40:58 +08:00
runtime feat(tools): add Windows support for shell tool_call execution (#3442) 2026-03-13 17:12:16 -04:00
security feat(security): inject security policy summary into LLM system prompt (#4002) 2026-03-19 17:54:12 -04:00
service fix(service): headless browser works in service mode (systemd/OpenRC) (#3645) 2026-03-15 19:16:36 -04:00
skillforge chore: Remove blocking read strings 2026-02-19 14:52:29 +08:00
skills add configurable allow_scripts audit option (#4001) 2026-03-19 18:31:31 -04:00
sop fix(web): call doctor endpoint with authenticated POST 2026-02-24 16:02:59 +08:00
tools feat(tools): add calculator tool with arithmetic and statistical functions (#4012) 2026-03-19 21:40:27 -04:00
tunnel feat(tunnel): add OpenVPN tunnel provider (#3648) 2026-03-16 00:34:34 -04:00
i18n.rs feat(i18n): externalize tool descriptions for translation (#3912) 2026-03-18 17:01:39 -04:00
identity.rs test: cover deterministic HashMap ordering paths 2026-02-18 21:55:40 +08:00
lib.rs fix(cron): persist allowed_tools for agent jobs (#3993) 2026-03-19 14:37:55 -04:00
main.rs feat(i18n): externalize tool descriptions for translation (#3912) 2026-03-18 17:01:39 -04:00
migration.rs readd tests, remove markdown files 2026-02-18 14:42:39 +08:00
multimodal.rs fix(agent): strip vision markers from history for non-vision providers (#3734) 2026-03-16 16:25:45 -04:00
util.rs fix(ci): restore containerized validation on main (#1096) 2026-02-20 07:48:58 -05:00