fix(redis): read Dragonfly/Valkey/Garnet version and max_clients - #557
Merged
Conversation
…nfly's max_clients Three of the five Redis-family engines publish their own version in a separate INFO field beside redis_version (valkey_version, dragonfly_version, garnet_version), and the overview never read it, so the version panel showed only the Redis compatibility level for all of them. DragonflyDB also publishes its connection limit under the underscored field name max_clients, while the provider only read maxclients, so the connections card always read no limit published for Dragonfly even though a real limit is published. getOverview() now labels the version with the vendor's own field when one is present, falling back to the bare compatibility level for KeyDB and plain Redis, and reads max_clients as a fallback for the connection limit. Corrects the code comments and provider docs that described the old, unread behavior as the permanent, only available reading, and updates the tests and the caveats registry to match. Closes #556
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
|
cevheri
approved these changes
Sep 4, 2026
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
The Redis-family provider's overview only read the redis_version INFO field for the version shown in the UI. Three of the five wire-compatible engines it serves (Valkey, DragonflyDB, Garnet) publish their own version in a separate INFO field (valkey_version, dragonfly_version, garnet_version), and the overview never read it, showing only the Redis compatibility level for all of them. DragonflyDB also publishes its connection limit under the underscored field name max_clients, while the provider only read maxclients, so the connections card always read no limit published for Dragonfly even though a real limit is published.
Type of Change
Related Issue
Closes #556
Changes Made
Testing
Test Environment
Screenshots (if applicable)
None attached. Verified by connecting LibreDB Studio to live containers of all five engines and reading the rendered Monitoring, Overview panel and the api/db/monitoring response directly; the exact readings are under Additional Notes.
Checklist
Additional Notes
Ran bun run format, lint, typecheck, knip, chart:check, channels:showcase:check, readme:check, security:check, the full test suite, bun run test:coverage plus coverage:check, bun run build and bun run build:lib. All pass; coverage is 100 percent (45493/45493 lines).
Live verification against real containers (redis:latest, valkey/valkey:latest, docker.dragonflydb.io/dragonflydb/dragonfly:latest, eqalpha/keydb:latest, ghcr.io/microsoft/garnet:2.1.5), connected through the app's own connection dialog and read from the rendered Monitoring, Overview panel:
Also checked on all five: SET and GET through the query editor, the key browser listing the written keys, and the Monitoring, Sessions tab rendering with no errors in the browser console or the dev server log.