Open
Conversation
e4d84b7 to
311595a
Compare
- Add RESP2 vs RESP3 structural assertions across command specs. - Consolidate duplicate, renamed, and flaky test cases in one pass. - Keep this commit spec-only to isolate test intent.
- Switch default RESP behavior to RESP3 across client entry points. - Align cluster and sentinel command paths with RESP3 defaults. - Keep compatibility normalization and module fixes for later commits.
- Normalize cross-module reply-shape handling for RESP2 and RESP3. - Apply shared parser and transformer updates for stable compatibility. - Leave targeted module bugfixes isolated for the next commit.
- Fix GEO float reply handling across geosearch-compatible paths. - Fix Bloom CF.INSERTNX status handling and Search PROFILE parsing edge cases. - Fix TimeSeries MRANGE selected-label/groupby compatibility behavior.
generic-transformers.spec.ts was newly uncommented and needed some assertion updates
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Reviewed by Cursor Bugbot for commit f46fc60. Configure here.
| } | ||
|
|
||
| return compat; | ||
| } |
There was a problem hiding this comment.
Identical function duplicated across XREAD and XREADGROUP
Low Severity
transformStreamsMessagesReplyResp3Compat is copied verbatim (36 identical lines) across XREAD.ts and XREADGROUP.ts within the same package. Both import transformStreamsMessagesReplyResp3 from generic-transformers already — the shared compat wrapper belongs there too. This risks the two copies diverging if only one is updated in a future fix.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit f46fc60. Configure here.
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.


Description
Checklist
npm testpass with this change (including linting)?Note
Medium Risk
Changes the library-wide default wire protocol and normalizes reply shapes/types across many commands, which can break consumers relying on RESP2 defaults or exact reply structures (e.g., null-prototype objects, geo/string doubles, module/search transforms).
Overview
Switches the default protocol across
createClient/cluster/sentinel/pool (and related types/helpers) from RESP2 to RESP3, updating option validation/handshake logic to treatRESPas3when omitted and removing theunstableResp3gating/flags from commands and configuration.Normalizes reply handling for RESP3 by (a) decoding RESP3 maps into plain objects (no null-prototype), (b) aligning many transforms/tests to expect
{}/Object.defineProperties({}, ...), and (c) stabilizing several previously-unstable RESP3 command transforms (notablyHOTKEYS GET,XREAD/XREADGROUP,GEO* WITHdouble parsing,MODULE LIST, and multiple RediSearchFT.*replies including cursor/profile/hybrid/aggregate) to return consistent structured outputs.Adds a
v5→v6migration guide documenting RESP3-by-default, type changes (e.g., geo distances/coordinates as numbers,CF.INSERTNXboolean→number array), and the object-prototype normalization, plus expands test coverage with more “real data” and structural-shape assertions under RESP3 defaults.Reviewed by Cursor Bugbot for commit f46fc60. Bugbot is set up for automated code reviews on this repo. Configure here.