wavetermdev/waveterm · error

error setting telemetry value: %w

Error message

error setting telemetry value: %w

What it means

TelemetryUpdate wraps failures from wconfig.SetBaseConfigValue with 'error setting telemetry value: %w'. It writes telemetryEnabled into the base config via MetaMapType; a failure means the config system rejected or failed to persist the value — usually settings file parse/permission problems.

Source

Thrown at pkg/service/clientservice/clientservice.go:75

		return nil, fmt.Errorf("error getting client data: %w", err)
	}
	timestamp := time.Now().UnixMilli()
	clientData.TosAgreed = timestamp
	err = wstore.DBUpdate(ctx, clientData)
	if err != nil {
		return nil, fmt.Errorf("error updating client data: %w", err)
	}
	wcore.BootstrapStarterLayout(ctx)
	return waveobj.ContextGetUpdatesRtn(ctx), nil
}

func (cs *ClientService) TelemetryUpdate(ctx context.Context, telemetryEnabled bool) error {
	meta := waveobj.MetaMapType{
		wconfig.ConfigKey_TelemetryEnabled: telemetryEnabled,
	}
	err := wconfig.SetBaseConfigValue(meta)
	if err != nil {
		return fmt.Errorf("error setting telemetry value: %w", err)
	}
	return nil
}

View on GitHub (pinned to a4447c1563)

Solutions

  1. Validate the settings JSON file (fix syntax errors) in the Wave config directory
  2. Fix write permissions on the settings file/directory
  3. Back up and reset settings.json, then retry
Defensive patterns

Strategy: retry

Validate before calling

var cfg map[string]any
if err := json.Unmarshal(settingsJSON, &cfg); err != nil { return fmt.Errorf("settings JSON invalid") }

Try / catch

err := cs.TelemetryUpdate(ctx, enabled)
if err != nil {
    // inspect wrapped wconfig error; fix settings file, then retry once
    return fmt.Errorf("telemetry not updated: %w", err)
}

Prevention

When it happens

Trigger: Calling TelemetryUpdate when the settings JSON file is malformed, read-only, or wconfig validation rejects the key/value.

Common situations: User hand-edited settings.json producing invalid JSON; settings file owned by root; schema version mismatch after an app upgrade.

Related errors


AI-assisted analysis of wavetermdev/waveterm@a4447c1563 (2026-09-01). Data as JSON: /api/errors/8a4404d155815e6b. Report an issue: GitHub.