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

  1. Reproduce in the CLI tab: SET key value, and inspect the actual reply
  2. If a proxy is in the path, compare behavior with a direct connection to the server
  3. 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

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


AI-assisted analysis of qishibo/AnotherRedisDesktopManager@c149855106 (2026-08-22). Data as JSON: /api/errors/8d7eaf1daa59337f. Report an issue: GitHub.