Skip to content

fix(dispatch): session directory containment + blank title/directory handling (#2664) - #3507

Merged
dezren39 merged 1 commit into
mainfrom
queue/5418-2664-session-directory-validation
Nov 1, 2026
Merged

dezren39 merged 1 commit into
mainfrom
queue/5418-2664-session-directory-validation

Conversation

@dezren39

@dezren39 dezren39 commented Nov 1, 2026 •

Copy link
Copy Markdown
Member

Fixes #2664 (Phase 1, per the adopted decision on the issue; fix task 5418).

Tests (laptop, bun test):

  • test/validate.test.ts: 33/33 pass — new coverage for blank/default, exact root, valid subdirectory, normalization (./, ../, trailing slashes), relative/foreign/arbitrary/prefix-sibling rejection, both caller types, plus blank title/directory parsing.
  • Full dispatch suite: 85 pass; the two server.test.ts "passes validation" tests race their 5s timeout on this machine (4793–5015ms across runs) — the identical timeout occurs on unmodified main, so it is a pre-existing borderline flake under load, not a regression: the foreign-directory rejection passes fast and both slow tests reach the post-validation path.

View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.

…handling (#2664)

Phase 1 of #2664: resolveSessionDirectory now applies one rule to OIDC and bearer callers alike - a missing/blank directory resolves to the target repo clone, and an explicit directory must be an absolute normalized path equal to or inside that clone (relative paths, other clones, arbitrary absolute paths rejected with ValidationError before any side effect). parseSessionRequest treats empty/whitespace title and directory as omitted, so a blank title falls back to titleFromPrompt and a blank directory to the repo default. Supersedes the #2903-era bearer free-form directory (README updated); extra roots/allowlists remain out of scope per #2668. Tests: validate.test.ts 33/33 incl. blank/default, exact root, subdirectory, normalization, relative/foreign/arbitrary and prefix-sibling rejection for both caller types.
@dezren39
dezren39 requested a review from a team as a code owner November 1, 2026 10:40
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 1, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-01T10:41:26.803241Z 2acd446 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@coderabbitai

coderabbitai Bot commented Nov 1, 2026

Copy link
Copy Markdown

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 17 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: b6813fdd-8f16-4008-9d32-2ca7ed129057
Commits

Reviewing files that changed from the base of the PR and between 9f48e29 and 2acd446.

Files selected for processing: 3
  • pm-stack/dispatch/README.md
  • pm-stack/dispatch/src/validate.ts
  • pm-stack/dispatch/test/validate.test.ts
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

@dezren39

dezren39 commented Nov 6, 2026

Copy link
Copy Markdown
Member Author

🤖 Agent note · salvage check for duplicate PR #3483

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant