fix(test): temp dir cleanup + testTimeout for parallel workers - #71
Open
diazMelgarejo wants to merge 438 commits into
Open
fix(test): temp dir cleanup + testTimeout for parallel workers#71diazMelgarejo wants to merge 438 commits into
diazMelgarejo wants to merge 438 commits into
Conversation
This adds a shared write helper and updates agents plus Telegram workspace/config routes to use shared read/write config access for consistent path and serialization handling.
…ill behavior. Split agent bindings channel-item derivation into a dedicated hook, add an optional ChannelsCard custom row renderer, and clear create-channel name defaults when a provider already has configured accounts.
Exercise channel creation progress fallback/debounce/settlement behavior in frontend tests and verify delete-agent guard rails never attempt workspace deletion when deletion is rejected.
This updates featured model mapping and onboarding fallback options to include openai-codex/gpt-5.4 while keeping usage pricing coverage in sync.
This keeps provider auth badges in an unsaved state until Save changes is applied, persists cleared API-key values by removing env vars, and includes GPT-5.4 alongside Codex 5.3 in featured/onboarding model defaults.
Propagate topic-level agentId values into openclaw topic mappings during Telegram sync and add regression tests, while including the current featured-model list updates in the same worktree commit.
Ship multi-agent sidebar fixes and follow-up hardening
…ns and richer tool guidance. This adds URL-sticky tools tab behavior, robust tools config persistence/reset handling, and contextual tooltips so advanced capabilities are easier to understand.
…silient history loading so chat works reliably in local and containerized setups. Polish chat UX with markdown rendering, better spacing, per-session drafts, stop-generation control, and streaming behavior improvements.
Show tool activity as minimal per-call rows with expandable payload/result details, preserve richer history metadata, and keep chat styling isolated from agents styles for easier maintenance.
Resolve gateway event targets more reliably across payload shapes and attach streamed tool results to the correct inline tool rows so users see tool activity in real time.
Stop forcing gmail transform rewrites on setup/renew paths, add regression coverage, and keep Gmail Configure available as a tutorial replay after webhook setup without rerunning destination/watch-enable steps.
Fix Gmail transform overwrite and improve setup replay
fix: isolate onboarding auth from stale env vars
Let users continue to the dashboard when channel pairing is blocked or deferred, so setup does not get stuck waiting on a pairing request.
…ns and richer tool guidance. This adds URL-sticky tools tab behavior, robust tools config persistence/reset handling, and contextual tooltips so advanced capabilities are easier to understand.
Introduces the cron tab with a resizable job list sidebar, job detail view (metadata, prompt editor, usage stats, run history), and an overview page with optimization warnings. Includes server-side cron service, API routes, usage DB support, and tests. Fixes missing formatLocaleDateTimeWithTodayTime import in job detail and clears stale run entries on job switch.
Adds full Slack channel support across AlphaClaw — onboarding wizard, channel dashboard, pairings, gateway sync, watchdog notifications, and the channel creation modal. Slack uses Socket Mode which requires two tokens (Bot Token + App Token) rather than one. This is handled via a new `extraEnvKeys` property on channel definitions and dual-token logic in the gateway sync and onboarding flows. Changes: - Add Slack to channel definitions, env keys, and known vars - Add Slack Bot Token and App Token fields to onboarding wizard - Wire Slack into openclaw.json generation (fresh + import flows) - Handle dual-token channel sync in gateway (--bot-token / --app-token) - Use Object.keys(kChannelDefs) instead of hardcoded channel arrays - Add Slack to channel dashboard, pairings UI, and pairing routes - Add App Token field to create-channel modal (Slack is single-account) - Add watchdog crash notifications via Slack DM - Add slack-api.js (minimal Web API wrapper matching existing patterns) - Add Slack SVG icon - Update agents-service test for Slack channel account Ref: chrysb#8 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Introduces a rolling cron schedule calendar with usage-aware tiers, status-aware tooltips, job navigation, and repeating-job grouping, plus bulk cron usage/runs endpoints to power the view efficiently. Also adds vertical resizing with persisted heights for cron prompt and watchdog logs, and refines calendar layout/behavior for performance and usability.
This update reduces cognitive load in the all-jobs experience while adding richer scheduling, warning, and run-trend interactions that map directly into run history filtering.
This switches pricing resolution to a stable map-first flow with node_modules fallback, updates usage/cron consumers to reuse the shared resolver, and trims redundant trend subtitle text in the cron overview UI.
Count distinct run ids in usage aggregation so average tokens/cost per run are computed against real cron runs, and refresh trend visuals with brighter neon segment styling.
Use slot-aware run details for past entries, 7-day projected averages for upcoming entries, and drive token intensity colors from actual/predicted per-slot usage to match calendar context.
Regenerate patch for server.impl-CsRRyd9F.js (clearUnboundScopes + sharedAuthOk).
Compat: preserve gogcli config under managed home
Load git shim token from repo .env when exec env is sanitized
…se (chrysb#68) Templates that omit a direct openclaw pin should still resolve OpenClaw from the same AlphaClaw version the template pins. This change reuses the template-pinned version when reading registry metadata and adds a regression for the mismatch case. Constraint: Managed templates now intentionally pin only @chrysb/alphaclaw Rejected: Continue resolving dist-tags.latest for template fallbacks | mixes template-pinned AlphaClaw with unrelated OpenClaw metadata Confidence: high Scope-risk: narrow Reversibility: clean Directive: Keep template fallback metadata tied to the same pinned AlphaClaw version unless template semantics change again Tested: node --check lib/server/alphaclaw-version.js; node --check tests/server/alphaclaw-version.test.js; direct mocked fetch validation for fallback/latest/direct-pin cases Not-tested: Full Vitest run in this local environment (Vite/esbuild spawn error -88 during config startup)
Add WhatsApp channel support and QR login flow parity
cursor
Bot
force-pushed
the
fix/parallel-test-timeouts
branch
from
May 24, 2026 07:51
9f6143b to
c5c67cb
Compare
…rkers
Root cause (two layers):
1. routes-browse.test.js + routes-models.test.js called mkdtempSync per test
but never cleaned up. 30+ leaked dirs/run add I/O overhead on macOS
/var/folders/ (memory-mapped filesystem).
2. db-layer parallel workers (doctor, watchdog, webhooks) leave DatabaseSync
.db-shm pages mmap'd. Under 60+ workers on ARM64, OS memory pressure slows
ALL workers — including pure-mock routes tests — past the 5s timeout.
Fix:
- routes-browse.test.js: track created dirs in createdTestRoots[]; afterEach
splices and rmSync({recursive,force}) each entry
- routes-models.test.js: same pattern for createApp() temp dirs (createdTempRoots)
- vitest.config.js: testTimeout 5000 → 10000ms; gives pure-mock workers breathing
room while db-layer .db-shm pressure fix propagates (doctor/watchdog/webhooks-db
still need afterEach closeXyzDb() — tracked as remaining upstream work)
Verified: npm run test:coverage passes 594/594 sequentially.
Target: npm test 594/594 (was 584/594 before this fix).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
diazMelgarejo
force-pushed
the
fix/parallel-test-timeouts
branch
from
June 4, 2026 00:18
c5c67cb to
87c53e3
Compare
cursor
Bot
force-pushed
the
fix/parallel-test-timeouts
branch
2 times, most recently
from
August 8, 2026 00:32
a813cbe to
e43b6fb
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
While working on the main-merged old MacOS PR and testing it, we encountered these stalling files (changes from the most recent upstream fixes, especially v0.9.9 with Commit 092df06). I decided to separate this from the other commits for MacOS port.
Root cause (two layers):
Fix:
Verified: npm run test:coverage passes 594/594 sequentially.
Target: npm test 594/594 (was 584/594 before this fix).