Commit graph

57 commits

Author SHA1 Message Date
359017968d feat: set version from git tag on build
- add version variable and default it to "devel"
- add ldflags to `.goreleaser.yaml` for version tagging
2024-11-07 20:51:41 +01:00
aef9bdfff7 feat(goreleaser): add initial configuration for GoReleaser
- add `.goreleaser.yaml` for release automation
- add `dist` to gitignore
2024-11-07 20:51:41 +01:00
9c4d43a4d3 feat: reconnect on disconnect (status in 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-07 20:13:25 +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
7120877242 feat: fix handling of ~ in default config file path 2024-10-23 21:21:23 +02:00
e14492a01c feat: refactor signal handling and update websocket disconnect handling
- remove os signal handling interrupt
- rename WaitForDisconnect to Disconnect function
- improve websocket disconnection logic
- exit keyboard listener on disconnect

🤖
2024-10-23 21:21:23 +02:00
deff8f3554 feat: move cursor.Hide() to main
- hide cursor at the start of the client
- ensure cursor is shown again after client execution

🤖
2024-10-23 21:21:23 +02:00
064056e8cb feat: update module path
- modify go.mod to reflect the new module path
- update config file path in the main function
- adjust import statements in various internal packages
- add install instructions to README

🤖
2024-10-23 21:21:23 +02:00
d83946e255 doc: add README 2024-10-23 21:21:23 +02:00
46d3e02f33 feat: instroduce reset command
- change stop command from 'r' to 's' for better clarity
- add reset command 'r' to the terminal help
- ensure pomodoro settings are sent correctly on reset command

🤖
2024-10-23 21:21:23 +02:00
bb790459c1 feat: add configuration file handling
- add helper function to parse configuration from a YAML file
- update command-line parameters to include a config file option
- remove hardcoded Pomodoro settings and use parsed config instead
- delete obsolete PomodoroSettings.go file

🤖
2024-10-23 17:45:56 +02:00
25e939f523 feat: make header beautiful 2024-10-23 17:45:47 +02:00
57084c524e fix: correct help message text 2024-10-23 17:45:18 +02:00