feat: send "End"-Message only once

- send "End" once, then fallback to "Idle"
- update README
This commit is contained in:
Sebastian Mark 2024-10-22 12:39:47 +02:00
parent 5bf9753dce
commit 4eedfcb965
2 changed files with 8 additions and 0 deletions

View file

@ -53,6 +53,7 @@ All fields are mandatory and may not be ommitted.
The server periodically (every second) sends JSON-encoded messages to all connected clients to update them on the current state of the Pomodoro session. These messages contain the following fields: The server periodically (every second) sends JSON-encoded messages to all connected clients to update them on the current state of the Pomodoro session. These messages contain the following fields:
- mode: Indicates the current phase of the Pomodoro session ("Work", "ShortBreak", "LongBreak", "End" or "Idle"). - mode: Indicates the current phase of the Pomodoro session ("Work", "ShortBreak", "LongBreak", "End" or "Idle").
- "End" is send only once, after all sessions are finished
- settings: Contains the current Pomodoro settings: - settings: Contains the current Pomodoro settings:
- work: Length of the work session in seconds (e.g., 1500 for 25 minutes). - work: Length of the work session in seconds (e.g., 1500 for 25 minutes).
- shortBreak: Length of the short break in seconds (e.g., 300 for 5 minutes). - shortBreak: Length of the short break in seconds (e.g., 300 for 5 minutes).

View file

@ -3,6 +3,7 @@ package pomodoro
import ( import (
"git.smsvc.net/pomodoro/GoTomato/internal/shared" "git.smsvc.net/pomodoro/GoTomato/internal/shared"
"sync" "sync"
"time"
) )
var pomodoroResetChannel = make(chan bool, 1) var pomodoroResetChannel = make(chan bool, 1)
@ -40,10 +41,16 @@ func RunPomodoro() {
shared.Message.Mode = "End" shared.Message.Mode = "End"
} }
time.Sleep(time.Second)
mu.Lock() mu.Lock()
shared.Message.Ongoing = false shared.Message.Ongoing = false
shared.Message.Paused = false shared.Message.Paused = false
mu.Unlock() mu.Unlock()
shared.Message.Mode = "Idle"
shared.Message.Session = 0
shared.Message.TimeLeft = shared.Message.PomodoroSettings.Work
} }
// Stops and resets the running Pomodoro // Stops and resets the running Pomodoro