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
- Choose a different group name
- Rename or delete the existing group from the Connections page first, then re-add
- 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
- Remember uniqueness is exact and case-sensitive: 'Prod' and 'prod' coexist
- List existing groups (storage.getGroups()) before offering a creation UI
- Consider suffixing re-imported groups instead of re-adding with the same name
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
- this.$t('message.group_name_required')
- Size too large, show only the first ${this.firstChars} chara
- this.$t('message.group_name_required')
- this.$t('message.group_exists')
- Select a correct .proto file
AI-assisted analysis of qishibo/AnotherRedisDesktopManager@c149855106 (2026-08-22).
Data as JSON: /api/errors/bac7e7ee1ba42d15.
Report an issue: GitHub.