qishibo/AnotherRedisDesktopManager · error
e.message
Error message
e.message
What it means
initShow() chains initInfo() (ARINFO) then listScan(); this outer catch surfaces any failure, clears the loading icon, and disables load-more. ARINFO/ARGREP/ARSET are custom module commands backing the array-type viewer, so against a stock community Redis the most common failure is "ERR unknown command 'ARINFO'"; WRONGTYPE appears when the key is not actually an array-type key.
Source
Thrown at src/components/contents/KeyContentArray.vue:138
// scroll to bottom while loading more
if (oldValue.length && (newValue.length > oldValue.length)) {
setTimeout(() => {
this.$refs.contentTable && this.$refs.contentTable.scrollTo(0, 99999999);
}, 0);
}
},
},
methods: {
initShow(resetTable = true) {
resetTable && this.resetTable();
this.loadingIcon = 'el-icon-loading';
this.initInfo().then(() => {
this.listScan();
}).catch((e) => {
this.loadingIcon = '';
this.loadMoreDisable = true;
this.$message.error(e.message);
});
},
initInfo() {
return this.client.call('ARINFO', this.redisKey).then((reply) => {
const info = {};
if (reply && reply.length) {
for (let i = 0; i < reply.length; i += 2) {
info[reply[i]] = reply[i + 1];
}
}
this.infoDict = info;
this.total = Number(info.count) || 0;
});
},
showInfo() {
this.initInfo().then(() => {
this.infoVisible = true;
}).catch((e) => {View on GitHub (pinned to c149855106)
Solutions
- Confirm the module is loaded: MODULE LIST in the CLI tab, and run ARINFO key manually to see the raw error
- Fix the connection profile so the array viewer is only used against module-enabled servers
- Install/upgrade the module per your server distribution
- Until the viewer backend exists, manage such keys via raw CLI commands
Defensive patterns
Strategy: try-catch
Validate before calling
// probe module availability before rendering the array viewer
const info = await client.command('command', 'info', 'ARINFO');
const moduleLoaded = Array.isArray(info) && info[0];
if (!moduleLoaded) {
renderCliFallback(key); // instead of a table that can only fail
} Try / catch
// one catch for the whole init chain, but preserve the raw cause
try {
await initInfo();
await listScan();
} catch (e) {
this.loadingIcon = '';
this.loadMoreDisable = true;
// e.message is usually "ERR unknown command 'ARINFO'" or WRONGTYPE - show it verbatim
this.$message.error(e.message);
} Prevention
- Verify MODULE LIST includes the AR* provider before opening array keys
- Scope array-type connection profiles to servers that actually run the module
- Test one ARINFO call manually when a server's module setup changes
When it happens
Trigger: Opening an array-type key on a server where the AR* module is not loaded (MODULE LIST shows no provider); opening a key routed to this viewer whose actual type differs; connection loss during the initial load.
Common situations: A generic connection profile used against a server lacking the module; module disabled by an ops change; version skew between the module and the app's 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_type_not_support')
- this.$t('message.key_not_exists')
AI-assisted analysis of qishibo/AnotherRedisDesktopManager@c149855106 (2026-08-22).
Data as JSON: /api/errors/bc7d6f0124da8768.
Report an issue: GitHub.