7aa3aae4e6
fix: drop "v" from version string const
...
- remove "v" prefix from GoTomatoVersion constant
- re-add "v" for for human readable output (`-version`)
- update README
2024-11-05 23:31:24 +01:00
d7b7789051
feat: bump version to v0.0.8
2024-11-04 20:35:01 +01:00
600d2ed2ff
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:33:25 +01:00
76f3954299
feat: bump version to v0.0.7
2024-11-03 11:19:03 +01:00
44a64bfce4
feat: handle X-Forward-For for log output
...
- add Gorilla handlers package for enhanced HTTP handling
- refactor HTTP server to use a new ServeMux for routing
- update ListenAndServe to utilize ProxyHeaders for better proxy support
- add RealIP field to client model
- use RealIP fild for connect/disconnect log output
2024-11-03 11:17:23 +01:00
dd9490bb3b
feat: bump version to v0.0.6
2024-10-30 11:29:47 +01:00
e7618b19ef
feat: validate client settings and improve logging
...
- add a function to check if Pomodoro settings are valid
- log a warning for invalid client configurations
- log an info message for valid client configurations
- implement Stringer interface for PomodoroConfig model
🤖
2024-10-30 11:28:42 +01:00
f4fd37c551
feat: update logging for client connect and disconnect
...
- update logging to use ws.RemoteAddr()
🤖
2024-10-30 10:20:44 +01:00
0ee955189c
feat: update client management to use local address as identifier
...
- change Clients map to use net.Addr as the key type
- update `HandleConnection()` to store clients using LocalAddr
- modify `handleClientCommands()` to delete clients by LocalAddr
🤖
2024-10-30 10:20:12 +01:00
ebb58a4489
feat: rename Client
model to WebsocketClient
...
🤖
2024-10-30 09:57:09 +01:00
2d2ea6ff78
feat: bump version to v0.0.5
2024-10-30 08:11:54 +01:00
bdfd5c3b84
feat: remove unused client mutex
...
- remove unused Mutex from `models.Client` struct
- remove lock from `HandleConnection()`
- replace websocket.Conn with models.Client in `handleClientCommands()`
🤖
2024-10-30 08:09:41 +01:00
94b6786c7c
feat: implement asynchronous timer start
...
- add new StartAsync method to Timer for non-blocking execution
- use new method in RunPomodoro()
🤖
2024-10-30 07:46:29 +01:00
d0b1260f62
doc: add and improve comments
2024-10-30 07:39:30 +01:00
d83acc77b2
refactor: rename HandleConnections to HandleConnection
...
- rename function to better reflect its purpose
🤖
2024-10-29 20:21:00 +01:00
b8823acc97
refacor: replace shared.Message with shared.State
...
🤖
2024-10-29 18:46:00 +01:00
5750ec96cb
refactor: update version output
...
- use `Println` for better readability
2024-10-29 11:05:45 +01:00
d69a4bec10
format: use group style variable declaration to define cli flags
2024-10-29 11:05:45 +01:00
e2ab19066d
format: update import statements order for consistency
2024-10-29 11:05:45 +01:00
3a6be4c187
feat: update settings handling for pomodoro configuration
...
- add `UpdateSettings()` to update pomodoro configuration
- refactor client command handling to use `UpdateSettings()`
🤖
2024-10-29 11:05:45 +01:00
f0d7dc80fc
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-29 11:05:44 +01:00
f8ab1375d1
chore: bump version to v0.0.4
2024-10-29 11:05:30 +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