Skip to content

Commit f48959d

Browse files
authored
internal/nix: fix unredacted error message (#1782)
Don't pass a slice of already-redacted arguments to `redact.Errorf` so that they're preserved in the regular error message. Tested by forcing an error and seeing the full message: ``` $ go run ./cmd/devbox shell Ensuring packages are installed. ✓ Computed the Devbox environment. Error: nix print-dev-env --json "path:/Users/gcurtis/src/devbox/.devbox/gen/flake": exit status 1 Error: There was an internal error. Run with DEVBOX_DEBUG=1 for a detailed error message, and consider reporting it at https://github.com/jetpack-io/devbox/issues ``` Gets redacted in Sentry as: ``` nix print-dev-env --json "path:<redacted string>": <redacted *exec.ExitError> ```
1 parent 2018568 commit f48959d

File tree

1 file changed

+1
-8
lines changed

1 file changed

+1
-8
lines changed

internal/nix/nix.go

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -82,14 +82,7 @@ func (*Nix) PrintDevEnv(ctx context.Context, args *PrintDevEnvArgs) (*PrintDevEn
8282
if insecure, insecureErr := IsExitErrorInsecurePackage(err, "" /*installable*/); insecure {
8383
return nil, insecureErr
8484
} else if err != nil {
85-
safeArgs := make([]string, 0, len(cmd.Args))
86-
for _, a := range cmd.Args {
87-
if a == args.FlakeDir {
88-
a = "<redacted path>"
89-
}
90-
safeArgs = append(safeArgs, a)
91-
}
92-
return nil, redact.Errorf("nix command: %s", redact.Safe(safeArgs))
85+
return nil, redact.Errorf("nix print-dev-env --json \"path:%s\": %w", flakeDirResolved, err)
9386
}
9487

9588
if err := json.Unmarshal(data, &out); err != nil {

0 commit comments

Comments
 (0)