diff --git a/cmd/tailscale/cli/bugreport.go b/cmd/tailscale/cli/bugreport.go index 6c069d388..312aadd51 100644 --- a/cmd/tailscale/cli/bugreport.go +++ b/cmd/tailscale/cli/bugreport.go @@ -8,6 +8,7 @@ import ( "context" "errors" "flag" + "fmt" "github.com/peterbourgon/ff/v3/ffcli" "tailscale.com/client/tailscale" @@ -21,12 +22,14 @@ var bugReportCmd = &ffcli.Command{ FlagSet: (func() *flag.FlagSet { fs := newFlagSet("bugreport") fs.BoolVar(&bugReportArgs.diagnose, "diagnose", false, "run additional in-depth checks") + fs.BoolVar(&bugReportArgs.record, "record", false, "if true, pause and then write another bugreport") return fs })(), } var bugReportArgs struct { diagnose bool + record bool } func runBugReport(ctx context.Context, args []string) error { @@ -45,6 +48,22 @@ func runBugReport(ctx context.Context, args []string) error { if err != nil { return err } + + if bugReportArgs.record { + outln("The initial bugreport is below; please reproduce your issue and then press Enter...") + } + outln(logMarker) + + if bugReportArgs.record { + fmt.Scanln() + + logMarker, err := localClient.BugReportWithOpts(ctx, tailscale.BugReportOpts{}) + if err != nil { + return err + } + outln(logMarker) + outln("Please provide both bugreport markers above to the support team or GitHub issue.") + } return nil }