Commit graph

50 commits

Author SHA1 Message Date
9b7dc19935 feat: introduce vars.go for websocket package
- update comments
- move `Done` variable to vars.go
- move `Connected()` method

🤖
2024-11-21 20:07:08 +01:00
342ecde6bb refactor: update reconnect code for better understanding 2024-11-21 12:28:36 +01:00
46c3a4c0b1 fix: remove unused variable prevMessage
- update logic to send current serverMessage instead of prevMessage
- simplify message processing for improved clarity

🤖
2024-11-21 12:28:32 +01:00
d25ce3eead feat: add read timeout for server messages 2024-11-13 19:54:39 +01:00
94e7b41421 fix: preserve client password during reconnection process 2024-11-13 17:14:13 +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
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
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
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
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
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
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
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
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
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
d731fc3e52 feat: hide cursor 2024-10-23 17:45:18 +02:00
ef0f940343 feat: add color output to terminal
- add color package for improved terminal output
- update terminal output to use colored text

🤖
2024-10-23 17:45:18 +02:00
98013780da feat: refactor to use local pointer for ServerMessage
- replace `shared.ServerMessage` with local pomodoro pointer
- update conditions to use `pomodoro` instead of `shared.ServerMessage`

🤖
2024-10-23 17:45:18 +02:00
a61da7d280 chore: reorder parameters in SendCmd function
🤖
2024-10-23 17:45:18 +02:00
e1984aca10 feat: enhance terminal output with help footer
- add footer to terminal output for better user guidance
- show key bindings for start, pause/resume, stop, and quit

🤖
2024-10-23 17:45:18 +02:00
4dcc984784 feat: add keyboard controls
- add keyboard listener for space, r, and q keys
- create shared state for server messages
- update desktop and terminal notifications to use shared state

🤖
2024-10-23 17:43:47 +02:00
11c599a371 Genesis 2024-10-23 17:43:44 +02:00