qishibo/AnotherRedisDesktopManager · warning
this.$t('message.key_type_not_support')
Error message
this.$t('message.key_type_not_support') What it means
KeyDetail.contentComponent maps known TYPE replies (string/hash/list/set/zset/stream, ReJSON-RL/json/tair-json, TSDB-TYPE, vectorset, ...) to viewer components; any other TYPE falls through to this toast and returns '' so no content component renders. 'Not support' almost always means a Redis module type the app has no viewer for - the code comment names 'bf' (RedisBloom).
Source
Thrown at src/components/KeyDetail.vue:87
hash: 'KeyContentHash',
zset: 'KeyContentZset',
set: 'KeyContentSet',
list: 'KeyContentList',
stream: 'KeyContentStream',
array: 'KeyContentArray',
vectorset: 'KeyContentVector',
'TSDB-TYPE': 'KeyContentTimeSeries',
'ReJSON-RL': 'KeyContentReJson',
json: 'KeyContentReJson', // upstash
'tair-json': 'KeyContentReJson', // tair
};
if (map[keyType]) {
return map[keyType];
}
// type not support, such as bf
this.$message.error(this.$t('message.key_type_not_support'));
return '';
},
refreshContent() {
this.client.exists(this.redisKey).then((reply) => {
if (reply == 0) {
// clear interval if auto refresh opened
// this.$refs.keyHeader.removeInterval();
return this.$message.error({
message: this.$t('message.key_not_exists'),
duration: 1000,
});
}
this.$refs.keyContent && this.$refs.keyContent.initShow();
}).catch((e) => {
this.$message.error(`Exists Error: ${e.message}`);
});
},View on GitHub (pinned to c149855106)
Solutions
- Operate on the key from the CLI tab with the module's own commands (BF.INFO key, BF.EXISTS key item)
- Add an entry to the map plus a viewer component for the type, following the 'tair-json' pattern in the same object
- Check for an app update that ships support for the type
- Filter the key out of the tree if it is not one you manage
Example fix
// before
const map = {
string: 'KeyContentString',
// ...
};
// after - register a viewer for the module type
const map = {
string: 'KeyContentString',
// ...
bf: 'KeyContentBf', // RedisBloom - implement or import the component
}; Defensive patterns
Strategy: type-guard
Type guard
// mirror the viewer map before routing a key to a content component
const SUPPORTED_KEY_TYPES = new Set([
'string', 'hash', 'list', 'set', 'zset', 'stream',
'ReJSON-RL', 'json', 'tair-json', 'TSDB-TYPE', 'vectorset',
]);
function isSupportedKeyType(type) {
return SUPPORTED_KEY_TYPES.has(type);
}
// usage
const type = await client.type(key);
if (!isSupportedKeyType(type)) {
openCliFallback(key, type); // instead of rendering a blank viewer
} Prevention
- Run MODULE LIST when connecting to Redis Stack / module servers to know which types exist
- Keep the type-to-viewer map in one place so adding a module type is a one-line change
- Route unsupported types to the CLI rather than a dead-end blank pane
When it happens
Trigger: Clicking a key whose TYPE reply is absent from the map: 'bf'/'cf' (RedisBloom), 'topk', 'tdigest', or a third-party module type. contentComponent() toasts and returns an empty string, leaving the detail pane blank.
Common situations: Redis Stack or modules (RedisBloom, RediSearch, RedisGraph) installed; proprietary modules (Tair, etc.); new module types introduced by a server upgrade before the app adds a viewer.
Related errors
- Sentinel & Cluster cannot be checked together!
- message || this.$t('message.test_connection_failed')
- this.$t('message.test_connection_timeout')
- this.$t('message.key_not_exists')
- Exists Error: ${e.message}
AI-assisted analysis of qishibo/AnotherRedisDesktopManager@c149855106 (2026-08-22).
Data as JSON: /api/errors/50dc15c692f08e0c.
Report an issue: GitHub.