Skip to content

Develop#60

Merged
DannyNs merged 5 commits into
mainfrom
develop
Jul 7, 2026
Merged

Develop#60
DannyNs merged 5 commits into
mainfrom
develop

Conversation

@DannyNs

@DannyNs DannyNs commented Jul 7, 2026

Copy link
Copy Markdown
Collaborator

No description provided.

Daniel Kutyła and others added 5 commits July 3, 2026 13:44
clip-path inset(0 0 17px 0) hid one full row of TUI content —
Claude Code's mode/status line was invisible. The rule was a
workaround for a stray cursor bar, but the page uses xterm's DOM
renderer where the kept .xterm-cursor-layer rule never applied;
the clip was hiding content, not the artifact.
fix(shell): stop clipping last terminal row on alt-screen
Security:
- voice: validate language tag at REST/MCP/provider boundaries —
  nodejs-whisper interpolates it unescaped into a shell command
- chat: traversal guard on pipeId path joins; sanitize PTY-delivered
  bodies (CR force-submit, ANSI, forged authority-header lines)
- shell: project-ownership guard on pane run/scrollback routes
- test: path-boundary-aware result filtering (app vs app-v2 leak)
- ssrf-guard: classify hex-form IPv4-mapped IPv6 as private
- workflow: realpath containment for LLM promptFile (symlink escape)

Workflow engine:
- propagate root cancel token into sub-workflows
- reset stall budgets on execution; failed joins forward error edges
- treat false-conditioned/dead-error edges as untaken (join hangs)
- reset nested-loop counters per outer iteration
- per-loop context frames so {{loop.*}} resolves correctly
- no-match decisions fail instead of taking an arbitrary branch
- timed-out nodes never retry (first instance still running)
- workflow_create (MCP) runs graph validation; honor itemVariable
- quote-aware comparison operator parsing

Chat:
- stale MCP session close no longer detaches reclaimed participant
- mention regex requires word boundary (emails broke broadcasts)
- chat_members scoped to session project; deliveredTo excludes
  detached; clear preserves running pipes' recovery logs

Stores/kanban:
- issue reorder validates target column belongs to issue's feature
- locateExisting in JsonFileStore: stdio-mode updates/deletes act on
  owning project dir instead of duplicating to global
- atomic update() for vocabulary/documentation (TOCTOU call sites)
- stamp projectId on project-scoped vocabulary entries
- transactional work-log versioning; multer 400/413 mapping;
  malformed issue queries 400 instead of unfiltered results

Voice/TTS + infra:
- unique temp dir per TTS chunk (constant filename overwrote the
  file mid-playback); clear cleanup timer on exit
- file-tailer cap race + map cleanup; safeLogPath case-fold on win32
- devglide start verifies daemon bind via /api/health, no-shell
  spawn restores daemon logging, EADDRINUSE reported cleanly
- nodejs-whisper external in MCP bundles (fixes local whisper under
  MCP; __dirname/asset paths broke when inlined)
- MCP HTTP handlers return JSON-RPC 500 instead of unhandledRejection
- SSE broadcast counts only live-socket writes (scenarios were lost)
Conflict resolutions:
- chat-registry parseTargetTokens: combine develop's code-region
  stripping + markdown-safe charset with this branch's word-boundary
  requirement (mid-word @ = email, not a mention) — both test suites
  pass against the merged regex
- pipe-store.test: keep the fixed lease-expiry test (develop had
  deleted it); reformat to develop's style
- build-mcp.mjs: merge both nodejs-whisper external rationales
fix: repair defects found in full-codebase scan
@DannyNs DannyNs merged commit 5b48504 into main Jul 7, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant