From df23eccda04d35125d11b6cb0e375ff4e0792597 Mon Sep 17 00:00:00 2001 From: fit2bot <68588906+fit2bot@users.noreply.github.com> Date: Thu, 2 Jan 2025 11:33:20 +0800 Subject: [PATCH] perf: use spinner for waiting (#1618) --------- Co-authored-by: Eric --- pkg/proxy/parser.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkg/proxy/parser.go b/pkg/proxy/parser.go index f4e20121..b21db762 100644 --- a/pkg/proxy/parser.go +++ b/pkg/proxy/parser.go @@ -616,6 +616,7 @@ func (p *Parser) waitCommandConfirm() { titleMsg := lang.T("Need ticket confirm to execute command, already send email to the reviewers") reviewersMsg := fmt.Sprintf(lang.T("Ticket Reviewers: %s"), strings.Join(reviewers, ", ")) detailURLMsg := fmt.Sprintf(lang.T("Could copy website URL to notify reviewers: %s"), detailURL) + spinner := []string{". ", ".. ", "... "} var tipString strings.Builder tipString.WriteString(utils.CharNewLine) tipString.WriteString(titleMsg) @@ -624,6 +625,8 @@ func (p *Parser) waitCommandConfirm() { tipString.WriteString(utils.CharNewLine) tipString.WriteString(detailURLMsg) tipString.WriteString(utils.CharNewLine) + tipString.WriteString(waitMsg) + tipString.WriteString(utils.CharNewLine) p.srvOutputChan <- []byte(utils.WrapperString(tipString.String(), utils.Green)) for { select { @@ -633,7 +636,8 @@ func (p *Parser) waitCommandConfirm() { return default: delayS := fmt.Sprintf("%ds", delay) - data := strings.Repeat("\x08", len(delayS)+len(waitMsg)) + waitMsg + delayS + currentSpinner := spinner[delay%len(spinner)] + data := strings.Repeat("\x08", len(delayS)+len(currentSpinner)) + currentSpinner + delayS p.srvOutputChan <- []byte(data) time.Sleep(time.Second) delay += 1