qishibo/AnotherRedisDesktopManager · warning

this.$t('message.group_exists')

Error message

this.$t('message.group_exists')

What it means

storage.addGroup returns false when an existing group has exactly the same name (groups.some(group => group.name === name) at src/storage.js:21); handleNewGroup maps that falsy return to this toast and skips loadGroups/groupId assignment. Uniqueness is exact, case-sensitive string equality over groups persisted in localStorage.

Source

Thrown at src/components/NewConnectionDialog.vue:326

  methods: {
    loadGroups() {
      this.groups = storage.getGroups();
    },
    openNewGroupDialog() {
      this.newGroupName = '';
      this.showGroupDialog = true;
    },
    handleNewGroup() {
      const name = this.newGroupName.trim();

      if (!name) {
        return this.$message.error(this.$t('message.group_name_required'));
      }

      const group = storage.addGroup(name);

      if (!group) {
        return this.$message.error(this.$t('message.group_exists'));
      }

      this.loadGroups();
      this.connection.groupId = group.id;

      this.showGroupDialog = false;
      this.$message.success(this.$t('message.add_success'));
      this.$bus.$emit('groups-updated');
    },
    show() {
      this.dialogVisible = true;
      this.resetFields();
      this.loadGroups();
    },
    resetFields() {
      // edit connection mode
      if (this.editMode) {
        this.sshOptionsShow = !!this.config.sshOptions;

View on GitHub (pinned to c149855106)

Solutions

  1. Choose a different group name
  2. Rename or delete the existing group from the Connections page first, then re-add
  3. Pre-check with storage.getGroups().some(g => g.name === name) and surface inline feedback before submit

Example fix

// before
const group = storage.addGroup(name);
if (!group) {
  return this.$message.error(this.$t('message.group_exists'));
}

// after - pre-check for inline feedback before even opening submit
const name = this.newGroupName.trim();
if (storage.getGroups().some(g => g.name === name)) {
  return this.$message.warning(`group "${name}" already exists`);
}
Defensive patterns

Strategy: validation

Validate before calling

// pre-check before calling storage.addGroup
import storage from '@/storage.js';

function groupExists(name) {
  return storage.getGroups().some(g => g.name === name);
}

const name = raw.trim();
if (groupExists(name)) {
  highlightExistingGroup(name);
  return;
}
const group = storage.addGroup(name);

Prevention

When it happens

Trigger: Submitting a group name that matches an existing one character-for-character (e.g. adding 'prod' when 'prod' exists). 'Prod' vs 'prod' are different names and both are allowed.

Common situations: Re-adding a group after reinstalling the app or re-importing connections; forgetting a group was created earlier in another connection dialog; expecting case-insensitive uniqueness.

Related errors


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