Commit graph

66 commits

Author SHA1 Message Date
b494c2782e refactor: merge client/helper package to client
- remove helper package and move functions to client package
- merge `terminalOutput()` to `view.go`
- move `desktopNotifications()` to `cmd/client`

🤖
2024-11-13 19:54:39 +01:00
74f41f0e56 fix: replace timer icon
- change timer icon from hourglass to stopwatch

🤖
2024-11-13 19:54:36 +01:00
6b90db0d6c feat: add progress bar to timer
- add progress package for visual feedback
- implement calc_percentage function for duration calculation
- update TerminalOutput to include progress percentage and view

🤖
2024-11-13 17:14:13 +01:00
94e7b41421 fix: preserve client password during reconnection process 2024-11-13 17:14:13 +01:00
c30829392d chore: update module git.smsvc.net/pomodoro/gotomato to v0.3.1 2024-11-10 17:02:50 +00:00
c832aecd81 fix: update module github.com/charmbracelet/bubbletea to v1.2.1 2024-11-10 16:04:40 +00:00
fb502c1423 fix(renovate): make Go deps always a "chore"
- add package rules to set semantic commit type for gomod
2024-11-10 17:04:04 +01:00
7c2604c0bf 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
2024-11-10 09:47:00 +01:00
9f3e0eb439 feat(goreleaser): set version on build via ldflags 2024-11-10 09:47:00 +01:00
712aced7da 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 .`
2024-11-10 09:47:00 +01:00
58d658be66 feat(goreleaser): add initial configuration for GoReleaser
- add `.goreleaser.yaml` for release automation
- add `dist` to gitignore
2024-11-10 09:35:02 +01:00
05e8bf5854 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
2024-11-10 09:34:55 +01:00
1dd42d3c14 refactor: rename config file cli parameter for consistency
- rename configfile parameter to parameter_configfile
- update references to the configfile parameter

🤖
2024-11-05 23:27:28 +01:00
f7c099876b fix: update module git.smsvc.net/pomodoro/gotomato to v0.0.8 2024-11-05 02:01:33 +00:00
561419b568 feat: implement centralized logging helper
- remove direct log usage
- create a new logging helper
- update all log calls to use the new Logger instance
- set timestamp to ISO8601

🤖
2024-11-04 20:39:21 +01:00
ebc81657f5 fix: update module git.smsvc.net/pomodoro/gotomato to v0.0.6 2024-11-02 14:40:20 +00:00
d4d14aa94a fix: update config file handling
- show default config in help
- only use default config if exists, otherwise use passed file
2024-11-02 10:56:53 +01:00
8a0ef32c91 feat: use bubbletea framework
- implement TUI in bubbletea
  - split components into separate files
- remove now unused functions
- restructure files
2024-11-02 10:55:15 +01:00
9656db5335 feat: downgrade sendClientCommand() from method to function 2024-10-30 19:29:40 +01:00
f19ab81dc8 doc: add and improve comments 2024-10-30 17:44:52 +01:00
6187122b81 feat: refactor client methods
- change `ProcessServerMessages` to use receiver instead of parameter
- update `Disconnect` method to use receiver for better encapsulation
- move `Client` definition to `connect.go`

🤖
2024-10-30 09:51:59 +01:00
480f1c0cdd feat: improve config file handling
- add default config file
- read passed config file or use default if none provided
- ensure cli parameters always supersede config file settings
- add function to check if a file exists

🤖
2024-10-30 09:32:37 +01:00
b06fac60d5 fix: rename model PomodoroClient to GoTomatoClient 2024-10-30 09:03:14 +01:00
b374ee8aff feat: add Password field to PomodoroClient struct
remove unused password parameters from Client-Methods

🤖
2024-10-30 09:00:29 +01:00
0ca90b50a5 feat: refactor client handling and introduce websocket client type
- add new websocket.Client type
- change Connect and Disconnect functions to use the new Client type
- implement methods for sending commands and updating settings on Client
- update keyhandler to use websocket.Client instead of ChronoTomato.Client
- modify UpdateLoop to accept websocket.Client
- refactor ProcessServerMessages to accept the new Client type

🤖
2024-10-30 08:57:10 +01:00
b943c9d6eb feat: refactor connection handling to use models.Client
- introduce `Client` model
- modify all websocket operations to use the new `Client` model
- update function signatures to accept `models.Client` instead of `*websocket.Conn`
- ensure consistent usage of `client` across all related functions

🤖
2024-10-30 08:28:22 +01:00
f1071f33c6 feat: update keyboard handling to use new library
- remove dependency on atomicgo.dev/keyboard
- add dependency on github.com/eiannone/keyboard
- include keyhandling as non-blocking in frondend/main
- refactor keyhandler()

🤖
2024-10-29 20:22:22 +01:00
5f65b9aa56 fix: make ServerMessage channel unbuffered
- remove buffer size from channel for better memory management

🤖
2024-10-29 18:13:02 +01:00
7459379950 doc: remove outdated TODO comments
🤖
2024-10-29 18:11:06 +01:00
a03d27ae0f feat: rename frontend.Handler to frontend.UpdateLoop for clarity
🤖
2024-10-28 09:02:18 +01:00
0f8fde3143 fix: update GoTomato model field names
adjust field names due to breaking changes in GoTomato v0.0.4
2024-10-28 07:56:37 +01:00
2430e22756 fix: update module git.smsvc.net/pomodoro/gotomato to v0.0.4 2024-10-28 06:53:51 +00:00
a649a3d9fd refactor: rename desktop.go to notification.go
🤖
2024-10-27 22:49:28 +01:00
c764deeeb7 feat: simplify command handling for start, pause, and resume
- extract command logic into a separate function
- reduce code duplication in keyhandler function

🤖
2024-10-27 22:33:36 +01:00
e0000382e9 fix: move package variable to frontend.Handler 2024-10-27 22:33:36 +01:00
e8b463c59c format: update import statements
- clean up and streamline import statements across multiple files

🤖
2024-10-27 22:33:36 +01:00
f26f12ef98 format: improve variable declaration style
- change variable declarations to use a grouped format

🤖
2024-10-27 22:33:36 +01:00
912dfa62f2 format: improve code structure for better readability
🤖
2024-10-27 22:33:36 +01:00
c2310f7735 refactor: improve cli parameter handling
- streamline `main` functions
- refactor cli parameter handling
2024-10-27 22:33:36 +01:00
34d4206f65 fix: use websocket constant to check IsCloseError 2024-10-27 22:33:36 +01:00
f54e8486f1 break: configure via file OR cli parameters
no more defaults when no parameter passed!
2024-10-27 22:33:36 +01:00
4f9bd664a3 fix: remove ununsed return statements in keyhandler() 2024-10-27 22:33:36 +01:00
bbc9977f1c feat: refactor shared.Message to a channel
- remove `shared` package and shared.Message
- rename `notifications` package to `frontend`
- introduce a channel send the received ServerMessages to the frontend handler(s)
- move keyhandler to goroutine
- simplify password handling in Start function
- update import names when importing from GoTomoto
2024-10-27 22:33:30 +01:00
cc24dd6775 fix: pin module git.smsvc.net/pomodoro/gotomato to v0.0.3 2024-10-26 09:27:10 +02:00
f3b9244b16 fix: update module gopkg.in/yaml.v2 to v3 2024-10-26 09:07:41 +02:00
84e95fdd93 chore: update variable in notification logic 2024-10-24 22:33:11 +02:00
77eeb087e3 feat: add state icons for start/paused/stoppped 2024-10-24 19:16:57 +02:00
4a772db0f8 fix: update log level for missing config file
- change error log to warning for better severity indication
- update default usage log to warning for consistency

🤖
2024-10-24 07:31:34 +02:00
57871afa68 chore: add .renovaterc.json 2024-10-24 07:27:39 +02:00
6857615585 fix: no error on normal websocket closure
- ignore error for normal closure
- log any other errors encountered during message processing
- reorder import statements

🤖
2024-10-24 07:25:48 +02:00