Commit graph

67 commits

Author SHA1 Message Date
f5f51711a1 format: use group style variable declaration to define cli flags 2024-10-28 09:43:17 +01:00
7b0c0df477 format: update import statements order for consistency 2024-10-28 09:42:56 +01:00
1b01041a14 feat: update settings handling for pomodoro configuration
- add `UpdateSettings()` to update pomodoro configuration
- refactor client command handling to use `UpdateSettings()`

🤖
2024-10-28 09:42:22 +01:00
1a47c0607b feat: update protocol version handling
- add ProtocolVersion variable to metadata package
- don't set `ServerMessage.ProtocolVersion` in `main`
- update `ServerMessage` default to include ProtocolVersion

🤖
2024-10-27 22:46:58 +01:00
ffc994126b break: rename GoTomatoServerConfig -> ServerConfig 2024-10-26 10:19:55 +02:00
c20d36d2d2 break: rename GoTomatoPomodoroConfig -> PomodoroConfig 2024-10-26 10:19:50 +02:00
0180aea8c1 break: rename ServerMessage.GoTomatoVersion -> .ProtocolVersion 2024-10-26 10:19:48 +02:00
16bc946a30 break: rename ClientCommand.PomodoroSettings -> .Settings 2024-10-26 10:19:44 +02:00
61b2f71bf3 break: rename ServerMessage.PomodoroSettings -> .Settings 2024-10-26 10:19:41 +02:00
06633ff438 feat: bump version to v0.0.3 2024-10-26 00:15:02 +02:00
fa3ba759c4 feat: update startup log messages
- add startup message for version information
- reformat log for websocket listening address
2024-10-26 00:15:02 +02:00
899417b605 feat: replace standard log with charmbracelet/log
- update logging to use charmbracelet/log package
- improve log messages for server start and errors
- enhance client connection and disconnection logs

🤖
2024-10-26 00:15:02 +02:00
3eae584d6d recator: use timer signals instead of shared.Message.TimeLeft
- remove shared.Message.TimeLeft
- modify Timer struct
  - add TimeLeft signal
  - add End and Abort signals
- add syncronised ticker
- update RunPomodoro to use goroutines for timer starts
  - add waitForTimer function
2024-10-25 23:19:58 +02:00
aa5c24f06d refactor: move timer function to method
- introduce Timer struct to manage timer state
- update RunPomodoro to use Timer methods for starting, stopping, and pausing
- remove unused pomodoro channels
2024-10-25 23:19:53 +02:00
62fbb1d356 feat: add a ticker to manage broadcast timing 2024-10-25 23:18:46 +02:00
d256235c1b feat: bump version to v0.0.2 2024-10-24 22:49:40 +02:00
13d7cd0919 feat: add number of connected clients to log output 2024-10-24 22:48:45 +02:00
26ca4d8b93 feat: change CMD to ENTRYPOINT for better container behavior
🤖
2024-10-24 17:56:26 +02:00
103ad031df doc: fix listing format in README 2024-10-23 21:39:27 +02:00
715fe60e1d refactor: better check for empty pomodoro client settings
- replace UnsetPomodoroConfig with empty struct check in client commands
- remove unused UnsetPomodoroConfig variable

🤖
2024-10-23 21:29:57 +02:00
188f9ce928 feat: add GoTomato to .gitignore
🤖
2024-10-23 21:29:57 +02:00
63213c9d64 doc : add build instructions
- include build commands in README

🤖
2024-10-23 21:29:57 +02:00
232fe409cb feat: add version and protocol version
- define GoTomatoVersion constant for versioning
- add protocol version field to all server messages
- add `-version` cli parameter
- update README

🤖
2024-10-23 21:28:35 +02:00
4eedfcb965 feat: send "End"-Message only once
- send "End" once, then fallback to "Idle"
- update README
2024-10-22 13:43:43 +02:00
5bf9753dce fix: ResetPomodoro() resets to current settings not server defaults
- reset shared.Message fields to current values in `ResetPomodoro()` function
- remove `ResetToDefault()`
2024-10-22 10:39:53 +02:00
cb6616f400 break: add updateSettings command to modify Pomodoro settings
- add `updateSettings` command to modify Pomodoro configuration
- remove ability to set Pomodoro configuration in `start` command
- update demo client
- update README

🤖
2024-10-22 08:51:22 +02:00
a0dba673a2 break: enhance server message structure and settings
- add explicit server messages for start and end
- include pomodoro setttings in server messages
- update README

🤖
2024-10-22 08:10:26 +02:00
b60df1c025 feat: update demo web client
- add input fields for control password and timer durations
- update WebSocket commands to include custom configuration and password

🤖
2024-10-21 18:23:50 +02:00
c6ce7d46ad feat: improve logging for client connects and disconnects
- add connection log to record client address on connect
- enhance disconnection log to include client address

🤖
2024-10-21 18:00:07 +02:00
f991ba885d feat: allow restrict Pomodoro via password
- introduce password flag in server command line options
- update clientCommand model
- add password requirement for controlling the Pomodoro timer
- document password in README
2024-10-21 17:29:04 +02:00
8deb642a7e fix: initialize pomodoroConfig from DefaultPomodoroConfig only once
🤖
2024-10-21 15:49:01 +02:00
bf2685a055 fix: send correct server message on pomodoro end
- replace manual state reset with a dedicated ResetToDefault function
- remove locking mechanism during state updates

🤖
2024-10-21 13:42:32 +02:00
b7d03aa1d8 break: empty Message.Mode when no pomodoro ongoing
- change "none" to an empty string for the mode field
- update README to reflect the new mode representation
- ensure consistency across session end/reset and welcome messages

🤖
2024-10-21 13:14:26 +02:00
a9d145ee71 feat: create shared config defaults
- add shared configuration defaults for server and pomodoro

🤖
2024-10-21 13:07:19 +02:00
28342058aa doc: update comments 2024-10-21 13:07:19 +02:00
03ab627729 feat: simplify timer function
- remove "mode" parameter from startTimer function
- update shared.Message.Mode for each pomodoro state
- update comments

🤖
2024-10-21 13:07:19 +02:00
6ffd9f1e38 refactor: move broadcast package to websocket
- update import paths to reflect the new package name
- change function call to use the new websocket package
- adjust client iteration to use the renamed Clients variable

🤖
2024-10-21 13:07:19 +02:00
aab6896c7d refactor: move broadcast.Message to shared.Message
- create a new shared state file to manage message state
- replace broadcast.Message with shared.Message in pomodoro logic
- update websocket client handling to use shared.Clients
- remove unnecessary broadcast imports from various files
- ensure consistent message handling across the application

🤖
2024-10-21 13:07:19 +02:00
234f3c17dc feat: simplify pomodoro functions by removing client parameter
- remove clients parameter from RunPomodoro function
- update startTimer to no longer require clients parameter
- modify ResetPomodoro to eliminate clients parameter
- adjust client_commands to reflect changes in function signatures

🤖
2024-10-21 13:07:19 +02:00
9615d4d449 feat: implement permanent broadcast message functionality
- add SendPermanentBroadCastMessage to continuously send updates
- refactor BroadcastMessage to use a shared Message struct
- update pomodoro logic to modify broadcast.Message directly
- adjust client command handling to use broadcast.Clients map
- enhance ServerMessage struct with "Ongoing" and "Paused" fields

🤖
2024-10-21 13:07:19 +02:00
eba4065c6f chore: add .renovaterc.json 2024-10-20 23:42:25 +02:00
f183686272 break: update ServerMessage model
- rename MaxSession to TotalSession (and JSON struct tags)

🤖
2024-10-20 23:42:25 +02:00
2ac1aecba1 feat: allow clients to send pomodoro config
- allow clients to send custom configuration for pomodoro sessions
- update RunPomodoro to accept a configuration parameter
- modify startTimer to handle session count from config
- add default pomodoro configuration in client command handling

🤖
2024-10-20 23:42:25 +02:00
9149b1a78e refactor: rename GoTomatoTimerConfig to GoTomatoPomodoroConfig
🤖
2024-10-20 22:18:50 +02:00
f098c1f6bf refactor: rename RunPomodoroTimer() to RunPomodoro()
🤖
2024-10-20 22:00:54 +02:00
337e5b0ed3 refactor: rename BroadcastMessage model to ServerMessage
🤖
2024-10-20 21:59:18 +02:00
d2e34e84f8 refactor: move Clients map and mutex to handle_connections
- move Clients map definition to handle_connections.go
- move mutex definition to handle_connections.go
- remove unused import in client_commands.go

🤖
2024-10-20 20:51:21 +02:00
d0e1162726 feat: add comments for configuration fields
- add documentation comments for
  - GoTomatoTimerConfig
  - GoTomatoServerConfig

🤖
2024-10-20 20:49:36 +02:00
45c527cc79 fix: remove default values from GoTomatoServerConfig model 2024-10-20 20:09:34 +02:00
914421d7a5 doc: update README with client commands and server messages
- add table of contents for better navigation
- document client commands with JSON examples
- describe server messages and their structure

🤖
2024-10-20 19:26:14 +02:00