Skip to content

feat: add safe local listener forwarding options - #53

Merged
purpshell merged 2 commits into
devfrom
codex/cli-listen-parity-20260926
Sep 26, 2026
Merged

purpshell merged 2 commits into
devfrom
codex/cli-listen-parity-20260926

Conversation

@purpshell

@purpshell purpshell commented Sep 26, 2026 •

Copy link
Copy Markdown
Member

polymorfa listen can now add custom headers to forwarded event requests with repeatable -H 'Name: value' and accept self-signed loopback HTTPS handlers with --skip-verify. Reserved authentication, framing, and Polymorfa signature headers are protected; invalid header values are never echoed. Custom headers cannot cross an origin-changing redirect, and TLS verification for the Polymorfa API and public forwarding destinations remains enabled.

The existing --json already provides JSONL output, so no duplicate --print-json flag was added. The listener generates a per-run local signing secret; its accepted contract requires --forward-secret-out for JSON/noninteractive forwarding and forbids stdout/JSONL disclosure, so no --print-secret flag was added.

Validation: format, lint, typecheck, all 887 tests, and build passed locally. Tests cover exact forwarded bytes/signature, custom header validation and delivery, cross-origin redirect refusal, self-signed loopback HTTPS opt-in, public-target refusal, flag dependencies, and secret-safe errors. No live webhook or npm publication was performed.

Five-part assessment: API handlers/specs and SDK contracts are unaffected because these flags only change CLI-to-local-handler forwarding, after the existing listener authorization and payload stream. CLI command, forwarding transport, help, README, and tests are updated. Source-build Mintlify documentation is paired in polymorfa/polymorfa#389 and must merge before this PR. This local CLI behavior needs no feature-engine flag or entitlement change; the CLI remains unpublished on npm, and publication/deployed acceptance are separate release gates.


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

@purpshell

Copy link
Copy Markdown
Member Author

@codex review

@coderabbitai

coderabbitai Bot commented Sep 26, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

  • Ask an admin to enable usage-based reviews

Open in CodeRabbit

Reviews can continue after your included limit without a manual trigger. An admin must approve usage-based billing.

Next included review available in 39 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used all 2 included reviews currently available. Your 64 included PR review attempts over the past 7 days set your current allowance at 2 reviews per hour.

The included review limit has been reached and this organization has disabled usage-based review continuation. Wait for reviews to reset or ask a billing admin to change After included review limits.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Team

Run ID: d89114a1-de82-4f5f-a223-1abb717938fc

📥 Commits

Reviewing files that changed from the base of the PR and between 75131eb and 77ad5e8.

⛔ Files ignored due to path filters (2)
  • test/fixtures/listener-tls/cert.pem is excluded by !**/*.pem
  • test/fixtures/listener-tls/key.pem is excluded by !**/*.pem
📒 Files selected for processing (5)
  • README.md
  • src/commands/listen.ts
  • src/listener/forwarding.ts
  • test/commands/listen.test.ts
  • test/listener/forwarding.test.ts

Comment @coderabbitai help to get the list of available commands.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 26, 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-09-26T22:05:19.402267Z 77ad5e8 Manual request
ℹ️ 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.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 3f319ef3dd

ℹ️ 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".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/listener/forwarding.ts
@purpshell

Copy link
Copy Markdown
Member Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Swish!

Reviewed commit: 77ad5e87ef

ℹ️ 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".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@purpshell
purpshell merged commit 39dafdb into dev Sep 26, 2026
3 checks 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