From d4d14aa94a645d8ea70b5659444fba8eec677aea Mon Sep 17 00:00:00 2001 From: Sebastian Mark Date: Sat, 2 Nov 2024 10:56:53 +0100 Subject: [PATCH 01/40] fix: update config file handling - show default config in help - only use default config if exists, otherwise use passed file --- cmd/client/app.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cmd/client/app.go b/cmd/client/app.go index f4652ab..bb5e280 100644 --- a/cmd/client/app.go +++ b/cmd/client/app.go @@ -64,16 +64,16 @@ func Start() { parameter_url = flag.String("url", "", "GoTomato Server URL (eg ws://localhost:8080/ws)") parameter_password = flag.String("password", "", "Control password for pomodoro session") - configfile = flag.String("config", "", "Path to config file") + configfile = flag.String("config", defaultConfigFile, "Path to config file") ) flag.Parse() // read passed config file or try to use default config - if *configfile != "" { + if *configfile != defaultConfigFile { config = helper.ParseConfig(*configfile) } else { - if helper.FileExists(defaultConfigFile) { - config = helper.ParseConfig(defaultConfigFile) + if helper.FileExists(*configfile) { + config = helper.ParseConfig(*configfile) } } From ebc81657f5a28d6f839820521ffd567a9be49b75 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sat, 2 Nov 2024 14:40:20 +0000 Subject: [PATCH 02/40] fix: update module git.smsvc.net/pomodoro/gotomato to v0.0.6 --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 48db940..04caf54 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module git.smsvc.net/pomodoro/ChronoTomato go 1.23.1 require ( - git.smsvc.net/pomodoro/GoTomato v0.0.4 + git.smsvc.net/pomodoro/GoTomato v0.0.6 github.com/alecthomas/colour v0.1.0 github.com/charmbracelet/bubbles v0.20.0 github.com/charmbracelet/bubbletea v1.1.2 diff --git a/go.sum b/go.sum index 095f75f..1563b25 100644 --- a/go.sum +++ b/go.sum @@ -1,5 +1,5 @@ -git.smsvc.net/pomodoro/GoTomato v0.0.4 h1:+pCbPXUMtPteQilMe3QNo6fl67kB9gO6C/g0sNj1zck= -git.smsvc.net/pomodoro/GoTomato v0.0.4/go.mod h1:rNFUjjBMKplygWYbgErWd4cD8JQ66h0KyiK54cGktJo= +git.smsvc.net/pomodoro/GoTomato v0.0.6 h1:kgwT+ROKJkWImpBJv5Osm1TN7AxLUr0N4dzvC9tSm08= +git.smsvc.net/pomodoro/GoTomato v0.0.6/go.mod h1:rNFUjjBMKplygWYbgErWd4cD8JQ66h0KyiK54cGktJo= github.com/alecthomas/colour v0.1.0 h1:nOE9rJm6dsZ66RGWYSFrXw461ZIt9A6+nHgL7FRrDUk= github.com/alecthomas/colour v0.1.0/go.mod h1:QO9JBoKquHd+jz9nshCh40fOfO+JzsoXy8qTHF68zU0= github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k= From 561419b568e319bb4b79f48186d077761ad8f51a Mon Sep 17 00:00:00 2001 From: Sebastian Mark Date: Sun, 3 Nov 2024 22:22:03 +0100 Subject: [PATCH 03/40] feat: implement centralized logging helper MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - remove direct log usage - create a new logging helper - update all log calls to use the new Logger instance - set timestamp to ISO8601 🤖 --- cmd/client/app.go | 3 +-- internal/helper/files.go | 5 ++--- internal/helper/logging.go | 12 ++++++++++++ internal/websocket/connect.go | 6 +++--- internal/websocket/receive.go | 6 +++--- internal/websocket/send.go | 6 +++--- 6 files changed, 24 insertions(+), 14 deletions(-) create mode 100644 internal/helper/logging.go diff --git a/cmd/client/app.go b/cmd/client/app.go index bb5e280..1fb7738 100644 --- a/cmd/client/app.go +++ b/cmd/client/app.go @@ -2,7 +2,6 @@ package client import ( "flag" - "github.com/charmbracelet/log" "git.smsvc.net/pomodoro/ChronoTomato/internal/helper" "git.smsvc.net/pomodoro/ChronoTomato/internal/websocket" @@ -87,6 +86,6 @@ func Start() { _, err := tea.NewProgram(myApp()).Run() if err != nil { - log.Fatal("Could not start program:", "msg", err) + helper.Logger.Fatal("Could not start program:", "msg", err) } } diff --git a/internal/helper/files.go b/internal/helper/files.go index 230fd93..3187151 100644 --- a/internal/helper/files.go +++ b/internal/helper/files.go @@ -1,7 +1,6 @@ package helper import ( - "github.com/charmbracelet/log" "gopkg.in/yaml.v3" "os" "path/filepath" @@ -33,12 +32,12 @@ func ParseConfig(filename string) ChronoTomato.Config { yamlFile, err := os.ReadFile(expandUnixPath(filename)) if err != nil { - log.Fatal("Error opening config file!", "reason", err) + Logger.Fatal("Error opening config file!", "reason", err) } err = yaml.Unmarshal(yamlFile, &config) if err != nil { - log.Fatalf("Unmarshal: %v", err) + Logger.Fatalf("Unmarshal: %v", err) } return config diff --git a/internal/helper/logging.go b/internal/helper/logging.go new file mode 100644 index 0000000..ecb7371 --- /dev/null +++ b/internal/helper/logging.go @@ -0,0 +1,12 @@ +package helper + +import ( + "github.com/charmbracelet/log" + "os" + "time" +) + +var Logger = log.NewWithOptions(os.Stdout, log.Options{ + ReportTimestamp: true, + TimeFormat: time.RFC3339, +}) diff --git a/internal/websocket/connect.go b/internal/websocket/connect.go index fdbc55d..770cd13 100644 --- a/internal/websocket/connect.go +++ b/internal/websocket/connect.go @@ -1,10 +1,10 @@ package websocket import ( - "github.com/charmbracelet/log" "github.com/gorilla/websocket" "time" + "git.smsvc.net/pomodoro/ChronoTomato/internal/helper" ChronoTomato "git.smsvc.net/pomodoro/ChronoTomato/pkg/models" ) @@ -14,10 +14,10 @@ type Client ChronoTomato.GoTomatoClient // New websocket client func Connect(url string) Client { conn, _, err := websocket.DefaultDialer.Dial(url, nil) if err != nil { - log.Fatal("Dial error!", "reason", err) + helper.Logger.Fatal("Dial error!", "reason", err) } - log.Info("Connected 󰖟 ", "host", url) + helper.Logger.Info("Connected 󰖟 ", "host", url) time.Sleep(time.Second) return Client{Conn: conn} diff --git a/internal/websocket/receive.go b/internal/websocket/receive.go index c21252b..bb36722 100644 --- a/internal/websocket/receive.go +++ b/internal/websocket/receive.go @@ -2,9 +2,9 @@ package websocket import ( "encoding/json" - "github.com/charmbracelet/log" "github.com/gorilla/websocket" + "git.smsvc.net/pomodoro/ChronoTomato/internal/helper" GoTomato "git.smsvc.net/pomodoro/GoTomato/pkg/models" ) @@ -25,14 +25,14 @@ func (c Client) ProcessServerMessages(channel chan<- GoTomato.ServerMessage) { return } // Log any other errors - log.Error("Read error!", "reason", err) + helper.Logger.Error("Read error!", "reason", err) close(channel) return } err = json.Unmarshal(message, &serverMessage) if err != nil { - log.Error("Error unmarshalling!", "reason", err) + helper.Logger.Error("Error unmarshalling!", "reason", err) continue } diff --git a/internal/websocket/send.go b/internal/websocket/send.go index c3871b0..a3126cc 100644 --- a/internal/websocket/send.go +++ b/internal/websocket/send.go @@ -2,9 +2,9 @@ package websocket import ( "encoding/json" - "github.com/charmbracelet/log" "github.com/gorilla/websocket" + "git.smsvc.net/pomodoro/ChronoTomato/internal/helper" GoTomato "git.smsvc.net/pomodoro/GoTomato/pkg/models" ) @@ -12,13 +12,13 @@ import ( func sendClientCommand(c Client, msg GoTomato.ClientCommand) { messageBytes, err := json.Marshal(msg) if err != nil { - log.Error("Error marshalling!", "reason", err) + helper.Logger.Error("Error marshalling!", "reason", err) return } err = c.Conn.WriteMessage(websocket.TextMessage, messageBytes) if err != nil { - log.Error("Write error!", "reason", err) + helper.Logger.Error("Write error!", "reason", err) return } } From f7c099876b2eb4fe8e8ae64494a11280af0b36c8 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 5 Nov 2024 02:01:33 +0000 Subject: [PATCH 04/40] fix: update module git.smsvc.net/pomodoro/gotomato to v0.0.8 --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 04caf54..a590ff3 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module git.smsvc.net/pomodoro/ChronoTomato go 1.23.1 require ( - git.smsvc.net/pomodoro/GoTomato v0.0.6 + git.smsvc.net/pomodoro/GoTomato v0.0.8 github.com/alecthomas/colour v0.1.0 github.com/charmbracelet/bubbles v0.20.0 github.com/charmbracelet/bubbletea v1.1.2 diff --git a/go.sum b/go.sum index 1563b25..2498813 100644 --- a/go.sum +++ b/go.sum @@ -1,5 +1,5 @@ -git.smsvc.net/pomodoro/GoTomato v0.0.6 h1:kgwT+ROKJkWImpBJv5Osm1TN7AxLUr0N4dzvC9tSm08= -git.smsvc.net/pomodoro/GoTomato v0.0.6/go.mod h1:rNFUjjBMKplygWYbgErWd4cD8JQ66h0KyiK54cGktJo= +git.smsvc.net/pomodoro/GoTomato v0.0.8 h1:ePD6T14pFtrtXybHypabpDs4MURdOnPkm8nQzzEteVA= +git.smsvc.net/pomodoro/GoTomato v0.0.8/go.mod h1:LaKrPdnFB5v4RpltExKasW67TmjJlmhDDvmoEYWv0P4= github.com/alecthomas/colour v0.1.0 h1:nOE9rJm6dsZ66RGWYSFrXw461ZIt9A6+nHgL7FRrDUk= github.com/alecthomas/colour v0.1.0/go.mod h1:QO9JBoKquHd+jz9nshCh40fOfO+JzsoXy8qTHF68zU0= github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k= From 1dd42d3c14fd8ecc109aa55692c571778233a96e Mon Sep 17 00:00:00 2001 From: Sebastian Mark Date: Tue, 5 Nov 2024 23:27:28 +0100 Subject: [PATCH 05/40] refactor: rename config file cli parameter for consistency MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - rename configfile parameter to parameter_configfile - update references to the configfile parameter 🤖 --- cmd/client/app.go | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/cmd/client/app.go b/cmd/client/app.go index 1fb7738..e29f38f 100644 --- a/cmd/client/app.go +++ b/cmd/client/app.go @@ -61,18 +61,18 @@ func Start() { var ( defaultConfigFile = "~/.config/ChronoTomato.yml" - parameter_url = flag.String("url", "", "GoTomato Server URL (eg ws://localhost:8080/ws)") - parameter_password = flag.String("password", "", "Control password for pomodoro session") - configfile = flag.String("config", defaultConfigFile, "Path to config file") + parameter_url = flag.String("url", "", "GoTomato Server URL (eg ws://localhost:8080/ws)") + parameter_password = flag.String("password", "", "Control password for pomodoro session") + parameter_configfile = flag.String("config", defaultConfigFile, "Path to config file") ) flag.Parse() // read passed config file or try to use default config - if *configfile != defaultConfigFile { - config = helper.ParseConfig(*configfile) + if *parameter_configfile != defaultConfigFile { + config = helper.ParseConfig(*parameter_configfile) } else { - if helper.FileExists(*configfile) { - config = helper.ParseConfig(*configfile) + if helper.FileExists(defaultConfigFile) { + config = helper.ParseConfig(defaultConfigFile) } } From 05e8bf5854c46f6009c9d05f252506091b01e173 Mon Sep 17 00:00:00 2001 From: Sebastian Mark Date: Wed, 6 Nov 2024 09:03:25 +0100 Subject: [PATCH 06/40] feat: reconnect on disconnect (add status to TUI) - add `Connected()` method for client - add `LastErr` field to GoTomatoClient - replace error logging by updating `LastErr` field - modify methods to use pointer receivers for Client - add `prevMessage` variable to store the last received server message - show connect status in TUI - use EnterAltScreen instead of ClearScreen --- cmd/client/app.go | 6 +++++- cmd/client/view.go | 15 +++++++++++---- internal/websocket/connect.go | 23 ++++++++--------------- internal/websocket/receive.go | 30 ++++++++++++++++++------------ internal/websocket/send.go | 15 +++++++++------ pkg/models/client.go | 4 +++- 6 files changed, 54 insertions(+), 39 deletions(-) diff --git a/cmd/client/app.go b/cmd/client/app.go index e29f38f..6a87b53 100644 --- a/cmd/client/app.go +++ b/cmd/client/app.go @@ -49,10 +49,14 @@ func (a app) waitForChannelSignal() tea.Cmd { func (a app) Init() tea.Cmd { client = websocket.Connect(config.URL) client.Password = config.Password + if client.LastErr != nil { + helper.Logger.Fatal(client.LastErr) + } + go client.ProcessServerMessages(a.channel) return tea.Batch( - tea.ClearScreen, + tea.EnterAltScreen, a.waitForChannelSignal(), ) } diff --git a/cmd/client/view.go b/cmd/client/view.go index eee5726..6189530 100644 --- a/cmd/client/view.go +++ b/cmd/client/view.go @@ -3,22 +3,29 @@ package client import ( "strings" + "github.com/alecthomas/colour" + "git.smsvc.net/pomodoro/ChronoTomato/cmd/client/helper" GoTomato "git.smsvc.net/pomodoro/GoTomato/pkg/models" ) func (a app) View() string { var body string + var serverStatus string + body = "Waiting for server message..." if a.pomodoro != (GoTomato.ServerMessage{}) { body = helper.TerminalOutput(a.pomodoro) helper.DesktopNotifications(a.pomodoro) - } else { - body = "Waiting for first server message..." + } + + serverStatus = colour.Sprintf("^D^1disconnected: %v^R\n", client.LastErr) + if client.Connected() { + serverStatus = colour.Sprintf("^D^2connected to %s^R\n", client.Server) } helpView := a.help.View(a.keys) - height := 8 - strings.Count(body, "\n") - strings.Count(helpView, "\n") + height := 8 - strings.Count(body, "\n") - strings.Count(serverStatus, "\n") - strings.Count(helpView, "\n") - return body + strings.Repeat("\n", height) + helpView + return body + strings.Repeat("\n", height) + serverStatus + helpView } diff --git a/internal/websocket/connect.go b/internal/websocket/connect.go index 770cd13..1f35b7b 100644 --- a/internal/websocket/connect.go +++ b/internal/websocket/connect.go @@ -4,7 +4,6 @@ import ( "github.com/gorilla/websocket" "time" - "git.smsvc.net/pomodoro/ChronoTomato/internal/helper" ChronoTomato "git.smsvc.net/pomodoro/ChronoTomato/pkg/models" ) @@ -13,30 +12,24 @@ type Client ChronoTomato.GoTomatoClient // New websocket client // Connects to websocket func Connect(url string) Client { conn, _, err := websocket.DefaultDialer.Dial(url, nil) - if err != nil { - helper.Logger.Fatal("Dial error!", "reason", err) - } - helper.Logger.Info("Connected 󰖟 ", "host", url) - time.Sleep(time.Second) + return Client{Conn: conn, Server: url, LastErr: err} +} - return Client{Conn: conn} +func (c Client) Connected() bool { + return c.Conn != nil } // Disconnects from websocket func (c Client) Disconnect() { - select { - case <-Done: - // session closed by remote - return - default: - // Cleanly close the connection by sending a close message and then - // waiting (with timeout) for the server to close the connection. + // Cleanly close the connection by sending a close message and then + // waiting (with timeout) for the server to close the connection. + if c.Connected() { c.Conn.WriteMessage(websocket.CloseMessage, websocket.FormatCloseMessage(websocket.CloseNormalClosure, "")) select { case <-Done: case <-time.After(time.Second): } - return } + return } diff --git a/internal/websocket/receive.go b/internal/websocket/receive.go index bb36722..4aeb6ad 100644 --- a/internal/websocket/receive.go +++ b/internal/websocket/receive.go @@ -2,9 +2,10 @@ package websocket import ( "encoding/json" + "time" + "github.com/gorilla/websocket" - "git.smsvc.net/pomodoro/ChronoTomato/internal/helper" GoTomato "git.smsvc.net/pomodoro/GoTomato/pkg/models" ) @@ -12,30 +13,35 @@ var Done = make(chan struct{}) // Receives websocket messages and writes them to a channel. // Closes the channel if websocket closes. -func (c Client) ProcessServerMessages(channel chan<- GoTomato.ServerMessage) { - var serverMessage GoTomato.ServerMessage +func (c *Client) ProcessServerMessages(channel chan<- GoTomato.ServerMessage) { + var serverMessage, prevMessage GoTomato.ServerMessage defer close(Done) for { _, message, err := c.Conn.ReadMessage() if err != nil { + // On normal closure exit gracefully if websocket.IsCloseError(err, websocket.CloseNormalClosure) { - // Ignore normal closure and exit gracefully return } - // Log any other errors - helper.Logger.Error("Read error!", "reason", err) - close(channel) - return - } - err = json.Unmarshal(message, &serverMessage) - if err != nil { - helper.Logger.Error("Error unmarshalling!", "reason", err) + // Try to reconnect on unexpected disconnect + for { + channel <- prevMessage // send previous ServerMessage to update view + time.Sleep(time.Second) + *c = Connect(c.Server) + if c.Connected() { + break + } + } continue } + err = json.Unmarshal(message, &serverMessage) + c.LastErr = err + channel <- serverMessage + prevMessage = serverMessage } } diff --git a/internal/websocket/send.go b/internal/websocket/send.go index a3126cc..5bebbd6 100644 --- a/internal/websocket/send.go +++ b/internal/websocket/send.go @@ -4,27 +4,30 @@ import ( "encoding/json" "github.com/gorilla/websocket" - "git.smsvc.net/pomodoro/ChronoTomato/internal/helper" GoTomato "git.smsvc.net/pomodoro/GoTomato/pkg/models" ) // Sends a message to the clients websocket -func sendClientCommand(c Client, msg GoTomato.ClientCommand) { +func sendClientCommand(c *Client, msg GoTomato.ClientCommand) { + if !c.Connected() { + // noop if client is not connected + return + } messageBytes, err := json.Marshal(msg) if err != nil { - helper.Logger.Error("Error marshalling!", "reason", err) + c.LastErr = err return } err = c.Conn.WriteMessage(websocket.TextMessage, messageBytes) if err != nil { - helper.Logger.Error("Write error!", "reason", err) + c.LastErr = err return } } // Sends the passed command to the server -func (c Client) SendCmd(cmd string) { +func (c *Client) SendCmd(cmd string) { message := GoTomato.ClientCommand{ Command: cmd, Password: c.Password, @@ -34,7 +37,7 @@ func (c Client) SendCmd(cmd string) { } // Sends the new PomodoroConfig to the server -func (c Client) SendSettingsUpdate(settings GoTomato.PomodoroConfig) { +func (c *Client) SendSettingsUpdate(settings GoTomato.PomodoroConfig) { message := GoTomato.ClientCommand{ Command: "updateSettings", Password: c.Password, diff --git a/pkg/models/client.go b/pkg/models/client.go index f2bb4c7..5740c05 100644 --- a/pkg/models/client.go +++ b/pkg/models/client.go @@ -4,6 +4,8 @@ import "github.com/gorilla/websocket" // Represents a GoTomato client type GoTomatoClient struct { - Conn *websocket.Conn // The websocket connection of the client + Server string // The GoTomato server Password string // Pomodoro password + Conn *websocket.Conn // The websocket connection of the client + LastErr error // Last client error } From 58d658be667a4ce1d704340e13c73f559416c856 Mon Sep 17 00:00:00 2001 From: Sebastian Mark Date: Thu, 7 Nov 2024 20:19:18 +0100 Subject: [PATCH 07/40] feat(goreleaser): add initial configuration for GoReleaser - add `.goreleaser.yaml` for release automation - add `dist` to gitignore --- .gitignore | 2 ++ .goreleaser.yaml | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 .goreleaser.yaml diff --git a/.gitignore b/.gitignore index dd9e974..c835627 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ ChronoTomato + +dist/ diff --git a/.goreleaser.yaml b/.goreleaser.yaml new file mode 100644 index 0000000..8f87b3f --- /dev/null +++ b/.goreleaser.yaml @@ -0,0 +1,38 @@ +# vim: set ts=2 sw=2 tw=0 fo=cnqoj + +version: 2 + +before: + hooks: + - rm -fr ./dist + - go mod tidy + +builds: + - goos: + - linux + goarch: + - amd64 + - arm64 + env: + - CGO_ENABLED=0 + +upx: + - enabled: true + compress: best + lzma: true + +changelog: + use: gitea + +archives: + - format: binary + +release: + gitea: + owner: pomodoro + name: ChronoTomato + mode: replace + +gitea_urls: + download: http://git.smsvc.net + api: http://git.smsvc.net/api/v1 From 712aced7dad2fae70f985c9027c05b7f8913425f Mon Sep 17 00:00:00 2001 From: Sebastian Mark Date: Sun, 10 Nov 2024 09:26:27 +0100 Subject: [PATCH 08/40] feat!: introduce `ChronoTomatoVersion` - set version from `runtime/debug.Main.Version` - use latest git tag as fallback - allow version to be overwritten via ldflags - this will break `go build .` and `go install .` --- cmd/client/app.go | 9 +++++++++ internal/metadata/version.go | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 internal/metadata/version.go diff --git a/cmd/client/app.go b/cmd/client/app.go index 6a87b53..b0d4ccf 100644 --- a/cmd/client/app.go +++ b/cmd/client/app.go @@ -2,8 +2,11 @@ package client import ( "flag" + "fmt" + "os" "git.smsvc.net/pomodoro/ChronoTomato/internal/helper" + "git.smsvc.net/pomodoro/ChronoTomato/internal/metadata" "git.smsvc.net/pomodoro/ChronoTomato/internal/websocket" ChronoTomato "git.smsvc.net/pomodoro/ChronoTomato/pkg/models" GoTomato "git.smsvc.net/pomodoro/GoTomato/pkg/models" @@ -68,9 +71,15 @@ func Start() { parameter_url = flag.String("url", "", "GoTomato Server URL (eg ws://localhost:8080/ws)") parameter_password = flag.String("password", "", "Control password for pomodoro session") parameter_configfile = flag.String("config", defaultConfigFile, "Path to config file") + showVersion = flag.Bool("version", false, "Show Version") ) flag.Parse() + if *showVersion { + fmt.Printf("ChronoTomato v%v\n", metadata.ChronoTomatoVersion) + os.Exit(0) + } + // read passed config file or try to use default config if *parameter_configfile != defaultConfigFile { config = helper.ParseConfig(*parameter_configfile) diff --git a/internal/metadata/version.go b/internal/metadata/version.go new file mode 100644 index 0000000..c1f994e --- /dev/null +++ b/internal/metadata/version.go @@ -0,0 +1,33 @@ +package metadata + +import ( + "os/exec" + "runtime/debug" + "strings" +) + +var ChronoTomatoVersion = "" // The GoTomato version + +func stripVersionPrefix(version string) string { + return strings.TrimLeft(version, "v") +} + +func getLatestTag() string { + bytes, _ := exec.Command("git", "describe", "--tags").Output() + output := strings.TrimSpace(string(bytes)) + return stripVersionPrefix(output) +} + +// set GoTomatoVersion from runtime/debug.Main.Version +// use latest git tag as fallback +// can be overwritten via ldflags (e,g. by goreleaser) +func init() { + if ChronoTomatoVersion == "" { + info, _ := debug.ReadBuildInfo() + if info.Main.Version != "(devel)" { + ChronoTomatoVersion = stripVersionPrefix(info.Main.Version) + } else { + ChronoTomatoVersion = getLatestTag() + } + } +} From 9f3e0eb439b9783d9a1795ea47963de4d11f754f Mon Sep 17 00:00:00 2001 From: Sebastian Mark Date: Sun, 10 Nov 2024 09:29:33 +0100 Subject: [PATCH 09/40] feat(goreleaser): set version on build via ldflags --- .goreleaser.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.goreleaser.yaml b/.goreleaser.yaml index 8f87b3f..3dba24b 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -1,4 +1,5 @@ # vim: set ts=2 sw=2 tw=0 fo=cnqoj +# yaml-language-server: $schema=https://goreleaser.com/static/schema.json version: 2 @@ -15,6 +16,8 @@ builds: - arm64 env: - CGO_ENABLED=0 + ldflags: + - -s -w -X {{.ModulePath}}/internal/metadata.ChronoTomatoVersion={{.Version}} upx: - enabled: true From 7c2604c0bf3f521d2e44df90a74f0bba5310d784 Mon Sep 17 00:00:00 2001 From: Sebastian Mark Date: Sun, 10 Nov 2024 09:31:03 +0100 Subject: [PATCH 10/40] feat: add release management via `Task` - create `Taskfile.yml` - initial tasks - add new version tag - push to remote and run goreleaser - create snapshot via goreleaser --- .goreleaser.yaml | 1 - Taskfile.yml | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 Taskfile.yml diff --git a/.goreleaser.yaml b/.goreleaser.yaml index 3dba24b..644912b 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -5,7 +5,6 @@ version: 2 before: hooks: - - rm -fr ./dist - go mod tidy builds: diff --git a/Taskfile.yml b/Taskfile.yml new file mode 100644 index 0000000..8efbf3a --- /dev/null +++ b/Taskfile.yml @@ -0,0 +1,34 @@ +# yaml-language-server: $schema=https://taskfile.dev/schema.json +# +# github.com/go-task/task/v3/cmd/task@latest +# Requirements: +# github.com/caarlos0/svu@latest +# github.com/goreleaser/goreleaser/v2@latest + +version: '3' + +tasks: + + release: + desc: Create and publish an new release + vars: + RELEASE: + sh: svu next + BRANCH: + sh: git branch --show-current + COMMIT: + sh: git rev-parse --short --verify {{.BRANCH}} + preconditions: + - sh: test "{{.BRANCH}}" == "main" + msg: "You must be on the main branch to release" + prompt: Create new release {{.RELEASE}} from {{.COMMIT}}@{{.BRANCH}}? + cmds: + - git tag {{.RELEASE}} + - git push + - git push origin tag {{.RELEASE}} + - goreleaser release --clean + + snapshot: + desc: Create a local snapshot release + cmds: + - goreleaser release --clean --snapshot From fb502c14235eee115e4642e07e9bbb3f2cae4114 Mon Sep 17 00:00:00 2001 From: Sebastian Mark Date: Sun, 10 Nov 2024 16:44:24 +0100 Subject: [PATCH 11/40] fix(renovate): make Go deps always a "chore" - add package rules to set semantic commit type for gomod --- .renovaterc.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.renovaterc.json b/.renovaterc.json index ff27ef5..aceb001 100644 --- a/.renovaterc.json +++ b/.renovaterc.json @@ -2,5 +2,11 @@ "$schema": "https://docs.renovatebot.com/renovate-schema.json", "extends": [ "local>infrastructure/renovate-config" + ], + "packageRules": [ + { + "matchManagers": ["gomod"], + "semanticCommitType": "chore" + } ] } From c832aecd812e19692a879ccedbdfdbd723ae9a20 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sun, 10 Nov 2024 10:18:09 +0000 Subject: [PATCH 12/40] fix: update module github.com/charmbracelet/bubbletea to v1.2.1 --- go.mod | 6 +++--- go.sum | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/go.mod b/go.mod index a590ff3..ffa8cf7 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ require ( git.smsvc.net/pomodoro/GoTomato v0.0.8 github.com/alecthomas/colour v0.1.0 github.com/charmbracelet/bubbles v0.20.0 - github.com/charmbracelet/bubbletea v1.1.2 + github.com/charmbracelet/bubbletea v1.2.1 github.com/charmbracelet/log v0.4.0 github.com/gen2brain/beeep v0.0.0-20240516210008-9c006672e7f4 github.com/gorilla/websocket v1.5.3 @@ -15,8 +15,8 @@ require ( require ( github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect - github.com/charmbracelet/lipgloss v0.13.0 // indirect - github.com/charmbracelet/x/ansi v0.4.0 // indirect + github.com/charmbracelet/lipgloss v1.0.0 // indirect + github.com/charmbracelet/x/ansi v0.4.5 // indirect github.com/charmbracelet/x/term v0.2.0 // indirect github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f // indirect github.com/go-logfmt/logfmt v0.6.0 // indirect diff --git a/go.sum b/go.sum index 2498813..1ce70fe 100644 --- a/go.sum +++ b/go.sum @@ -6,14 +6,14 @@ github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiE github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8= github.com/charmbracelet/bubbles v0.20.0 h1:jSZu6qD8cRQ6k9OMfR1WlM+ruM8fkPWkHvQWD9LIutE= github.com/charmbracelet/bubbles v0.20.0/go.mod h1:39slydyswPy+uVOHZ5x/GjwVAFkCsV8IIVy+4MhzwwU= -github.com/charmbracelet/bubbletea v1.1.2 h1:naQXF2laRxyLyil/i7fxdpiz1/k06IKquhm4vBfHsIc= -github.com/charmbracelet/bubbletea v1.1.2/go.mod h1:9HIU/hBV24qKjlehyj8z1r/tR9TYTQEag+cWZnuXo8E= -github.com/charmbracelet/lipgloss v0.13.0 h1:4X3PPeoWEDCMvzDvGmTajSyYPcZM4+y8sCA/SsA3cjw= -github.com/charmbracelet/lipgloss v0.13.0/go.mod h1:nw4zy0SBX/F/eAO1cWdcvy6qnkDUxr8Lw7dvFrAIbbY= +github.com/charmbracelet/bubbletea v1.2.1 h1:J041h57zculJKEKf/O2pS4edXGIz+V0YvojvfGXePIk= +github.com/charmbracelet/bubbletea v1.2.1/go.mod h1:viLoDL7hG4njLJSKU2gw7kB3LSEmWsrM80rO1dBJWBI= +github.com/charmbracelet/lipgloss v1.0.0 h1:O7VkGDvqEdGi93X+DeqsQ7PKHDgtQfF8j8/O2qFMQNg= +github.com/charmbracelet/lipgloss v1.0.0/go.mod h1:U5fy9Z+C38obMs+T+tJqst9VGzlOYGj4ri9reL3qUlo= github.com/charmbracelet/log v0.4.0 h1:G9bQAcx8rWA2T3pWvx7YtPTPwgqpk7D68BX21IRW8ZM= github.com/charmbracelet/log v0.4.0/go.mod h1:63bXt/djrizTec0l11H20t8FDSvA4CRZJ1KH22MdptM= -github.com/charmbracelet/x/ansi v0.4.0 h1:NqwHA4B23VwsDn4H3VcNX1W1tOmgnvY1NDx5tOXdnOU= -github.com/charmbracelet/x/ansi v0.4.0/go.mod h1:dk73KoMTT5AX5BsX0KrqhsTqAnhZZoCBjs7dGWp4Ktw= +github.com/charmbracelet/x/ansi v0.4.5 h1:LqK4vwBNaXw2AyGIICa5/29Sbdq58GbGdFngSexTdRM= +github.com/charmbracelet/x/ansi v0.4.5/go.mod h1:dk73KoMTT5AX5BsX0KrqhsTqAnhZZoCBjs7dGWp4Ktw= github.com/charmbracelet/x/term v0.2.0 h1:cNB9Ot9q8I711MyZ7myUR5HFWL/lc3OpU8jZ4hwm0x0= github.com/charmbracelet/x/term v0.2.0/go.mod h1:GVxgxAbjUrmpvIINHIQnJJKpMlHiZ4cktEQCN6GWyF0= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= From c30829392d8ee387929057ed9ed3b871f680ffc5 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sun, 10 Nov 2024 17:02:50 +0000 Subject: [PATCH 13/40] chore: update module git.smsvc.net/pomodoro/gotomato to v0.3.1 --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index ffa8cf7..2b7f407 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module git.smsvc.net/pomodoro/ChronoTomato go 1.23.1 require ( - git.smsvc.net/pomodoro/GoTomato v0.0.8 + git.smsvc.net/pomodoro/GoTomato v0.3.1 github.com/alecthomas/colour v0.1.0 github.com/charmbracelet/bubbles v0.20.0 github.com/charmbracelet/bubbletea v1.2.1 diff --git a/go.sum b/go.sum index 1ce70fe..c95467b 100644 --- a/go.sum +++ b/go.sum @@ -1,5 +1,5 @@ -git.smsvc.net/pomodoro/GoTomato v0.0.8 h1:ePD6T14pFtrtXybHypabpDs4MURdOnPkm8nQzzEteVA= -git.smsvc.net/pomodoro/GoTomato v0.0.8/go.mod h1:LaKrPdnFB5v4RpltExKasW67TmjJlmhDDvmoEYWv0P4= +git.smsvc.net/pomodoro/GoTomato v0.3.1 h1:0YUOqwluUlnx1PLQiXCxRuNwejcE/IkNOD1SuCObyUA= +git.smsvc.net/pomodoro/GoTomato v0.3.1/go.mod h1:LaKrPdnFB5v4RpltExKasW67TmjJlmhDDvmoEYWv0P4= github.com/alecthomas/colour v0.1.0 h1:nOE9rJm6dsZ66RGWYSFrXw461ZIt9A6+nHgL7FRrDUk= github.com/alecthomas/colour v0.1.0/go.mod h1:QO9JBoKquHd+jz9nshCh40fOfO+JzsoXy8qTHF68zU0= github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k= From 94e7b414210581c49e345ab178fb83a748bade4a Mon Sep 17 00:00:00 2001 From: Sebastian Mark Date: Wed, 13 Nov 2024 17:12:54 +0100 Subject: [PATCH 14/40] fix: preserve client password during reconnection process --- internal/websocket/receive.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/internal/websocket/receive.go b/internal/websocket/receive.go index 4aeb6ad..e4638a6 100644 --- a/internal/websocket/receive.go +++ b/internal/websocket/receive.go @@ -29,8 +29,14 @@ func (c *Client) ProcessServerMessages(channel chan<- GoTomato.ServerMessage) { // Try to reconnect on unexpected disconnect for { channel <- prevMessage // send previous ServerMessage to update view + time.Sleep(time.Second) + + // reconnect while preserving password + pw := c.Password *c = Connect(c.Server) + c.Password = pw + if c.Connected() { break } From 6b90db0d6cbc7ce34703555f0eeaa8d04c84bb76 Mon Sep 17 00:00:00 2001 From: Sebastian Mark Date: Sun, 10 Nov 2024 20:31:21 +0100 Subject: [PATCH 15/40] feat: add progress bar to timer MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - add progress package for visual feedback - implement calc_percentage function for duration calculation - update TerminalOutput to include progress percentage and view 🤖 --- cmd/client/helper/terminal.go | 26 +++++++++++++++++++++++--- cmd/client/view.go | 2 +- go.mod | 1 + go.sum | 2 ++ 4 files changed, 27 insertions(+), 4 deletions(-) diff --git a/cmd/client/helper/terminal.go b/cmd/client/helper/terminal.go index 06c1713..49049c2 100644 --- a/cmd/client/helper/terminal.go +++ b/cmd/client/helper/terminal.go @@ -4,10 +4,29 @@ import ( "fmt" "github.com/alecthomas/colour" + "github.com/charmbracelet/bubbles/progress" GoTomato "git.smsvc.net/pomodoro/GoTomato/pkg/models" ) +var progressBar = progress.New(progress.WithDefaultGradient(), progress.WithoutPercentage()) + +func calc_percentage(message GoTomato.ServerMessage) float64 { + var duration float64 + + switch message.Mode { + case "Work": + duration = float64(message.Settings.Work) + case "ShortBreak": + duration = float64(message.Settings.ShortBreak) + case "LongBreak", "End": + duration = float64(message.Settings.LongBreak) + } + + timeLeft := float64(message.TimeLeft) + return 1.0 - (timeLeft / duration) +} + // Return terminal output based on the passed ServerMessage func TerminalOutput(pomodoro GoTomato.ServerMessage) string { var ( @@ -37,15 +56,16 @@ func TerminalOutput(pomodoro GoTomato.ServerMessage) string { minutes := pomodoro.TimeLeft / 60 seconds := pomodoro.TimeLeft % 60 - timerOutput = fmt.Sprintf("⏳ %02d:%02d", minutes, seconds) + timerOutput = fmt.Sprintf("⏳ %02d:%02d", minutes, seconds) + "\n" + timerOutput += progressBar.ViewAs(calc_percentage(pomodoro)) } output += fmt.Sprintf("Session: %d/%d\n", pomodoro.Session, pomodoro.Settings.Sessions, ) - output += fmt.Sprintf("%s %s\n", modePrefix, pomodoro.Mode) - output += fmt.Sprintf(timerOutput) + output += fmt.Sprintf("%s %s\n", modePrefix, pomodoro.Mode) + "\n" + output += timerOutput return output } diff --git a/cmd/client/view.go b/cmd/client/view.go index 6189530..c7e9eb7 100644 --- a/cmd/client/view.go +++ b/cmd/client/view.go @@ -25,7 +25,7 @@ func (a app) View() string { } helpView := a.help.View(a.keys) - height := 8 - strings.Count(body, "\n") - strings.Count(serverStatus, "\n") - strings.Count(helpView, "\n") + height := 10 - strings.Count(body, "\n") - strings.Count(serverStatus, "\n") - strings.Count(helpView, "\n") return body + strings.Repeat("\n", height) + serverStatus + helpView } diff --git a/go.mod b/go.mod index 2b7f407..da5bc03 100644 --- a/go.mod +++ b/go.mod @@ -15,6 +15,7 @@ require ( require ( github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect + github.com/charmbracelet/harmonica v0.2.0 // indirect github.com/charmbracelet/lipgloss v1.0.0 // indirect github.com/charmbracelet/x/ansi v0.4.5 // indirect github.com/charmbracelet/x/term v0.2.0 // indirect diff --git a/go.sum b/go.sum index c95467b..4f15eb3 100644 --- a/go.sum +++ b/go.sum @@ -8,6 +8,8 @@ github.com/charmbracelet/bubbles v0.20.0 h1:jSZu6qD8cRQ6k9OMfR1WlM+ruM8fkPWkHvQW github.com/charmbracelet/bubbles v0.20.0/go.mod h1:39slydyswPy+uVOHZ5x/GjwVAFkCsV8IIVy+4MhzwwU= github.com/charmbracelet/bubbletea v1.2.1 h1:J041h57zculJKEKf/O2pS4edXGIz+V0YvojvfGXePIk= github.com/charmbracelet/bubbletea v1.2.1/go.mod h1:viLoDL7hG4njLJSKU2gw7kB3LSEmWsrM80rO1dBJWBI= +github.com/charmbracelet/harmonica v0.2.0 h1:8NxJWRWg/bzKqqEaaeFNipOu77YR5t8aSwG4pgaUBiQ= +github.com/charmbracelet/harmonica v0.2.0/go.mod h1:KSri/1RMQOZLbw7AHqgcBycp8pgJnQMYYT8QZRqZ1Ao= github.com/charmbracelet/lipgloss v1.0.0 h1:O7VkGDvqEdGi93X+DeqsQ7PKHDgtQfF8j8/O2qFMQNg= github.com/charmbracelet/lipgloss v1.0.0/go.mod h1:U5fy9Z+C38obMs+T+tJqst9VGzlOYGj4ri9reL3qUlo= github.com/charmbracelet/log v0.4.0 h1:G9bQAcx8rWA2T3pWvx7YtPTPwgqpk7D68BX21IRW8ZM= From 74f41f0e5664f19a58d560f4b42073021622317a Mon Sep 17 00:00:00 2001 From: Sebastian Mark Date: Mon, 11 Nov 2024 23:06:49 +0100 Subject: [PATCH 16/40] fix: replace timer icon MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - change timer icon from hourglass to stopwatch 🤖 --- cmd/client/helper/terminal.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmd/client/helper/terminal.go b/cmd/client/helper/terminal.go index 49049c2..325db78 100644 --- a/cmd/client/helper/terminal.go +++ b/cmd/client/helper/terminal.go @@ -56,7 +56,7 @@ func TerminalOutput(pomodoro GoTomato.ServerMessage) string { minutes := pomodoro.TimeLeft / 60 seconds := pomodoro.TimeLeft % 60 - timerOutput = fmt.Sprintf("⏳ %02d:%02d", minutes, seconds) + "\n" + timerOutput = fmt.Sprintf("⏱ %02d:%02d", minutes, seconds) + "\n" timerOutput += progressBar.ViewAs(calc_percentage(pomodoro)) } From b494c2782ea790f6399f09535c151f7528abfef3 Mon Sep 17 00:00:00 2001 From: Sebastian Mark Date: Wed, 13 Nov 2024 09:43:58 +0100 Subject: [PATCH 17/40] refactor: merge client/helper package to client MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - remove helper package and move functions to client package - merge `terminalOutput()` to `view.go` - move `desktopNotifications()` to `cmd/client` 🤖 --- cmd/client/helper/terminal.go | 71 ------------------------- cmd/client/{helper => }/notification.go | 4 +- cmd/client/view.go | 68 +++++++++++++++++++++-- 3 files changed, 67 insertions(+), 76 deletions(-) delete mode 100644 cmd/client/helper/terminal.go rename cmd/client/{helper => }/notification.go (93%) diff --git a/cmd/client/helper/terminal.go b/cmd/client/helper/terminal.go deleted file mode 100644 index 325db78..0000000 --- a/cmd/client/helper/terminal.go +++ /dev/null @@ -1,71 +0,0 @@ -package helper - -import ( - "fmt" - - "github.com/alecthomas/colour" - "github.com/charmbracelet/bubbles/progress" - - GoTomato "git.smsvc.net/pomodoro/GoTomato/pkg/models" -) - -var progressBar = progress.New(progress.WithDefaultGradient(), progress.WithoutPercentage()) - -func calc_percentage(message GoTomato.ServerMessage) float64 { - var duration float64 - - switch message.Mode { - case "Work": - duration = float64(message.Settings.Work) - case "ShortBreak": - duration = float64(message.Settings.ShortBreak) - case "LongBreak", "End": - duration = float64(message.Settings.LongBreak) - } - - timeLeft := float64(message.TimeLeft) - return 1.0 - (timeLeft / duration) -} - -// Return terminal output based on the passed ServerMessage -func TerminalOutput(pomodoro GoTomato.ServerMessage) string { - var ( - output string - - modePrefix string - timerOutput string - ) - - // header - output += colour.Sprintf("^D^4Work: %d ◊ Break: %d ◊ Longbreak: %d^R\n\n", - pomodoro.Settings.Work/60, - pomodoro.Settings.ShortBreak/60, - pomodoro.Settings.LongBreak/60, - ) - - //body - switch pomodoro.Mode { - case "Idle": - modePrefix = " " - timerOutput = "" - default: - modePrefix = " " - if pomodoro.Paused { - modePrefix = " " - } - minutes := pomodoro.TimeLeft / 60 - seconds := pomodoro.TimeLeft % 60 - - timerOutput = fmt.Sprintf("⏱ %02d:%02d", minutes, seconds) + "\n" - timerOutput += progressBar.ViewAs(calc_percentage(pomodoro)) - } - - output += fmt.Sprintf("Session: %d/%d\n", - pomodoro.Session, - pomodoro.Settings.Sessions, - ) - output += fmt.Sprintf("%s %s\n", modePrefix, pomodoro.Mode) + "\n" - output += timerOutput - - return output -} diff --git a/cmd/client/helper/notification.go b/cmd/client/notification.go similarity index 93% rename from cmd/client/helper/notification.go rename to cmd/client/notification.go index 956e6a2..7e5dfd6 100644 --- a/cmd/client/helper/notification.go +++ b/cmd/client/notification.go @@ -1,4 +1,4 @@ -package helper +package client import ( "fmt" @@ -8,7 +8,7 @@ import ( ) // Send desktop notifications on the start of each segment -func DesktopNotifications(pomodoro GoTomato.ServerMessage) { +func desktopNotifications(pomodoro GoTomato.ServerMessage) { var ( duration int notification string diff --git a/cmd/client/view.go b/cmd/client/view.go index c7e9eb7..884ea00 100644 --- a/cmd/client/view.go +++ b/cmd/client/view.go @@ -1,22 +1,25 @@ package client import ( + "fmt" "strings" "github.com/alecthomas/colour" - "git.smsvc.net/pomodoro/ChronoTomato/cmd/client/helper" GoTomato "git.smsvc.net/pomodoro/GoTomato/pkg/models" + "github.com/charmbracelet/bubbles/progress" ) +var progressBar = progress.New(progress.WithDefaultGradient(), progress.WithoutPercentage()) + func (a app) View() string { var body string var serverStatus string body = "Waiting for server message..." if a.pomodoro != (GoTomato.ServerMessage{}) { - body = helper.TerminalOutput(a.pomodoro) - helper.DesktopNotifications(a.pomodoro) + body = terminalOutput(a.pomodoro) + desktopNotifications(a.pomodoro) } serverStatus = colour.Sprintf("^D^1disconnected: %v^R\n", client.LastErr) @@ -29,3 +32,62 @@ func (a app) View() string { return body + strings.Repeat("\n", height) + serverStatus + helpView } + +// Return terminal output based on the passed ServerMessage +func terminalOutput(pomodoro GoTomato.ServerMessage) string { + var ( + output string + + modePrefix string + timerOutput string + ) + + // header + output += colour.Sprintf("^D^4Work: %d ◊ Break: %d ◊ Longbreak: %d^R\n\n", + pomodoro.Settings.Work/60, + pomodoro.Settings.ShortBreak/60, + pomodoro.Settings.LongBreak/60, + ) + + //body + switch pomodoro.Mode { + case "Idle": + modePrefix = " " + timerOutput = "" + default: + modePrefix = " " + if pomodoro.Paused { + modePrefix = " " + } + minutes := pomodoro.TimeLeft / 60 + seconds := pomodoro.TimeLeft % 60 + + timerOutput = fmt.Sprintf("⏱ %02d:%02d", minutes, seconds) + "\n" + timerOutput += progressBar.ViewAs(calc_percentage(pomodoro)) + } + + output += fmt.Sprintf("Session: %d/%d\n", + pomodoro.Session, + pomodoro.Settings.Sessions, + ) + output += fmt.Sprintf("%s %s\n", modePrefix, pomodoro.Mode) + "\n" + output += timerOutput + + return output +} + +func calc_percentage(message GoTomato.ServerMessage) float64 { + var duration float64 + + switch message.Mode { + case "Work": + duration = float64(message.Settings.Work) + case "ShortBreak": + duration = float64(message.Settings.ShortBreak) + case "LongBreak", "End": + duration = float64(message.Settings.LongBreak) + } + + timeLeft := float64(message.TimeLeft) + return 1.0 - (timeLeft / duration) +} From d25ce3eead59e93fdbbd46daff863be8a6f855e2 Mon Sep 17 00:00:00 2001 From: Sebastian Mark Date: Wed, 13 Nov 2024 17:16:50 +0100 Subject: [PATCH 18/40] feat: add read timeout for server messages --- internal/websocket/receive.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/internal/websocket/receive.go b/internal/websocket/receive.go index e4638a6..7912de3 100644 --- a/internal/websocket/receive.go +++ b/internal/websocket/receive.go @@ -19,6 +19,7 @@ func (c *Client) ProcessServerMessages(channel chan<- GoTomato.ServerMessage) { defer close(Done) for { + c.Conn.SetReadDeadline(time.Now().Add(10 * time.Second)) _, message, err := c.Conn.ReadMessage() if err != nil { // On normal closure exit gracefully @@ -26,6 +27,7 @@ func (c *Client) ProcessServerMessages(channel chan<- GoTomato.ServerMessage) { return } + c.LastErr = err // Try to reconnect on unexpected disconnect for { channel <- prevMessage // send previous ServerMessage to update view From b7fc646cc0a864f25d520b759c1cf27f1662d4c3 Mon Sep 17 00:00:00 2001 From: Sebastian Mark Date: Wed, 13 Nov 2024 17:17:39 +0100 Subject: [PATCH 19/40] fix: better error display in TUI - always show `client.LasErr` if not `nil` --- cmd/client/view.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmd/client/view.go b/cmd/client/view.go index 884ea00..0e7d9b9 100644 --- a/cmd/client/view.go +++ b/cmd/client/view.go @@ -22,8 +22,8 @@ func (a app) View() string { desktopNotifications(a.pomodoro) } - serverStatus = colour.Sprintf("^D^1disconnected: %v^R\n", client.LastErr) - if client.Connected() { + serverStatus = colour.Sprintf("^D^1%v^R\n", client.LastErr) + if client.Connected() && client.LastErr == nil { serverStatus = colour.Sprintf("^D^2connected to %s^R\n", client.Server) } From 646f460e6a8e18ccfac1f0cf131c6c56ca341c36 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 13 Nov 2024 18:51:02 +0000 Subject: [PATCH 20/40] chore: update module github.com/charmbracelet/bubbletea to v1.2.2 --- go.mod | 8 ++++---- go.sum | 16 ++++++++-------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/go.mod b/go.mod index da5bc03..a17e81c 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ require ( git.smsvc.net/pomodoro/GoTomato v0.3.1 github.com/alecthomas/colour v0.1.0 github.com/charmbracelet/bubbles v0.20.0 - github.com/charmbracelet/bubbletea v1.2.1 + github.com/charmbracelet/bubbletea v1.2.2 github.com/charmbracelet/log v0.4.0 github.com/gen2brain/beeep v0.0.0-20240516210008-9c006672e7f4 github.com/gorilla/websocket v1.5.3 @@ -18,7 +18,7 @@ require ( github.com/charmbracelet/harmonica v0.2.0 // indirect github.com/charmbracelet/lipgloss v1.0.0 // indirect github.com/charmbracelet/x/ansi v0.4.5 // indirect - github.com/charmbracelet/x/term v0.2.0 // indirect + github.com/charmbracelet/x/term v0.2.1 // indirect github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f // indirect github.com/go-logfmt/logfmt v0.6.0 // indirect github.com/go-toast/toast v0.0.0-20190211030409-01e6764cf0a4 // indirect @@ -35,8 +35,8 @@ require ( github.com/rivo/uniseg v0.4.7 // indirect github.com/tadvi/systray v0.0.0-20190226123456-11a2b8fa57af // indirect golang.org/x/exp v0.0.0-20231006140011-7918f672742d // indirect - golang.org/x/sync v0.8.0 // indirect - golang.org/x/sys v0.26.0 // indirect + golang.org/x/sync v0.9.0 // indirect + golang.org/x/sys v0.27.0 // indirect golang.org/x/text v0.3.8 // indirect gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 // indirect ) diff --git a/go.sum b/go.sum index 4f15eb3..f34a319 100644 --- a/go.sum +++ b/go.sum @@ -6,8 +6,8 @@ github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiE github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8= github.com/charmbracelet/bubbles v0.20.0 h1:jSZu6qD8cRQ6k9OMfR1WlM+ruM8fkPWkHvQWD9LIutE= github.com/charmbracelet/bubbles v0.20.0/go.mod h1:39slydyswPy+uVOHZ5x/GjwVAFkCsV8IIVy+4MhzwwU= -github.com/charmbracelet/bubbletea v1.2.1 h1:J041h57zculJKEKf/O2pS4edXGIz+V0YvojvfGXePIk= -github.com/charmbracelet/bubbletea v1.2.1/go.mod h1:viLoDL7hG4njLJSKU2gw7kB3LSEmWsrM80rO1dBJWBI= +github.com/charmbracelet/bubbletea v1.2.2 h1:EMz//Ky/aFS2uLcKqpCst5UOE6z5CFDGRsUpyXz0chs= +github.com/charmbracelet/bubbletea v1.2.2/go.mod h1:Qr6fVQw+wX7JkWWkVyXYk/ZUQ92a6XNekLXa3rR18MM= github.com/charmbracelet/harmonica v0.2.0 h1:8NxJWRWg/bzKqqEaaeFNipOu77YR5t8aSwG4pgaUBiQ= github.com/charmbracelet/harmonica v0.2.0/go.mod h1:KSri/1RMQOZLbw7AHqgcBycp8pgJnQMYYT8QZRqZ1Ao= github.com/charmbracelet/lipgloss v1.0.0 h1:O7VkGDvqEdGi93X+DeqsQ7PKHDgtQfF8j8/O2qFMQNg= @@ -16,8 +16,8 @@ github.com/charmbracelet/log v0.4.0 h1:G9bQAcx8rWA2T3pWvx7YtPTPwgqpk7D68BX21IRW8 github.com/charmbracelet/log v0.4.0/go.mod h1:63bXt/djrizTec0l11H20t8FDSvA4CRZJ1KH22MdptM= github.com/charmbracelet/x/ansi v0.4.5 h1:LqK4vwBNaXw2AyGIICa5/29Sbdq58GbGdFngSexTdRM= github.com/charmbracelet/x/ansi v0.4.5/go.mod h1:dk73KoMTT5AX5BsX0KrqhsTqAnhZZoCBjs7dGWp4Ktw= -github.com/charmbracelet/x/term v0.2.0 h1:cNB9Ot9q8I711MyZ7myUR5HFWL/lc3OpU8jZ4hwm0x0= -github.com/charmbracelet/x/term v0.2.0/go.mod h1:GVxgxAbjUrmpvIINHIQnJJKpMlHiZ4cktEQCN6GWyF0= +github.com/charmbracelet/x/term v0.2.1 h1:AQeHeLZ1OqSXhrAWpYUtZyX1T3zVxfpZuEQMIQaGIAQ= +github.com/charmbracelet/x/term v0.2.1/go.mod h1:oQ4enTYFV7QN4m0i9mzHrViD7TQKvNEEkHUMCmsxdUg= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f h1:Y/CXytFA4m6baUTXGLOoWe4PQhGxaX0KpnayAqC48p4= @@ -64,12 +64,12 @@ github.com/tadvi/systray v0.0.0-20190226123456-11a2b8fa57af h1:6yITBqGTE2lEeTPG0 github.com/tadvi/systray v0.0.0-20190226123456-11a2b8fa57af/go.mod h1:4F09kP5F+am0jAwlQLddpoMDM+iewkxxt6nxUQ5nq5o= golang.org/x/exp v0.0.0-20231006140011-7918f672742d h1:jtJma62tbqLibJ5sFQz8bKtEM8rJBtfilJ2qTU199MI= golang.org/x/exp v0.0.0-20231006140011-7918f672742d/go.mod h1:ldy0pHrwJyGW56pPQzzkH36rKxoZW1tw7ZJpeKx+hdo= -golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= -golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.9.0 h1:fEo0HyrW1GIgZdpbhCRO0PkJajUS5H9IFUztCgEo2jQ= +golang.org/x/sync v0.9.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= -golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.27.0 h1:wBqf8DvsY9Y/2P8gAfPDEYNuS30J4lPHJxXSb/nJZ+s= +golang.org/x/sys v0.27.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.8 h1:nAL+RVCQ9uMn3vJZbV+MRnydTJFPf8qqY42YiA6MrqY= golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= From a121f013714511565830336241b5bceb5a26782b Mon Sep 17 00:00:00 2001 From: Sebastian Mark Date: Mon, 18 Nov 2024 19:24:03 +0100 Subject: [PATCH 21/40] feat: update terminology from "Work" to "Focus" - change "Work" to "Focus" in all occurences - update GoTomato version to v0.4.0 --- README.md | 2 +- cmd/client/notification.go | 4 ++-- cmd/client/view.go | 8 ++++---- go.mod | 2 +- go.sum | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 71b0918..c03c07c 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ The configuration is loaded from `~/config/ChronoTomato.yml`, here is an example url: ws://localhost:8080/ws password: "" config: - work: 1500 + focus: 1500 shortbreak: 300 longbreak: 600 sessions: 4 diff --git a/cmd/client/notification.go b/cmd/client/notification.go index 7e5dfd6..5199c82 100644 --- a/cmd/client/notification.go +++ b/cmd/client/notification.go @@ -19,8 +19,8 @@ func desktopNotifications(pomodoro GoTomato.ServerMessage) { sessions := pomodoro.Settings.Sessions switch mode { - case "Work": - duration = pomodoro.Settings.Work + case "Focus": + duration = pomodoro.Settings.Focus notification = fmt.Sprintf("Session %d/%d: %s %0.f minutes", session, sessions, mode, float32(duration)/60) case "ShortBreak": duration = pomodoro.Settings.ShortBreak diff --git a/cmd/client/view.go b/cmd/client/view.go index 0e7d9b9..e11763c 100644 --- a/cmd/client/view.go +++ b/cmd/client/view.go @@ -43,8 +43,8 @@ func terminalOutput(pomodoro GoTomato.ServerMessage) string { ) // header - output += colour.Sprintf("^D^4Work: %d ◊ Break: %d ◊ Longbreak: %d^R\n\n", - pomodoro.Settings.Work/60, + output += colour.Sprintf("^D^4Focus: %d ◊ Break: %d ◊ Longbreak: %d^R\n\n", + pomodoro.Settings.Focus/60, pomodoro.Settings.ShortBreak/60, pomodoro.Settings.LongBreak/60, ) @@ -80,8 +80,8 @@ func calc_percentage(message GoTomato.ServerMessage) float64 { var duration float64 switch message.Mode { - case "Work": - duration = float64(message.Settings.Work) + case "Focus": + duration = float64(message.Settings.Focus) case "ShortBreak": duration = float64(message.Settings.ShortBreak) case "LongBreak", "End": diff --git a/go.mod b/go.mod index a17e81c..0140442 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module git.smsvc.net/pomodoro/ChronoTomato go 1.23.1 require ( - git.smsvc.net/pomodoro/GoTomato v0.3.1 + git.smsvc.net/pomodoro/GoTomato v0.4.0 github.com/alecthomas/colour v0.1.0 github.com/charmbracelet/bubbles v0.20.0 github.com/charmbracelet/bubbletea v1.2.2 diff --git a/go.sum b/go.sum index f34a319..62a1c67 100644 --- a/go.sum +++ b/go.sum @@ -1,5 +1,5 @@ -git.smsvc.net/pomodoro/GoTomato v0.3.1 h1:0YUOqwluUlnx1PLQiXCxRuNwejcE/IkNOD1SuCObyUA= -git.smsvc.net/pomodoro/GoTomato v0.3.1/go.mod h1:LaKrPdnFB5v4RpltExKasW67TmjJlmhDDvmoEYWv0P4= +git.smsvc.net/pomodoro/GoTomato v0.4.0 h1:IBE0J6linmFWcqzl8hx538RGJ7r7088UZJanoXhmtwQ= +git.smsvc.net/pomodoro/GoTomato v0.4.0/go.mod h1:LaKrPdnFB5v4RpltExKasW67TmjJlmhDDvmoEYWv0P4= github.com/alecthomas/colour v0.1.0 h1:nOE9rJm6dsZ66RGWYSFrXw461ZIt9A6+nHgL7FRrDUk= github.com/alecthomas/colour v0.1.0/go.mod h1:QO9JBoKquHd+jz9nshCh40fOfO+JzsoXy8qTHF68zU0= github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k= From 74ee5f3693865dd4985ea1796fa65fda1062002d Mon Sep 17 00:00:00 2001 From: Sebastian Mark Date: Mon, 18 Nov 2024 19:36:09 +0100 Subject: [PATCH 22/40] feat(Taskfile): add check for clean working tree before release MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - add a precondition to ensure the working tree is clean before releasing 🤖 --- Taskfile.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Taskfile.yml b/Taskfile.yml index 8efbf3a..a6a99d9 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -21,6 +21,8 @@ tasks: preconditions: - sh: test "{{.BRANCH}}" == "main" msg: "You must be on the main branch to release" + - sh: test -z "$(git status --porcelain)" + msg: "You must have a clean working tree to release" prompt: Create new release {{.RELEASE}} from {{.COMMIT}}@{{.BRANCH}}? cmds: - git tag {{.RELEASE}} From 46c3a4c0b186b5f609629cb8bccea646b16abbef Mon Sep 17 00:00:00 2001 From: Sebastian Mark Date: Mon, 18 Nov 2024 19:53:21 +0100 Subject: [PATCH 23/40] fix: remove unused variable prevMessage MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - update logic to send current serverMessage instead of prevMessage - simplify message processing for improved clarity 🤖 --- internal/websocket/receive.go | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/internal/websocket/receive.go b/internal/websocket/receive.go index 7912de3..510ad34 100644 --- a/internal/websocket/receive.go +++ b/internal/websocket/receive.go @@ -14,7 +14,7 @@ var Done = make(chan struct{}) // Receives websocket messages and writes them to a channel. // Closes the channel if websocket closes. func (c *Client) ProcessServerMessages(channel chan<- GoTomato.ServerMessage) { - var serverMessage, prevMessage GoTomato.ServerMessage + var serverMessage GoTomato.ServerMessage defer close(Done) @@ -30,7 +30,7 @@ func (c *Client) ProcessServerMessages(channel chan<- GoTomato.ServerMessage) { c.LastErr = err // Try to reconnect on unexpected disconnect for { - channel <- prevMessage // send previous ServerMessage to update view + channel <- serverMessage // send last known ServerMessage to update view time.Sleep(time.Second) @@ -50,6 +50,5 @@ func (c *Client) ProcessServerMessages(channel chan<- GoTomato.ServerMessage) { c.LastErr = err channel <- serverMessage - prevMessage = serverMessage } } From c4c787a782fc7a83dbee5a19b58a6191c0c051a5 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 20 Nov 2024 02:01:53 +0000 Subject: [PATCH 24/40] chore: update module github.com/charmbracelet/bubbletea to v1.2.3 --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 0140442..25997ea 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ require ( git.smsvc.net/pomodoro/GoTomato v0.4.0 github.com/alecthomas/colour v0.1.0 github.com/charmbracelet/bubbles v0.20.0 - github.com/charmbracelet/bubbletea v1.2.2 + github.com/charmbracelet/bubbletea v1.2.3 github.com/charmbracelet/log v0.4.0 github.com/gen2brain/beeep v0.0.0-20240516210008-9c006672e7f4 github.com/gorilla/websocket v1.5.3 diff --git a/go.sum b/go.sum index 62a1c67..d23cd21 100644 --- a/go.sum +++ b/go.sum @@ -6,8 +6,8 @@ github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiE github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8= github.com/charmbracelet/bubbles v0.20.0 h1:jSZu6qD8cRQ6k9OMfR1WlM+ruM8fkPWkHvQWD9LIutE= github.com/charmbracelet/bubbles v0.20.0/go.mod h1:39slydyswPy+uVOHZ5x/GjwVAFkCsV8IIVy+4MhzwwU= -github.com/charmbracelet/bubbletea v1.2.2 h1:EMz//Ky/aFS2uLcKqpCst5UOE6z5CFDGRsUpyXz0chs= -github.com/charmbracelet/bubbletea v1.2.2/go.mod h1:Qr6fVQw+wX7JkWWkVyXYk/ZUQ92a6XNekLXa3rR18MM= +github.com/charmbracelet/bubbletea v1.2.3 h1:d9MdMsANIYZB5pE1KkRqaUV6GfsiWm+/9z4fTuGVm9I= +github.com/charmbracelet/bubbletea v1.2.3/go.mod h1:Qr6fVQw+wX7JkWWkVyXYk/ZUQ92a6XNekLXa3rR18MM= github.com/charmbracelet/harmonica v0.2.0 h1:8NxJWRWg/bzKqqEaaeFNipOu77YR5t8aSwG4pgaUBiQ= github.com/charmbracelet/harmonica v0.2.0/go.mod h1:KSri/1RMQOZLbw7AHqgcBycp8pgJnQMYYT8QZRqZ1Ao= github.com/charmbracelet/lipgloss v1.0.0 h1:O7VkGDvqEdGi93X+DeqsQ7PKHDgtQfF8j8/O2qFMQNg= From 342ecde6bb4fc04cdc4670a2540947386045adbb Mon Sep 17 00:00:00 2001 From: Sebastian Mark Date: Wed, 20 Nov 2024 09:32:04 +0100 Subject: [PATCH 25/40] refactor: update reconnect code for better understanding --- internal/websocket/connect.go | 3 ++- internal/websocket/receive.go | 19 +++++++------------ 2 files changed, 9 insertions(+), 13 deletions(-) diff --git a/internal/websocket/connect.go b/internal/websocket/connect.go index 1f35b7b..5e063c8 100644 --- a/internal/websocket/connect.go +++ b/internal/websocket/connect.go @@ -1,9 +1,10 @@ package websocket import ( - "github.com/gorilla/websocket" "time" + "github.com/gorilla/websocket" + ChronoTomato "git.smsvc.net/pomodoro/ChronoTomato/pkg/models" ) diff --git a/internal/websocket/receive.go b/internal/websocket/receive.go index 510ad34..6aca107 100644 --- a/internal/websocket/receive.go +++ b/internal/websocket/receive.go @@ -22,27 +22,22 @@ func (c *Client) ProcessServerMessages(channel chan<- GoTomato.ServerMessage) { c.Conn.SetReadDeadline(time.Now().Add(10 * time.Second)) _, message, err := c.Conn.ReadMessage() if err != nil { + c.LastErr = err + // On normal closure exit gracefully if websocket.IsCloseError(err, websocket.CloseNormalClosure) { return } - c.LastErr = err - // Try to reconnect on unexpected disconnect - for { + // reset connection and reconnect + c.Conn = nil + pw := c.Password + for !c.Connected() { channel <- serverMessage // send last known ServerMessage to update view - time.Sleep(time.Second) - - // reconnect while preserving password - pw := c.Password *c = Connect(c.Server) - c.Password = pw - - if c.Connected() { - break - } } + c.Password = pw continue } From 9b7dc199351ec2e67f3a87bae9615c15bdbaa631 Mon Sep 17 00:00:00 2001 From: Sebastian Mark Date: Thu, 21 Nov 2024 12:25:45 +0100 Subject: [PATCH 26/40] feat: introduce `vars.go` for websocket package MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - update comments - move `Done` variable to vars.go - move `Connected()` method 🤖 --- internal/websocket/connect.go | 11 ++++++----- internal/websocket/receive.go | 2 -- internal/websocket/vars.go | 4 ++++ 3 files changed, 10 insertions(+), 7 deletions(-) create mode 100644 internal/websocket/vars.go diff --git a/internal/websocket/connect.go b/internal/websocket/connect.go index 5e063c8..7dd7b57 100644 --- a/internal/websocket/connect.go +++ b/internal/websocket/connect.go @@ -8,7 +8,8 @@ import ( ChronoTomato "git.smsvc.net/pomodoro/ChronoTomato/pkg/models" ) -type Client ChronoTomato.GoTomatoClient // New websocket client +// New websocket client +type Client ChronoTomato.GoTomatoClient // Connects to websocket func Connect(url string) Client { @@ -17,10 +18,6 @@ func Connect(url string) Client { return Client{Conn: conn, Server: url, LastErr: err} } -func (c Client) Connected() bool { - return c.Conn != nil -} - // Disconnects from websocket func (c Client) Disconnect() { // Cleanly close the connection by sending a close message and then @@ -34,3 +31,7 @@ func (c Client) Disconnect() { } return } + +func (c Client) Connected() bool { + return c.Conn != nil +} diff --git a/internal/websocket/receive.go b/internal/websocket/receive.go index 6aca107..bd3e91e 100644 --- a/internal/websocket/receive.go +++ b/internal/websocket/receive.go @@ -9,8 +9,6 @@ import ( GoTomato "git.smsvc.net/pomodoro/GoTomato/pkg/models" ) -var Done = make(chan struct{}) - // Receives websocket messages and writes them to a channel. // Closes the channel if websocket closes. func (c *Client) ProcessServerMessages(channel chan<- GoTomato.ServerMessage) { diff --git a/internal/websocket/vars.go b/internal/websocket/vars.go new file mode 100644 index 0000000..a9896e2 --- /dev/null +++ b/internal/websocket/vars.go @@ -0,0 +1,4 @@ +package websocket + +// Websocket closure +var Done = make(chan struct{}) From 09452b8c9cbf3fe1b96e0e38731d6752a3ab2e1e Mon Sep 17 00:00:00 2001 From: Sebastian Mark Date: Thu, 21 Nov 2024 12:28:56 +0100 Subject: [PATCH 27/40] feat(Taskfile): add task to install latest published version --- Taskfile.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Taskfile.yml b/Taskfile.yml index a6a99d9..b5b59f1 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -34,3 +34,8 @@ tasks: desc: Create a local snapshot release cmds: - goreleaser release --clean --snapshot + + install: + desc: Install the latest published version locally + cmds: + - go install git.smsvc.net/pomodoro/ChronoTomato@latest From ef37747b9d1d590452ee455e7fd605ddbc977c64 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 22 Nov 2024 07:47:32 +0000 Subject: [PATCH 28/40] chore: update module git.smsvc.net/pomodoro/gotomato to v0.5.0 --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 25997ea..7b4f192 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module git.smsvc.net/pomodoro/ChronoTomato go 1.23.1 require ( - git.smsvc.net/pomodoro/GoTomato v0.4.0 + git.smsvc.net/pomodoro/GoTomato v0.5.0 github.com/alecthomas/colour v0.1.0 github.com/charmbracelet/bubbles v0.20.0 github.com/charmbracelet/bubbletea v1.2.3 diff --git a/go.sum b/go.sum index d23cd21..53e444b 100644 --- a/go.sum +++ b/go.sum @@ -1,5 +1,5 @@ -git.smsvc.net/pomodoro/GoTomato v0.4.0 h1:IBE0J6linmFWcqzl8hx538RGJ7r7088UZJanoXhmtwQ= -git.smsvc.net/pomodoro/GoTomato v0.4.0/go.mod h1:LaKrPdnFB5v4RpltExKasW67TmjJlmhDDvmoEYWv0P4= +git.smsvc.net/pomodoro/GoTomato v0.5.0 h1:ni6v5iNnSac/Os3skmGobAwjyXP3uS76N+fhZDubqkU= +git.smsvc.net/pomodoro/GoTomato v0.5.0/go.mod h1:LaKrPdnFB5v4RpltExKasW67TmjJlmhDDvmoEYWv0P4= github.com/alecthomas/colour v0.1.0 h1:nOE9rJm6dsZ66RGWYSFrXw461ZIt9A6+nHgL7FRrDUk= github.com/alecthomas/colour v0.1.0/go.mod h1:QO9JBoKquHd+jz9nshCh40fOfO+JzsoXy8qTHF68zU0= github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k= From aeb4ea66871b249ade1630bdd18eaa5775be35d0 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 26 Nov 2024 02:02:51 +0000 Subject: [PATCH 29/40] chore: update module github.com/charmbracelet/bubbletea to v1.2.4 --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 7b4f192..d78207a 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ require ( git.smsvc.net/pomodoro/GoTomato v0.5.0 github.com/alecthomas/colour v0.1.0 github.com/charmbracelet/bubbles v0.20.0 - github.com/charmbracelet/bubbletea v1.2.3 + github.com/charmbracelet/bubbletea v1.2.4 github.com/charmbracelet/log v0.4.0 github.com/gen2brain/beeep v0.0.0-20240516210008-9c006672e7f4 github.com/gorilla/websocket v1.5.3 diff --git a/go.sum b/go.sum index 53e444b..92b13e2 100644 --- a/go.sum +++ b/go.sum @@ -6,8 +6,8 @@ github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiE github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8= github.com/charmbracelet/bubbles v0.20.0 h1:jSZu6qD8cRQ6k9OMfR1WlM+ruM8fkPWkHvQWD9LIutE= github.com/charmbracelet/bubbles v0.20.0/go.mod h1:39slydyswPy+uVOHZ5x/GjwVAFkCsV8IIVy+4MhzwwU= -github.com/charmbracelet/bubbletea v1.2.3 h1:d9MdMsANIYZB5pE1KkRqaUV6GfsiWm+/9z4fTuGVm9I= -github.com/charmbracelet/bubbletea v1.2.3/go.mod h1:Qr6fVQw+wX7JkWWkVyXYk/ZUQ92a6XNekLXa3rR18MM= +github.com/charmbracelet/bubbletea v1.2.4 h1:KN8aCViA0eps9SCOThb2/XPIlea3ANJLUkv3KnQRNCE= +github.com/charmbracelet/bubbletea v1.2.4/go.mod h1:Qr6fVQw+wX7JkWWkVyXYk/ZUQ92a6XNekLXa3rR18MM= github.com/charmbracelet/harmonica v0.2.0 h1:8NxJWRWg/bzKqqEaaeFNipOu77YR5t8aSwG4pgaUBiQ= github.com/charmbracelet/harmonica v0.2.0/go.mod h1:KSri/1RMQOZLbw7AHqgcBycp8pgJnQMYYT8QZRqZ1Ao= github.com/charmbracelet/lipgloss v1.0.0 h1:O7VkGDvqEdGi93X+DeqsQ7PKHDgtQfF8j8/O2qFMQNg= From 061755a08e1adf46438046c8bead83f7af61d3c5 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 5 Feb 2025 02:01:37 +0000 Subject: [PATCH 30/40] chore: update module github.com/charmbracelet/bubbletea to v1.3.0 --- go.mod | 8 ++++---- go.sum | 16 ++++++++-------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/go.mod b/go.mod index d78207a..585a66a 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ require ( git.smsvc.net/pomodoro/GoTomato v0.5.0 github.com/alecthomas/colour v0.1.0 github.com/charmbracelet/bubbles v0.20.0 - github.com/charmbracelet/bubbletea v1.2.4 + github.com/charmbracelet/bubbletea v1.3.0 github.com/charmbracelet/log v0.4.0 github.com/gen2brain/beeep v0.0.0-20240516210008-9c006672e7f4 github.com/gorilla/websocket v1.5.3 @@ -17,7 +17,7 @@ require ( github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect github.com/charmbracelet/harmonica v0.2.0 // indirect github.com/charmbracelet/lipgloss v1.0.0 // indirect - github.com/charmbracelet/x/ansi v0.4.5 // indirect + github.com/charmbracelet/x/ansi v0.8.0 // indirect github.com/charmbracelet/x/term v0.2.1 // indirect github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f // indirect github.com/go-logfmt/logfmt v0.6.0 // indirect @@ -35,8 +35,8 @@ require ( github.com/rivo/uniseg v0.4.7 // indirect github.com/tadvi/systray v0.0.0-20190226123456-11a2b8fa57af // indirect golang.org/x/exp v0.0.0-20231006140011-7918f672742d // indirect - golang.org/x/sync v0.9.0 // indirect - golang.org/x/sys v0.27.0 // indirect + golang.org/x/sync v0.10.0 // indirect + golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.3.8 // indirect gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 // indirect ) diff --git a/go.sum b/go.sum index 92b13e2..38eb65a 100644 --- a/go.sum +++ b/go.sum @@ -6,16 +6,16 @@ github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiE github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8= github.com/charmbracelet/bubbles v0.20.0 h1:jSZu6qD8cRQ6k9OMfR1WlM+ruM8fkPWkHvQWD9LIutE= github.com/charmbracelet/bubbles v0.20.0/go.mod h1:39slydyswPy+uVOHZ5x/GjwVAFkCsV8IIVy+4MhzwwU= -github.com/charmbracelet/bubbletea v1.2.4 h1:KN8aCViA0eps9SCOThb2/XPIlea3ANJLUkv3KnQRNCE= -github.com/charmbracelet/bubbletea v1.2.4/go.mod h1:Qr6fVQw+wX7JkWWkVyXYk/ZUQ92a6XNekLXa3rR18MM= +github.com/charmbracelet/bubbletea v1.3.0 h1:fPMyirm0u3Fou+flch7hlJN9krlnVURrkUVDwqXjoAc= +github.com/charmbracelet/bubbletea v1.3.0/go.mod h1:eTaHfqbIwvBhFQM/nlT1NsGc4kp8jhF8LfUK67XiTDM= github.com/charmbracelet/harmonica v0.2.0 h1:8NxJWRWg/bzKqqEaaeFNipOu77YR5t8aSwG4pgaUBiQ= github.com/charmbracelet/harmonica v0.2.0/go.mod h1:KSri/1RMQOZLbw7AHqgcBycp8pgJnQMYYT8QZRqZ1Ao= github.com/charmbracelet/lipgloss v1.0.0 h1:O7VkGDvqEdGi93X+DeqsQ7PKHDgtQfF8j8/O2qFMQNg= github.com/charmbracelet/lipgloss v1.0.0/go.mod h1:U5fy9Z+C38obMs+T+tJqst9VGzlOYGj4ri9reL3qUlo= github.com/charmbracelet/log v0.4.0 h1:G9bQAcx8rWA2T3pWvx7YtPTPwgqpk7D68BX21IRW8ZM= github.com/charmbracelet/log v0.4.0/go.mod h1:63bXt/djrizTec0l11H20t8FDSvA4CRZJ1KH22MdptM= -github.com/charmbracelet/x/ansi v0.4.5 h1:LqK4vwBNaXw2AyGIICa5/29Sbdq58GbGdFngSexTdRM= -github.com/charmbracelet/x/ansi v0.4.5/go.mod h1:dk73KoMTT5AX5BsX0KrqhsTqAnhZZoCBjs7dGWp4Ktw= +github.com/charmbracelet/x/ansi v0.8.0 h1:9GTq3xq9caJW8ZrBTe0LIe2fvfLR/bYXKTx2llXn7xE= +github.com/charmbracelet/x/ansi v0.8.0/go.mod h1:wdYl/ONOLHLIVmQaxbIYEC/cRKOQyjTkowiI4blgS9Q= github.com/charmbracelet/x/term v0.2.1 h1:AQeHeLZ1OqSXhrAWpYUtZyX1T3zVxfpZuEQMIQaGIAQ= github.com/charmbracelet/x/term v0.2.1/go.mod h1:oQ4enTYFV7QN4m0i9mzHrViD7TQKvNEEkHUMCmsxdUg= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= @@ -64,12 +64,12 @@ github.com/tadvi/systray v0.0.0-20190226123456-11a2b8fa57af h1:6yITBqGTE2lEeTPG0 github.com/tadvi/systray v0.0.0-20190226123456-11a2b8fa57af/go.mod h1:4F09kP5F+am0jAwlQLddpoMDM+iewkxxt6nxUQ5nq5o= golang.org/x/exp v0.0.0-20231006140011-7918f672742d h1:jtJma62tbqLibJ5sFQz8bKtEM8rJBtfilJ2qTU199MI= golang.org/x/exp v0.0.0-20231006140011-7918f672742d/go.mod h1:ldy0pHrwJyGW56pPQzzkH36rKxoZW1tw7ZJpeKx+hdo= -golang.org/x/sync v0.9.0 h1:fEo0HyrW1GIgZdpbhCRO0PkJajUS5H9IFUztCgEo2jQ= -golang.org/x/sync v0.9.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ= +golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.27.0 h1:wBqf8DvsY9Y/2P8gAfPDEYNuS30J4lPHJxXSb/nJZ+s= -golang.org/x/sys v0.27.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.8 h1:nAL+RVCQ9uMn3vJZbV+MRnydTJFPf8qqY42YiA6MrqY= golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= From 380388956dd33cfabbf5ec0dd0c88ecf4ebce870 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 11 Feb 2025 02:01:31 +0000 Subject: [PATCH 31/40] chore: update module github.com/charmbracelet/bubbletea to v1.3.2 --- go.mod | 6 +++--- go.sum | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/go.mod b/go.mod index 585a66a..6c74da4 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ require ( git.smsvc.net/pomodoro/GoTomato v0.5.0 github.com/alecthomas/colour v0.1.0 github.com/charmbracelet/bubbles v0.20.0 - github.com/charmbracelet/bubbletea v1.3.0 + github.com/charmbracelet/bubbletea v1.3.2 github.com/charmbracelet/log v0.4.0 github.com/gen2brain/beeep v0.0.0-20240516210008-9c006672e7f4 github.com/gorilla/websocket v1.5.3 @@ -35,8 +35,8 @@ require ( github.com/rivo/uniseg v0.4.7 // indirect github.com/tadvi/systray v0.0.0-20190226123456-11a2b8fa57af // indirect golang.org/x/exp v0.0.0-20231006140011-7918f672742d // indirect - golang.org/x/sync v0.10.0 // indirect - golang.org/x/sys v0.29.0 // indirect + golang.org/x/sync v0.11.0 // indirect + golang.org/x/sys v0.30.0 // indirect golang.org/x/text v0.3.8 // indirect gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 // indirect ) diff --git a/go.sum b/go.sum index 38eb65a..4c61c50 100644 --- a/go.sum +++ b/go.sum @@ -6,8 +6,8 @@ github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiE github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8= github.com/charmbracelet/bubbles v0.20.0 h1:jSZu6qD8cRQ6k9OMfR1WlM+ruM8fkPWkHvQWD9LIutE= github.com/charmbracelet/bubbles v0.20.0/go.mod h1:39slydyswPy+uVOHZ5x/GjwVAFkCsV8IIVy+4MhzwwU= -github.com/charmbracelet/bubbletea v1.3.0 h1:fPMyirm0u3Fou+flch7hlJN9krlnVURrkUVDwqXjoAc= -github.com/charmbracelet/bubbletea v1.3.0/go.mod h1:eTaHfqbIwvBhFQM/nlT1NsGc4kp8jhF8LfUK67XiTDM= +github.com/charmbracelet/bubbletea v1.3.2 h1:nc+gDivH0P8ii8CUcf3zCN/PiUz7LKbp3Iz+vYPScNY= +github.com/charmbracelet/bubbletea v1.3.2/go.mod h1:dtcUCyCGEX3g9tosuYiut3MXgY/Jsv9nKVdibKKRRXo= github.com/charmbracelet/harmonica v0.2.0 h1:8NxJWRWg/bzKqqEaaeFNipOu77YR5t8aSwG4pgaUBiQ= github.com/charmbracelet/harmonica v0.2.0/go.mod h1:KSri/1RMQOZLbw7AHqgcBycp8pgJnQMYYT8QZRqZ1Ao= github.com/charmbracelet/lipgloss v1.0.0 h1:O7VkGDvqEdGi93X+DeqsQ7PKHDgtQfF8j8/O2qFMQNg= @@ -64,12 +64,12 @@ github.com/tadvi/systray v0.0.0-20190226123456-11a2b8fa57af h1:6yITBqGTE2lEeTPG0 github.com/tadvi/systray v0.0.0-20190226123456-11a2b8fa57af/go.mod h1:4F09kP5F+am0jAwlQLddpoMDM+iewkxxt6nxUQ5nq5o= golang.org/x/exp v0.0.0-20231006140011-7918f672742d h1:jtJma62tbqLibJ5sFQz8bKtEM8rJBtfilJ2qTU199MI= golang.org/x/exp v0.0.0-20231006140011-7918f672742d/go.mod h1:ldy0pHrwJyGW56pPQzzkH36rKxoZW1tw7ZJpeKx+hdo= -golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ= -golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.11.0 h1:GGz8+XQP4FvTTrjZPzNKTMFtSXH80RAzG+5ghFPgK9w= +golang.org/x/sync v0.11.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= -golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc= +golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.8 h1:nAL+RVCQ9uMn3vJZbV+MRnydTJFPf8qqY42YiA6MrqY= golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= From 2f9d05dd2900a32fbdc9c8279d774960f94aef8a Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 12 Feb 2025 02:01:20 +0000 Subject: [PATCH 32/40] chore: update module github.com/charmbracelet/bubbletea to v1.3.3 --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 6c74da4..bee29fb 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ require ( git.smsvc.net/pomodoro/GoTomato v0.5.0 github.com/alecthomas/colour v0.1.0 github.com/charmbracelet/bubbles v0.20.0 - github.com/charmbracelet/bubbletea v1.3.2 + github.com/charmbracelet/bubbletea v1.3.3 github.com/charmbracelet/log v0.4.0 github.com/gen2brain/beeep v0.0.0-20240516210008-9c006672e7f4 github.com/gorilla/websocket v1.5.3 diff --git a/go.sum b/go.sum index 4c61c50..67e4533 100644 --- a/go.sum +++ b/go.sum @@ -6,8 +6,8 @@ github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiE github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8= github.com/charmbracelet/bubbles v0.20.0 h1:jSZu6qD8cRQ6k9OMfR1WlM+ruM8fkPWkHvQWD9LIutE= github.com/charmbracelet/bubbles v0.20.0/go.mod h1:39slydyswPy+uVOHZ5x/GjwVAFkCsV8IIVy+4MhzwwU= -github.com/charmbracelet/bubbletea v1.3.2 h1:nc+gDivH0P8ii8CUcf3zCN/PiUz7LKbp3Iz+vYPScNY= -github.com/charmbracelet/bubbletea v1.3.2/go.mod h1:dtcUCyCGEX3g9tosuYiut3MXgY/Jsv9nKVdibKKRRXo= +github.com/charmbracelet/bubbletea v1.3.3 h1:WpU6fCY0J2vDWM3zfS3vIDi/ULq3SYphZhkAGGvmEUY= +github.com/charmbracelet/bubbletea v1.3.3/go.mod h1:dtcUCyCGEX3g9tosuYiut3MXgY/Jsv9nKVdibKKRRXo= github.com/charmbracelet/harmonica v0.2.0 h1:8NxJWRWg/bzKqqEaaeFNipOu77YR5t8aSwG4pgaUBiQ= github.com/charmbracelet/harmonica v0.2.0/go.mod h1:KSri/1RMQOZLbw7AHqgcBycp8pgJnQMYYT8QZRqZ1Ao= github.com/charmbracelet/lipgloss v1.0.0 h1:O7VkGDvqEdGi93X+DeqsQ7PKHDgtQfF8j8/O2qFMQNg= From 1856a19b5df6f4a308955a57690b9e4b529da334 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 26 Feb 2025 02:01:50 +0000 Subject: [PATCH 33/40] chore: update module github.com/charmbracelet/bubbletea to v1.3.4 --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index bee29fb..9d82698 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ require ( git.smsvc.net/pomodoro/GoTomato v0.5.0 github.com/alecthomas/colour v0.1.0 github.com/charmbracelet/bubbles v0.20.0 - github.com/charmbracelet/bubbletea v1.3.3 + github.com/charmbracelet/bubbletea v1.3.4 github.com/charmbracelet/log v0.4.0 github.com/gen2brain/beeep v0.0.0-20240516210008-9c006672e7f4 github.com/gorilla/websocket v1.5.3 diff --git a/go.sum b/go.sum index 67e4533..7f86b70 100644 --- a/go.sum +++ b/go.sum @@ -6,8 +6,8 @@ github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiE github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8= github.com/charmbracelet/bubbles v0.20.0 h1:jSZu6qD8cRQ6k9OMfR1WlM+ruM8fkPWkHvQWD9LIutE= github.com/charmbracelet/bubbles v0.20.0/go.mod h1:39slydyswPy+uVOHZ5x/GjwVAFkCsV8IIVy+4MhzwwU= -github.com/charmbracelet/bubbletea v1.3.3 h1:WpU6fCY0J2vDWM3zfS3vIDi/ULq3SYphZhkAGGvmEUY= -github.com/charmbracelet/bubbletea v1.3.3/go.mod h1:dtcUCyCGEX3g9tosuYiut3MXgY/Jsv9nKVdibKKRRXo= +github.com/charmbracelet/bubbletea v1.3.4 h1:kCg7B+jSCFPLYRA52SDZjr51kG/fMUEoPoZrkaDHyoI= +github.com/charmbracelet/bubbletea v1.3.4/go.mod h1:dtcUCyCGEX3g9tosuYiut3MXgY/Jsv9nKVdibKKRRXo= github.com/charmbracelet/harmonica v0.2.0 h1:8NxJWRWg/bzKqqEaaeFNipOu77YR5t8aSwG4pgaUBiQ= github.com/charmbracelet/harmonica v0.2.0/go.mod h1:KSri/1RMQOZLbw7AHqgcBycp8pgJnQMYYT8QZRqZ1Ao= github.com/charmbracelet/lipgloss v1.0.0 h1:O7VkGDvqEdGi93X+DeqsQ7PKHDgtQfF8j8/O2qFMQNg= From d232f980704dbf750ac497f211b6e863bf25ca9a Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 13 Mar 2025 02:01:36 +0000 Subject: [PATCH 34/40] chore: update module github.com/charmbracelet/log to v0.4.1 --- go.mod | 4 ++-- go.sum | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/go.mod b/go.mod index 9d82698..499e9ff 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,7 @@ require ( github.com/alecthomas/colour v0.1.0 github.com/charmbracelet/bubbles v0.20.0 github.com/charmbracelet/bubbletea v1.3.4 - github.com/charmbracelet/log v0.4.0 + github.com/charmbracelet/log v0.4.1 github.com/gen2brain/beeep v0.0.0-20240516210008-9c006672e7f4 github.com/gorilla/websocket v1.5.3 gopkg.in/yaml.v3 v3.0.1 @@ -30,7 +30,7 @@ require ( github.com/mattn/go-runewidth v0.0.16 // indirect github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 // indirect github.com/muesli/cancelreader v0.2.2 // indirect - github.com/muesli/termenv v0.15.2 // indirect + github.com/muesli/termenv v0.16.0 // indirect github.com/nu7hatch/gouuid v0.0.0-20131221200532-179d4d0c4d8d // indirect github.com/rivo/uniseg v0.4.7 // indirect github.com/tadvi/systray v0.0.0-20190226123456-11a2b8fa57af // indirect diff --git a/go.sum b/go.sum index 7f86b70..9b86e8b 100644 --- a/go.sum +++ b/go.sum @@ -12,8 +12,8 @@ github.com/charmbracelet/harmonica v0.2.0 h1:8NxJWRWg/bzKqqEaaeFNipOu77YR5t8aSwG github.com/charmbracelet/harmonica v0.2.0/go.mod h1:KSri/1RMQOZLbw7AHqgcBycp8pgJnQMYYT8QZRqZ1Ao= github.com/charmbracelet/lipgloss v1.0.0 h1:O7VkGDvqEdGi93X+DeqsQ7PKHDgtQfF8j8/O2qFMQNg= github.com/charmbracelet/lipgloss v1.0.0/go.mod h1:U5fy9Z+C38obMs+T+tJqst9VGzlOYGj4ri9reL3qUlo= -github.com/charmbracelet/log v0.4.0 h1:G9bQAcx8rWA2T3pWvx7YtPTPwgqpk7D68BX21IRW8ZM= -github.com/charmbracelet/log v0.4.0/go.mod h1:63bXt/djrizTec0l11H20t8FDSvA4CRZJ1KH22MdptM= +github.com/charmbracelet/log v0.4.1 h1:6AYnoHKADkghm/vt4neaNEXkxcXLSV2g1rdyFDOpTyk= +github.com/charmbracelet/log v0.4.1/go.mod h1:pXgyTsqsVu4N9hGdHmQ0xEA4RsXof402LX9ZgiITn2I= github.com/charmbracelet/x/ansi v0.8.0 h1:9GTq3xq9caJW8ZrBTe0LIe2fvfLR/bYXKTx2llXn7xE= github.com/charmbracelet/x/ansi v0.8.0/go.mod h1:wdYl/ONOLHLIVmQaxbIYEC/cRKOQyjTkowiI4blgS9Q= github.com/charmbracelet/x/term v0.2.1 h1:AQeHeLZ1OqSXhrAWpYUtZyX1T3zVxfpZuEQMIQaGIAQ= @@ -49,8 +49,8 @@ github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 h1:ZK8zHtRHOkbHy6Mmr5D github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6/go.mod h1:CJlz5H+gyd6CUWT45Oy4q24RdLyn7Md9Vj2/ldJBSIo= github.com/muesli/cancelreader v0.2.2 h1:3I4Kt4BQjOR54NavqnDogx/MIoWBFa0StPA8ELUXHmA= github.com/muesli/cancelreader v0.2.2/go.mod h1:3XuTXfFS2VjM+HTLZY9Ak0l6eUKfijIfMUZ4EgX0QYo= -github.com/muesli/termenv v0.15.2 h1:GohcuySI0QmI3wN8Ok9PtKGkgkFIk7y6Vpb5PvrY+Wo= -github.com/muesli/termenv v0.15.2/go.mod h1:Epx+iuz8sNs7mNKhxzH4fWXGNpZwUaJKRS1noLXviQ8= +github.com/muesli/termenv v0.16.0 h1:S5AlUN9dENB57rsbnkPyfdGuWIlkmzJjbFf0Tf5FWUc= +github.com/muesli/termenv v0.16.0/go.mod h1:ZRfOIKPFDYQoDFF4Olj7/QJbW60Ol/kL1pU3VfY/Cnk= github.com/nu7hatch/gouuid v0.0.0-20131221200532-179d4d0c4d8d h1:VhgPp6v9qf9Agr/56bj7Y/xa04UccTW04VP0Qed4vnQ= github.com/nu7hatch/gouuid v0.0.0-20131221200532-179d4d0c4d8d/go.mod h1:YUTz3bUH2ZwIWBy3CJBeOBEugqcmXREj14T+iG/4k4U= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= @@ -58,8 +58,8 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ= github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= -github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= -github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= +github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/tadvi/systray v0.0.0-20190226123456-11a2b8fa57af h1:6yITBqGTE2lEeTPG04SN9W+iWHCRyHqlVYILiSXziwk= github.com/tadvi/systray v0.0.0-20190226123456-11a2b8fa57af/go.mod h1:4F09kP5F+am0jAwlQLddpoMDM+iewkxxt6nxUQ5nq5o= golang.org/x/exp v0.0.0-20231006140011-7918f672742d h1:jtJma62tbqLibJ5sFQz8bKtEM8rJBtfilJ2qTU199MI= From 473bc1b33456e226f12224853879af8cf25d4f8b Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 10 Apr 2025 02:01:33 +0000 Subject: [PATCH 35/40] chore: update module github.com/charmbracelet/bubbles to v0.21.0 --- go.mod | 7 +++++-- go.sum | 18 ++++++++++++++---- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index 499e9ff..f4d081d 100644 --- a/go.mod +++ b/go.mod @@ -5,7 +5,7 @@ go 1.23.1 require ( git.smsvc.net/pomodoro/GoTomato v0.5.0 github.com/alecthomas/colour v0.1.0 - github.com/charmbracelet/bubbles v0.20.0 + github.com/charmbracelet/bubbles v0.21.0 github.com/charmbracelet/bubbletea v1.3.4 github.com/charmbracelet/log v0.4.1 github.com/gen2brain/beeep v0.0.0-20240516210008-9c006672e7f4 @@ -15,9 +15,11 @@ require ( require ( github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect + github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc // indirect github.com/charmbracelet/harmonica v0.2.0 // indirect - github.com/charmbracelet/lipgloss v1.0.0 // indirect + github.com/charmbracelet/lipgloss v1.1.0 // indirect github.com/charmbracelet/x/ansi v0.8.0 // indirect + github.com/charmbracelet/x/cellbuf v0.0.13-0.20250311204145-2c3ea96c31dd // indirect github.com/charmbracelet/x/term v0.2.1 // indirect github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f // indirect github.com/go-logfmt/logfmt v0.6.0 // indirect @@ -34,6 +36,7 @@ require ( github.com/nu7hatch/gouuid v0.0.0-20131221200532-179d4d0c4d8d // indirect github.com/rivo/uniseg v0.4.7 // indirect github.com/tadvi/systray v0.0.0-20190226123456-11a2b8fa57af // indirect + github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect golang.org/x/exp v0.0.0-20231006140011-7918f672742d // indirect golang.org/x/sync v0.11.0 // indirect golang.org/x/sys v0.30.0 // indirect diff --git a/go.sum b/go.sum index 9b86e8b..fbf8e6e 100644 --- a/go.sum +++ b/go.sum @@ -4,18 +4,26 @@ github.com/alecthomas/colour v0.1.0 h1:nOE9rJm6dsZ66RGWYSFrXw461ZIt9A6+nHgL7FRrD github.com/alecthomas/colour v0.1.0/go.mod h1:QO9JBoKquHd+jz9nshCh40fOfO+JzsoXy8qTHF68zU0= github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k= github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8= -github.com/charmbracelet/bubbles v0.20.0 h1:jSZu6qD8cRQ6k9OMfR1WlM+ruM8fkPWkHvQWD9LIutE= -github.com/charmbracelet/bubbles v0.20.0/go.mod h1:39slydyswPy+uVOHZ5x/GjwVAFkCsV8IIVy+4MhzwwU= +github.com/aymanbagabas/go-udiff v0.2.0 h1:TK0fH4MteXUDspT88n8CKzvK0X9O2xu9yQjWpi6yML8= +github.com/aymanbagabas/go-udiff v0.2.0/go.mod h1:RE4Ex0qsGkTAJoQdQQCA0uG+nAzJO/pI/QwceO5fgrA= +github.com/charmbracelet/bubbles v0.21.0 h1:9TdC97SdRVg/1aaXNVWfFH3nnLAwOXr8Fn6u6mfQdFs= +github.com/charmbracelet/bubbles v0.21.0/go.mod h1:HF+v6QUR4HkEpz62dx7ym2xc71/KBHg+zKwJtMw+qtg= github.com/charmbracelet/bubbletea v1.3.4 h1:kCg7B+jSCFPLYRA52SDZjr51kG/fMUEoPoZrkaDHyoI= github.com/charmbracelet/bubbletea v1.3.4/go.mod h1:dtcUCyCGEX3g9tosuYiut3MXgY/Jsv9nKVdibKKRRXo= +github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc h1:4pZI35227imm7yK2bGPcfpFEmuY1gc2YSTShr4iJBfs= +github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc/go.mod h1:X4/0JoqgTIPSFcRA/P6INZzIuyqdFY5rm8tb41s9okk= github.com/charmbracelet/harmonica v0.2.0 h1:8NxJWRWg/bzKqqEaaeFNipOu77YR5t8aSwG4pgaUBiQ= github.com/charmbracelet/harmonica v0.2.0/go.mod h1:KSri/1RMQOZLbw7AHqgcBycp8pgJnQMYYT8QZRqZ1Ao= -github.com/charmbracelet/lipgloss v1.0.0 h1:O7VkGDvqEdGi93X+DeqsQ7PKHDgtQfF8j8/O2qFMQNg= -github.com/charmbracelet/lipgloss v1.0.0/go.mod h1:U5fy9Z+C38obMs+T+tJqst9VGzlOYGj4ri9reL3qUlo= +github.com/charmbracelet/lipgloss v1.1.0 h1:vYXsiLHVkK7fp74RkV7b2kq9+zDLoEU4MZoFqR/noCY= +github.com/charmbracelet/lipgloss v1.1.0/go.mod h1:/6Q8FR2o+kj8rz4Dq0zQc3vYf7X+B0binUUBwA0aL30= github.com/charmbracelet/log v0.4.1 h1:6AYnoHKADkghm/vt4neaNEXkxcXLSV2g1rdyFDOpTyk= github.com/charmbracelet/log v0.4.1/go.mod h1:pXgyTsqsVu4N9hGdHmQ0xEA4RsXof402LX9ZgiITn2I= github.com/charmbracelet/x/ansi v0.8.0 h1:9GTq3xq9caJW8ZrBTe0LIe2fvfLR/bYXKTx2llXn7xE= github.com/charmbracelet/x/ansi v0.8.0/go.mod h1:wdYl/ONOLHLIVmQaxbIYEC/cRKOQyjTkowiI4blgS9Q= +github.com/charmbracelet/x/cellbuf v0.0.13-0.20250311204145-2c3ea96c31dd h1:vy0GVL4jeHEwG5YOXDmi86oYw2yuYUGqz6a8sLwg0X8= +github.com/charmbracelet/x/cellbuf v0.0.13-0.20250311204145-2c3ea96c31dd/go.mod h1:xe0nKWGd3eJgtqZRaN9RjMtK7xUYchjzPr7q6kcvCCs= +github.com/charmbracelet/x/exp/golden v0.0.0-20241011142426-46044092ad91 h1:payRxjMjKgx2PaCWLZ4p3ro9y97+TVLZNaRZgJwSVDQ= +github.com/charmbracelet/x/exp/golden v0.0.0-20241011142426-46044092ad91/go.mod h1:wDlXFlCrmJ8J+swcL/MnGUuYnqgQdW9rhSD61oNMb6U= github.com/charmbracelet/x/term v0.2.1 h1:AQeHeLZ1OqSXhrAWpYUtZyX1T3zVxfpZuEQMIQaGIAQ= github.com/charmbracelet/x/term v0.2.1/go.mod h1:oQ4enTYFV7QN4m0i9mzHrViD7TQKvNEEkHUMCmsxdUg= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= @@ -62,6 +70,8 @@ github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOf github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/tadvi/systray v0.0.0-20190226123456-11a2b8fa57af h1:6yITBqGTE2lEeTPG04SN9W+iWHCRyHqlVYILiSXziwk= github.com/tadvi/systray v0.0.0-20190226123456-11a2b8fa57af/go.mod h1:4F09kP5F+am0jAwlQLddpoMDM+iewkxxt6nxUQ5nq5o= +github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e h1:JVG44RsyaB9T2KIHavMF/ppJZNG9ZpyihvCd0w101no= +github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e/go.mod h1:RbqR21r5mrJuqunuUZ/Dhy/avygyECGrLceyNeo4LiM= golang.org/x/exp v0.0.0-20231006140011-7918f672742d h1:jtJma62tbqLibJ5sFQz8bKtEM8rJBtfilJ2qTU199MI= golang.org/x/exp v0.0.0-20231006140011-7918f672742d/go.mod h1:ldy0pHrwJyGW56pPQzzkH36rKxoZW1tw7ZJpeKx+hdo= golang.org/x/sync v0.11.0 h1:GGz8+XQP4FvTTrjZPzNKTMFtSXH80RAzG+5ghFPgK9w= From 9d03a5632fb74d1af779d9d5b479eab8d488a656 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 30 Apr 2025 02:01:42 +0000 Subject: [PATCH 36/40] chore: update module github.com/charmbracelet/bubbletea to v1.3.5 --- go.mod | 6 +++--- go.sum | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/go.mod b/go.mod index f4d081d..576d5b2 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ require ( git.smsvc.net/pomodoro/GoTomato v0.5.0 github.com/alecthomas/colour v0.1.0 github.com/charmbracelet/bubbles v0.21.0 - github.com/charmbracelet/bubbletea v1.3.4 + github.com/charmbracelet/bubbletea v1.3.5 github.com/charmbracelet/log v0.4.1 github.com/gen2brain/beeep v0.0.0-20240516210008-9c006672e7f4 github.com/gorilla/websocket v1.5.3 @@ -38,8 +38,8 @@ require ( github.com/tadvi/systray v0.0.0-20190226123456-11a2b8fa57af // indirect github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect golang.org/x/exp v0.0.0-20231006140011-7918f672742d // indirect - golang.org/x/sync v0.11.0 // indirect - golang.org/x/sys v0.30.0 // indirect + golang.org/x/sync v0.13.0 // indirect + golang.org/x/sys v0.32.0 // indirect golang.org/x/text v0.3.8 // indirect gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 // indirect ) diff --git a/go.sum b/go.sum index fbf8e6e..86dd059 100644 --- a/go.sum +++ b/go.sum @@ -8,8 +8,8 @@ github.com/aymanbagabas/go-udiff v0.2.0 h1:TK0fH4MteXUDspT88n8CKzvK0X9O2xu9yQjWp github.com/aymanbagabas/go-udiff v0.2.0/go.mod h1:RE4Ex0qsGkTAJoQdQQCA0uG+nAzJO/pI/QwceO5fgrA= github.com/charmbracelet/bubbles v0.21.0 h1:9TdC97SdRVg/1aaXNVWfFH3nnLAwOXr8Fn6u6mfQdFs= github.com/charmbracelet/bubbles v0.21.0/go.mod h1:HF+v6QUR4HkEpz62dx7ym2xc71/KBHg+zKwJtMw+qtg= -github.com/charmbracelet/bubbletea v1.3.4 h1:kCg7B+jSCFPLYRA52SDZjr51kG/fMUEoPoZrkaDHyoI= -github.com/charmbracelet/bubbletea v1.3.4/go.mod h1:dtcUCyCGEX3g9tosuYiut3MXgY/Jsv9nKVdibKKRRXo= +github.com/charmbracelet/bubbletea v1.3.5 h1:JAMNLTbqMOhSwoELIr0qyP4VidFq72/6E9j7HHmRKQc= +github.com/charmbracelet/bubbletea v1.3.5/go.mod h1:TkCnmH+aBd4LrXhXcqrKiYwRs7qyQx5rBgH5fVY3v54= github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc h1:4pZI35227imm7yK2bGPcfpFEmuY1gc2YSTShr4iJBfs= github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc/go.mod h1:X4/0JoqgTIPSFcRA/P6INZzIuyqdFY5rm8tb41s9okk= github.com/charmbracelet/harmonica v0.2.0 h1:8NxJWRWg/bzKqqEaaeFNipOu77YR5t8aSwG4pgaUBiQ= @@ -74,12 +74,12 @@ github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e h1:JVG44RsyaB9T2KIHavM github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e/go.mod h1:RbqR21r5mrJuqunuUZ/Dhy/avygyECGrLceyNeo4LiM= golang.org/x/exp v0.0.0-20231006140011-7918f672742d h1:jtJma62tbqLibJ5sFQz8bKtEM8rJBtfilJ2qTU199MI= golang.org/x/exp v0.0.0-20231006140011-7918f672742d/go.mod h1:ldy0pHrwJyGW56pPQzzkH36rKxoZW1tw7ZJpeKx+hdo= -golang.org/x/sync v0.11.0 h1:GGz8+XQP4FvTTrjZPzNKTMFtSXH80RAzG+5ghFPgK9w= -golang.org/x/sync v0.11.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.13.0 h1:AauUjRAJ9OSnvULf/ARrrVywoJDy0YS2AwQ98I37610= +golang.org/x/sync v0.13.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc= -golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20= +golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/text v0.3.8 h1:nAL+RVCQ9uMn3vJZbV+MRnydTJFPf8qqY42YiA6MrqY= golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= From 00466d7abc0e418ce5436c2f1df0c0be250e6813 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 13 May 2025 02:01:28 +0000 Subject: [PATCH 37/40] chore: update module github.com/charmbracelet/log to v0.4.2 --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 576d5b2..aca1160 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,7 @@ require ( github.com/alecthomas/colour v0.1.0 github.com/charmbracelet/bubbles v0.21.0 github.com/charmbracelet/bubbletea v1.3.5 - github.com/charmbracelet/log v0.4.1 + github.com/charmbracelet/log v0.4.2 github.com/gen2brain/beeep v0.0.0-20240516210008-9c006672e7f4 github.com/gorilla/websocket v1.5.3 gopkg.in/yaml.v3 v3.0.1 diff --git a/go.sum b/go.sum index 86dd059..a85a47e 100644 --- a/go.sum +++ b/go.sum @@ -16,8 +16,8 @@ github.com/charmbracelet/harmonica v0.2.0 h1:8NxJWRWg/bzKqqEaaeFNipOu77YR5t8aSwG github.com/charmbracelet/harmonica v0.2.0/go.mod h1:KSri/1RMQOZLbw7AHqgcBycp8pgJnQMYYT8QZRqZ1Ao= github.com/charmbracelet/lipgloss v1.1.0 h1:vYXsiLHVkK7fp74RkV7b2kq9+zDLoEU4MZoFqR/noCY= github.com/charmbracelet/lipgloss v1.1.0/go.mod h1:/6Q8FR2o+kj8rz4Dq0zQc3vYf7X+B0binUUBwA0aL30= -github.com/charmbracelet/log v0.4.1 h1:6AYnoHKADkghm/vt4neaNEXkxcXLSV2g1rdyFDOpTyk= -github.com/charmbracelet/log v0.4.1/go.mod h1:pXgyTsqsVu4N9hGdHmQ0xEA4RsXof402LX9ZgiITn2I= +github.com/charmbracelet/log v0.4.2 h1:hYt8Qj6a8yLnvR+h7MwsJv/XvmBJXiueUcI3cIxsyig= +github.com/charmbracelet/log v0.4.2/go.mod h1:qifHGX/tc7eluv2R6pWIpyHDDrrb/AG71Pf2ysQu5nw= github.com/charmbracelet/x/ansi v0.8.0 h1:9GTq3xq9caJW8ZrBTe0LIe2fvfLR/bYXKTx2llXn7xE= github.com/charmbracelet/x/ansi v0.8.0/go.mod h1:wdYl/ONOLHLIVmQaxbIYEC/cRKOQyjTkowiI4blgS9Q= github.com/charmbracelet/x/cellbuf v0.0.13-0.20250311204145-2c3ea96c31dd h1:vy0GVL4jeHEwG5YOXDmi86oYw2yuYUGqz6a8sLwg0X8= From 0c9f23ea9cd98baeb0a881bc52c18eeceef487b8 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 12 Jun 2025 02:01:41 +0000 Subject: [PATCH 38/40] chore: update module github.com/gen2brain/beeep to v0.10.0 --- go.mod | 9 ++++++--- go.sum | 27 +++++++++++++++++++++------ 2 files changed, 27 insertions(+), 9 deletions(-) diff --git a/go.mod b/go.mod index aca1160..62aa57a 100644 --- a/go.mod +++ b/go.mod @@ -8,12 +8,13 @@ require ( github.com/charmbracelet/bubbles v0.21.0 github.com/charmbracelet/bubbletea v1.3.5 github.com/charmbracelet/log v0.4.2 - github.com/gen2brain/beeep v0.0.0-20240516210008-9c006672e7f4 + github.com/gen2brain/beeep v0.10.0 github.com/gorilla/websocket v1.5.3 gopkg.in/yaml.v3 v3.0.1 ) require ( + git.sr.ht/~jackmordaunt/go-toast v1.1.2 // indirect github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc // indirect github.com/charmbracelet/harmonica v0.2.0 // indirect @@ -22,8 +23,9 @@ require ( github.com/charmbracelet/x/cellbuf v0.0.13-0.20250311204145-2c3ea96c31dd // indirect github.com/charmbracelet/x/term v0.2.1 // indirect github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f // indirect + github.com/esiqveland/notify v0.13.3 // indirect github.com/go-logfmt/logfmt v0.6.0 // indirect - github.com/go-toast/toast v0.0.0-20190211030409-01e6764cf0a4 // indirect + github.com/go-ole/go-ole v1.3.0 // indirect github.com/godbus/dbus/v5 v5.1.0 // indirect github.com/kr/pretty v0.1.0 // indirect github.com/lucasb-eyer/go-colorful v1.2.0 // indirect @@ -33,8 +35,9 @@ require ( github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 // indirect github.com/muesli/cancelreader v0.2.2 // indirect github.com/muesli/termenv v0.16.0 // indirect - github.com/nu7hatch/gouuid v0.0.0-20131221200532-179d4d0c4d8d // indirect github.com/rivo/uniseg v0.4.7 // indirect + github.com/sergeymakinen/go-bmp v1.0.0 // indirect + github.com/sergeymakinen/go-ico v1.0.0-beta.0 // indirect github.com/tadvi/systray v0.0.0-20190226123456-11a2b8fa57af // indirect github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect golang.org/x/exp v0.0.0-20231006140011-7918f672742d // indirect diff --git a/go.sum b/go.sum index a85a47e..5556ad2 100644 --- a/go.sum +++ b/go.sum @@ -1,5 +1,7 @@ git.smsvc.net/pomodoro/GoTomato v0.5.0 h1:ni6v5iNnSac/Os3skmGobAwjyXP3uS76N+fhZDubqkU= git.smsvc.net/pomodoro/GoTomato v0.5.0/go.mod h1:LaKrPdnFB5v4RpltExKasW67TmjJlmhDDvmoEYWv0P4= +git.sr.ht/~jackmordaunt/go-toast v1.1.2 h1:/yrfI55LRt1M7H1vkaw+NaH1+L1CDxrqDltwm5euVuE= +git.sr.ht/~jackmordaunt/go-toast v1.1.2/go.mod h1:jA4OqHKTQ4AFBdwrSnwnskUIIS3HYzlJSgdzCKqfavo= github.com/alecthomas/colour v0.1.0 h1:nOE9rJm6dsZ66RGWYSFrXw461ZIt9A6+nHgL7FRrDUk= github.com/alecthomas/colour v0.1.0/go.mod h1:QO9JBoKquHd+jz9nshCh40fOfO+JzsoXy8qTHF68zU0= github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k= @@ -26,16 +28,19 @@ github.com/charmbracelet/x/exp/golden v0.0.0-20241011142426-46044092ad91 h1:payR github.com/charmbracelet/x/exp/golden v0.0.0-20241011142426-46044092ad91/go.mod h1:wDlXFlCrmJ8J+swcL/MnGUuYnqgQdW9rhSD61oNMb6U= github.com/charmbracelet/x/term v0.2.1 h1:AQeHeLZ1OqSXhrAWpYUtZyX1T3zVxfpZuEQMIQaGIAQ= github.com/charmbracelet/x/term v0.2.1/go.mod h1:oQ4enTYFV7QN4m0i9mzHrViD7TQKvNEEkHUMCmsxdUg= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f h1:Y/CXytFA4m6baUTXGLOoWe4PQhGxaX0KpnayAqC48p4= github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f/go.mod h1:vw97MGsxSvLiUE2X8qFplwetxpGLQrlU1Q9AUEIzCaM= -github.com/gen2brain/beeep v0.0.0-20240516210008-9c006672e7f4 h1:ygs9POGDQpQGLJPlq4+0LBUmMBNox1N4JSpw+OETcvI= -github.com/gen2brain/beeep v0.0.0-20240516210008-9c006672e7f4/go.mod h1:0W7dI87PvXJ1Sjs0QPvWXKcQmNERY77e8l7GFhZB/s4= +github.com/esiqveland/notify v0.13.3 h1:QCMw6o1n+6rl+oLUfg8P1IIDSFsDEb2WlXvVvIJbI/o= +github.com/esiqveland/notify v0.13.3/go.mod h1:hesw/IRYTO0x99u1JPweAl4+5mwXJibQVUcP0Iu5ORE= +github.com/gen2brain/beeep v0.10.0 h1:sR/rgmJjHVOVABgpbuICvw7SVtI13RRNnQPv+wiaoMg= +github.com/gen2brain/beeep v0.10.0/go.mod h1:UzRwrHPeN99aobEPCjiuBossVv32YViFiytGwaA1EO0= github.com/go-logfmt/logfmt v0.6.0 h1:wGYYu3uicYdqXVgoYbvnkrPVXkuLM1p1ifugDMEdRi4= github.com/go-logfmt/logfmt v0.6.0/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= -github.com/go-toast/toast v0.0.0-20190211030409-01e6764cf0a4 h1:qZNfIGkIANxGv/OqtnntR4DfOY2+BgwR60cAcu/i3SE= -github.com/go-toast/toast v0.0.0-20190211030409-01e6764cf0a4/go.mod h1:kW3HQ4UdaAyrUCSSDR4xUzBKW6O2iA4uHhk7AtyYp10= +github.com/go-ole/go-ole v1.3.0 h1:Dt6ye7+vXGIKZ7Xtk4s6/xVdGDQynvom7xCFEdWr6uE= +github.com/go-ole/go-ole v1.3.0/go.mod h1:5LS6F96DhAwUc7C+1HLexzMXY1xGRSryjyPPKW6zv78= github.com/godbus/dbus/v5 v5.1.0 h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk= github.com/godbus/dbus/v5 v5.1.0/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gorilla/websocket v1.5.3 h1:saDtZ6Pbx/0u+bgYQ3q96pZgCzfhKXGPqt7kZ72aNNg= @@ -59,13 +64,21 @@ github.com/muesli/cancelreader v0.2.2 h1:3I4Kt4BQjOR54NavqnDogx/MIoWBFa0StPA8ELU github.com/muesli/cancelreader v0.2.2/go.mod h1:3XuTXfFS2VjM+HTLZY9Ak0l6eUKfijIfMUZ4EgX0QYo= github.com/muesli/termenv v0.16.0 h1:S5AlUN9dENB57rsbnkPyfdGuWIlkmzJjbFf0Tf5FWUc= github.com/muesli/termenv v0.16.0/go.mod h1:ZRfOIKPFDYQoDFF4Olj7/QJbW60Ol/kL1pU3VfY/Cnk= -github.com/nu7hatch/gouuid v0.0.0-20131221200532-179d4d0c4d8d h1:VhgPp6v9qf9Agr/56bj7Y/xa04UccTW04VP0Qed4vnQ= -github.com/nu7hatch/gouuid v0.0.0-20131221200532-179d4d0c4d8d/go.mod h1:YUTz3bUH2ZwIWBy3CJBeOBEugqcmXREj14T+iG/4k4U= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ= github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= +github.com/sergeymakinen/go-bmp v1.0.0 h1:SdGTzp9WvCV0A1V0mBeaS7kQAwNLdVJbmHlqNWq0R+M= +github.com/sergeymakinen/go-bmp v1.0.0/go.mod h1:/mxlAQZRLxSvJFNIEGGLBE/m40f3ZnUifpgVDlcUIEY= +github.com/sergeymakinen/go-ico v1.0.0-beta.0 h1:m5qKH7uPKLdrygMWxbamVn+tl2HfiA3K6MFJw4GfZvQ= +github.com/sergeymakinen/go-ico v1.0.0-beta.0/go.mod h1:wQ47mTczswBO5F0NoDt7O0IXgnV4Xy3ojrroMQzyhUk= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= +github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/tadvi/systray v0.0.0-20190226123456-11a2b8fa57af h1:6yITBqGTE2lEeTPG04SN9W+iWHCRyHqlVYILiSXziwk= @@ -77,6 +90,7 @@ golang.org/x/exp v0.0.0-20231006140011-7918f672742d/go.mod h1:ldy0pHrwJyGW56pPQz golang.org/x/sync v0.13.0 h1:AauUjRAJ9OSnvULf/ARrrVywoJDy0YS2AwQ98I37610= golang.org/x/sync v0.13.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20= golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= @@ -85,5 +99,6 @@ golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= From 6e7ba5824b069df307f479c7908f3ef483e47d7f Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 13 Jun 2025 02:01:27 +0000 Subject: [PATCH 39/40] chore: update module github.com/gen2brain/beeep to v0.11.0 --- go.mod | 4 +++- go.sum | 8 ++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 62aa57a..c0766c8 100644 --- a/go.mod +++ b/go.mod @@ -8,7 +8,7 @@ require ( github.com/charmbracelet/bubbles v0.21.0 github.com/charmbracelet/bubbletea v1.3.5 github.com/charmbracelet/log v0.4.2 - github.com/gen2brain/beeep v0.10.0 + github.com/gen2brain/beeep v0.11.0 github.com/gorilla/websocket v1.5.3 gopkg.in/yaml.v3 v3.0.1 ) @@ -27,6 +27,7 @@ require ( github.com/go-logfmt/logfmt v0.6.0 // indirect github.com/go-ole/go-ole v1.3.0 // indirect github.com/godbus/dbus/v5 v5.1.0 // indirect + github.com/jackmordaunt/icns/v3 v3.0.1 // indirect github.com/kr/pretty v0.1.0 // indirect github.com/lucasb-eyer/go-colorful v1.2.0 // indirect github.com/mattn/go-isatty v0.0.20 // indirect @@ -35,6 +36,7 @@ require ( github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 // indirect github.com/muesli/cancelreader v0.2.2 // indirect github.com/muesli/termenv v0.16.0 // indirect + github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646 // indirect github.com/rivo/uniseg v0.4.7 // indirect github.com/sergeymakinen/go-bmp v1.0.0 // indirect github.com/sergeymakinen/go-ico v1.0.0-beta.0 // indirect diff --git a/go.sum b/go.sum index 5556ad2..883df3f 100644 --- a/go.sum +++ b/go.sum @@ -35,8 +35,8 @@ github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f h1:Y/CXytFA4m6 github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f/go.mod h1:vw97MGsxSvLiUE2X8qFplwetxpGLQrlU1Q9AUEIzCaM= github.com/esiqveland/notify v0.13.3 h1:QCMw6o1n+6rl+oLUfg8P1IIDSFsDEb2WlXvVvIJbI/o= github.com/esiqveland/notify v0.13.3/go.mod h1:hesw/IRYTO0x99u1JPweAl4+5mwXJibQVUcP0Iu5ORE= -github.com/gen2brain/beeep v0.10.0 h1:sR/rgmJjHVOVABgpbuICvw7SVtI13RRNnQPv+wiaoMg= -github.com/gen2brain/beeep v0.10.0/go.mod h1:UzRwrHPeN99aobEPCjiuBossVv32YViFiytGwaA1EO0= +github.com/gen2brain/beeep v0.11.0 h1:ScADjlllAwqUIdEgosHXRmS0OEBTDtfGvIuLj2G/mlU= +github.com/gen2brain/beeep v0.11.0/go.mod h1:jQVvuwnLuwOcdctHn/uyh8horSBNJ8uGb9Cn2W4tvoc= github.com/go-logfmt/logfmt v0.6.0 h1:wGYYu3uicYdqXVgoYbvnkrPVXkuLM1p1ifugDMEdRi4= github.com/go-logfmt/logfmt v0.6.0/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= github.com/go-ole/go-ole v1.3.0 h1:Dt6ye7+vXGIKZ7Xtk4s6/xVdGDQynvom7xCFEdWr6uE= @@ -45,6 +45,8 @@ github.com/godbus/dbus/v5 v5.1.0 h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk= github.com/godbus/dbus/v5 v5.1.0/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gorilla/websocket v1.5.3 h1:saDtZ6Pbx/0u+bgYQ3q96pZgCzfhKXGPqt7kZ72aNNg= github.com/gorilla/websocket v1.5.3/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/jackmordaunt/icns/v3 v3.0.1 h1:xxot6aNuGrU+lNgxz5I5H0qSeCjNKp8uTXB1j8D4S3o= +github.com/jackmordaunt/icns/v3 v3.0.1/go.mod h1:5sHL59nqTd2ynTnowxB/MDQFhKNqkK8X687uKNygaSQ= github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= @@ -64,6 +66,8 @@ github.com/muesli/cancelreader v0.2.2 h1:3I4Kt4BQjOR54NavqnDogx/MIoWBFa0StPA8ELU github.com/muesli/cancelreader v0.2.2/go.mod h1:3XuTXfFS2VjM+HTLZY9Ak0l6eUKfijIfMUZ4EgX0QYo= github.com/muesli/termenv v0.16.0 h1:S5AlUN9dENB57rsbnkPyfdGuWIlkmzJjbFf0Tf5FWUc= github.com/muesli/termenv v0.16.0/go.mod h1:ZRfOIKPFDYQoDFF4Olj7/QJbW60Ol/kL1pU3VfY/Cnk= +github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646 h1:zYyBkD/k9seD2A7fsi6Oo2LfFZAehjjQMERAvZLEDnQ= +github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646/go.mod h1:jpp1/29i3P1S/RLdc7JQKbRpFeM1dOBd8T9ki5s+AY8= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= From cb0cbfcb6bcedfc0accdb2fa278076ebdd0febb4 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 17 Jun 2025 02:01:39 +0000 Subject: [PATCH 40/40] chore: update module github.com/gen2brain/beeep to v0.11.1 --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index c0766c8..0759daf 100644 --- a/go.mod +++ b/go.mod @@ -8,7 +8,7 @@ require ( github.com/charmbracelet/bubbles v0.21.0 github.com/charmbracelet/bubbletea v1.3.5 github.com/charmbracelet/log v0.4.2 - github.com/gen2brain/beeep v0.11.0 + github.com/gen2brain/beeep v0.11.1 github.com/gorilla/websocket v1.5.3 gopkg.in/yaml.v3 v3.0.1 ) diff --git a/go.sum b/go.sum index 883df3f..3a1f369 100644 --- a/go.sum +++ b/go.sum @@ -35,8 +35,8 @@ github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f h1:Y/CXytFA4m6 github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f/go.mod h1:vw97MGsxSvLiUE2X8qFplwetxpGLQrlU1Q9AUEIzCaM= github.com/esiqveland/notify v0.13.3 h1:QCMw6o1n+6rl+oLUfg8P1IIDSFsDEb2WlXvVvIJbI/o= github.com/esiqveland/notify v0.13.3/go.mod h1:hesw/IRYTO0x99u1JPweAl4+5mwXJibQVUcP0Iu5ORE= -github.com/gen2brain/beeep v0.11.0 h1:ScADjlllAwqUIdEgosHXRmS0OEBTDtfGvIuLj2G/mlU= -github.com/gen2brain/beeep v0.11.0/go.mod h1:jQVvuwnLuwOcdctHn/uyh8horSBNJ8uGb9Cn2W4tvoc= +github.com/gen2brain/beeep v0.11.1 h1:EbSIhrQZFDj1K2fzlMpAYlFOzV8YuNe721A58XcCTYI= +github.com/gen2brain/beeep v0.11.1/go.mod h1:jQVvuwnLuwOcdctHn/uyh8horSBNJ8uGb9Cn2W4tvoc= github.com/go-logfmt/logfmt v0.6.0 h1:wGYYu3uicYdqXVgoYbvnkrPVXkuLM1p1ifugDMEdRi4= github.com/go-logfmt/logfmt v0.6.0/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= github.com/go-ole/go-ole v1.3.0 h1:Dt6ye7+vXGIKZ7Xtk4s6/xVdGDQynvom7xCFEdWr6uE=