Skip to content

Verify request lifecycles and document feature support for v2.6.0 - #13

Merged
sak0a merged 3 commits into
masterfrom
codex/lifecycle-verification
Oct 2, 2026
Merged

sak0a merged 3 commits into
masterfrom
codex/lifecycle-verification

Conversation

@sak0a

@sak0a sak0a commented Oct 2, 2026 •

Copy link
Copy Markdown
Owner

Problem and change

Concurrent GC requests could consume unrelated notifications, miss synchronous responses, or leave listeners/timers behind after timeout or disconnect. This centralizes request lifecycles, serializes ambiguous correlation keys, quarantines uncertain results without retries, and adds cancellation/disposal with structured errors. It also fixes inventory duplicate/reordering behavior, profile dispatch, numeric inspect inputs, absent wear, and malformed nested protobuf handling.

A reusable fake Steam transport and independently encoded fixtures exercise real bytes, dispatch, handlers, events, callbacks, and Promises. A shared deterministic corpus covers both inspection libraries. Schema-derived event types and compile-time examples replace unknown response types. FEATURE_SUPPORT.md separates payload, decoder, lifecycle, and live evidence; the opt-in authenticated runner defaults to a read and requires individual mutation selection, designated items, and observable inventory postconditions.

Prepares node-cs2 2.6.0 using the existing npm/manual release process. Existing public call signatures remain supported. See the migration notes for lifetime quarantine after sent failures and historical success-only inspect callbacks. Live Steam/GC behavior remains unverified; several notification associations are explicitly documented hypotheses.

Validation

  • 162 Vitest tests pass; ESLint and TypeScript usage compilation pass.
  • Response declarations and nested wire validation schema regenerate deterministically.
  • Packed npm consumer projects pass with real steam-user 4.2.0/4.29.3/5.3.0 on Node 16/18/20/22/24 locally; CI also covers Node 14 on Linux.
  • Live runner without opt-in exits 2 with a sanitized unavailable-prerequisite report; safety tests verify no retry after uncertain mutation and cleanup after synchronous login failure.
  • No authenticated live test or inventory mutation was performed.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 2, 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-10-02T06:01:25.558132Z e53579c 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 Oct 2, 2026

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: 6208c10d-5866-4083-a7ee-023287631408

📥 Commits

Reviewing files that changed from the base of the PR and between f29b8e0 and e53579c.

⛔ Files ignored due to path filters (1)
  • bun.lock is excluded by !**/*.lock
📒 Files selected for processing (29)
  • .github/workflows/ci.yml
  • .gitignore
  • CHANGELOG.md
  • FEATURE_SUPPORT.md
  • README.md
  • RELEASE_NOTES.md
  • fixtures/README.md
  • fixtures/inspect-corpus.json
  • handlers.js
  • index.js
  • lib/proto-decode.js
  • lib/request.js
  • lib/wire-schema.json
  • lib/wire-validation.js
  • package.json
  • scripts/generate-inspect-corpus.py
  • scripts/generate-response-types.js
  • scripts/generate-wire-schema.js
  • scripts/live-test.js
  • scripts/verify-consumers.js
  • test/corpus.test.mjs
  • test/helpers/fake-steam.mjs
  • test/lifecycle.test.mjs
  • test/live-runner.test.mjs
  • test/payloads.test.mjs
  • test/types/tsconfig.json
  • test/types/usage.ts
  • types/index.d.ts
  • types/responses.d.ts
 ___________________________________________________________________
< Find some code, review it up, all day long you'll have good luck! >
 -------------------------------------------------------------------
  \
   \   \
        \ /\
        ( )
      .( o ).
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Autopilot is currently an internal CodeRabbit preview.


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

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

@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: e53579cb5c

ℹ️ 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 handlers.js Outdated
@sak0a
sak0a merged commit 4fe1e8f into master Oct 2, 2026
2 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