qishibo/AnotherRedisDesktopManager · error
this.$t('message.modify_failed')
Error message
this.$t('message.modify_failed') What it means
After saving edited string content, the component treats a SET reply that is not exactly 'OK' as failure and toasts modify_failed. Standard Redis SET either replies OK or rejects the promise (handled by the adjacent .catch), so this branch is only reachable through proxies, rewritten/renamed commands, or mocks that return some other value for SET.
Source
Thrown at src/components/contents/KeyContentString.vue:63
if (content === false) {
return;
}
this.client.set(
this.redisKey,
content,
).then((reply) => {
if (reply === 'OK') {
// for compatibility, use expire instead of setex
this.setTTL();
this.initShow();
this.$message.success({
message: this.$t('message.modify_success'),
duration: 1000,
});
} else {
this.$message.error({
message: this.$t('message.modify_failed'),
duration: 1000,
});
}
}).catch((e) => {
this.$message.error(e.message);
});
},
setTTL() {
const ttl = parseInt(this.$parent.$parent.$refs.keyHeader.keyTTL);
if (ttl > 0) {
this.client.expire(this.redisKey, ttl).catch((e) => {
this.$message.error(`Expire Error: ${e.message}`);
}).then((reply) => {});
}
},
initShortcut() {View on GitHub (pinned to c149855106)
Solutions
- Reproduce in the CLI tab: SET key value, and inspect the actual reply
- If a proxy is in the path, compare behavior with a direct connection to the server
- In your own tooling, align mocked replies with the Redis spec (bulk 'OK')
Defensive patterns
Strategy: validation
Validate before calling
// validate preconditions before treating a non-OK reply as app failure
const type = await client.type(key);
if (type !== 'string') {
throw new Error(`cannot SET: key holds ${type}`);
}
const reply = await client.set(key, value);
if (reply !== 'OK') {
// nonstandard backend (proxy/mock) - report the actual reply, not a generic message
report(`unexpected SET reply: ${reply}`);
} Prevention
- Mock SET as resolving 'OK' in tests - any other value takes the failure branch
- Prefer comparing replies case-sensitively to the RESP spec ('OK')
- Suspect proxies/rewrites when this branch fires but redis-cli SET returns OK
When it happens
Trigger: A cloud proxy or protocol-translation layer in front of Redis returning a non-'OK' reply for SET; a renamed/rewritten SET command; test harnesses or fake servers that mock SET with the wrong reply.
Common situations: Managed Redis fronts with non-standard replies, custom server builds, integration tests mocking ioredis incorrectly.
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/8d7eaf1daa59337f.
Report an issue: GitHub.