qishibo/AnotherRedisDesktopManager · error
TTL Error: ${e.message}
Error message
TTL Error: ${e.message} What it means
KeyHeader.vue calls client.ttl(key) when a key tab is opened or refreshed (including via the auto-refresh timer); a rejection shows 'TTL Error: <e.message>'. TTL is a read command and not in the writeCMD table, so readonly never causes this - the usual causes are a connection that has been closed (timer firing after a disconnect) or an ACL restriction on @read.
Source
Thrown at src/components/KeyHeader.vue:99
binary: false,
autoRefresh: false,
refreshInterval: 2000,
};
},
props: ['client', 'redisKey', 'keyType', 'hotKeyScope'],
methods: {
initShow() {
const key = this.redisKey;
const { client } = this;
// reset name input
this.keyName = key;
this.binary = !this.$util.bufVisible(key);
client.ttl(key).then((reply) => {
this.keyTTL = reply;
}).catch((e) => {
this.$message.error(`TTL Error: ${e.message}`);
});
},
changeKeyInput(keyInput) {
this.keyName = this.binary ? this.$util.xToBuffer(keyInput) : Buffer.from(keyInput);
},
refreshKey() {
this.initShow();
this.$emit('refreshContent');
},
refreshInit() {
this.refreshTimer && clearInterval(this.refreshTimer);
if (this.autoRefresh) {
this.refreshKey();
this.refreshTimer = setInterval(() => {
this.refreshKey();
}, this.refreshInterval);View on GitHub (pinned to c149855106)
Solutions
- Reconnect - the tab re-fetches TTL on initShow/refreshKey.
- Close stale key tabs after network changes to stop the refresh timer from firing on a dead connection.
- If 'NOPERM', grant the ACL user +ttl or +@read.
Defensive patterns
Strategy: try-catch
Validate before calling
// stop the auto-refresh timer when the connection status is unknown
if (client.status !== 'ready') { this.refreshTimer && clearInterval(this.refreshTimer); return; } Try / catch
client.ttl(key).then((reply) => { this.keyTTL = reply; }).catch((e) => {
// non-fatal: blank the TTL display instead of alarming the user on a dead connection
this.keyTTL = null;
this.$message.error(`TTL Error: ${e.message}`);
}); Prevention
- Check client.status === 'ready' before letting refresh timers fire.
- Clear per-tab refresh timers on connection close events.
When it happens
Trigger: Auto-refresh timer firing after the connection dropped (VPN change, server restart); key tab left open across a sleep/resume; ACL user denied TTL (-ttl / missing @read).
Common situations: Laptop sleep/resume with key tabs open; server restart during browsing; restrictive ACL users.
Related errors
- Too Many Attempts To Reconnect. Please Check The Server Stat
- Stream On Error: ${e.message}
- e.message
- e.message
- e.message
AI-assisted analysis of qishibo/AnotherRedisDesktopManager@c149855106 (2026-08-22).
Data as JSON: /api/errors/d187c222887c9dc1.
Report an issue: GitHub.