Repository navigation
v1.3.89
v1.3.89
Cron, Desktop, and LAN Chat Fixes
Cron: queue_if_busy Parameter
New queue_if_busy parameter on cron_create lets the LLM control
whether a cron job should queue when the agent is busy:
queue_if_busy=false(default): skip the firing when agent is busy
— ideal for non-critical periodic checks that shouldn't interrupt the
current agent loop.queue_if_busy=true: queue the prompt and execute after the current
run finishes — for important tasks that must run.
Existing persisted jobs without the field default to false (skip-if-busy).
The cron_list output now shows the queue mode for each job.
Cron: Desktop and Daemon Enqueue Wiring
Desktop: the cron enqueue callback was a no-op (only logged). Now fires
the prompt via sendMessageData, which queues when the agent is busy.
Daemon: added cron scheduler creation and tool registration. Cron prompts
fire via bridge.SendUserMessage, using tryQueueInterruption for queuing.
Desktop: Remove 200 Max Iteration Cap
Desktop InitAgent overrode MaxIterations=0 (unlimited) to 200, causing
"max iterations (200) reached" errors even when the user's ggcode.yaml
explicitly set max_iterations: 0. Now 0 correctly means unlimited,
matching TUI and daemon behavior.
LAN Chat: Always Use Community Key
LAN Chat was using the configured A2A API key when sending messages to
peers. If two instances had different API key configurations, peer-to-peer
messages would get 401 rejected.
Now all lanchat HTTP requests (message delivery, presence exchange, nick
change broadcast) always send the built-in community key
(ggcode-lan-a2a-v1) in the X-API-Key header, regardless of the
configured A2A auth. This ensures zero-config interoperability between
any instances on the LAN.
Files Changed
internal/cron/scheduler.go—QueueIfBusyfield,Createsignature, persistenceinternal/tool/cron_tools.go—queue_if_busyparameter, list outputinternal/agentruntime/subsystems.go—NewWorkspaceCronSchedulersignatureinternal/tui/repl.go—cronPromptMsg.QueueIfBusy, enqueue callbackinternal/tui/model_update.go— skip-if-busy logicdesktop/wailskit/chat.go— cron enqueue wiring, max iteration cap removalcmd/ggcode/daemon.go— cron scheduler creation and registrationinternal/lanchat/hub.go— community key for all peer HTTP requests