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

  1. Operate on the key from the CLI tab with the module's own commands (BF.INFO key, BF.EXISTS key item)
  2. Add an entry to the map plus a viewer component for the type, following the 'tair-json' pattern in the same object
  3. Check for an app update that ships support for the type
  4. 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

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


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