Skip to content

[Bug] config reset contains dead code - delete operation never persisted to disk #305

@zakaziko86

Description

@zakaziko86

Bug Description

reset in src/commands/config/getSetReset.ts (lines 38-50)
contains a completely useless delete config[key] statement
that modifies a local object which is never written back to disk.

Root Cause

reset(key: string): void {
    const config = this.getConfig();     // reads fresh config from disk
    if (!(key in config)) {
      this.failSpinner(`Configuration key '${key}' does not exist.`);
      return;
    }
    delete config[key];                  // modifies LOCAL object — NEVER persisted
    this.writeConfig(key, undefined);    // reads ANOTHER fresh config from disk
    this.succeedSpinner(`Configuration successfully reset`);
}

Impact

The delete config[key] on line 47 is dead code — it modifies
a local variable that is immediately discarded. writeConfig
then reads a completely fresh copy from disk anyway. This suggests
a logic misunderstanding that could cause real bugs if someone
refactors this code expecting the delete to have been persisted.

Suggested Fix

reset(key: string): void {
    const config = this.getConfig();
    if (!(key in config)) {
      this.failSpinner(`Configuration key '${key}' does not exist.`);
      return;
    }
    // Remove dead code - writeConfig handles persistence
    this.writeConfig(key, undefined);
    this.succeedSpinner(`Configuration successfully reset`);
}

File

src/commands/config/getSetReset.ts lines 38-50
Severity: Medium

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions