feat: upload audio, get a private Swedish transcript, discuss it (#33, ADR-033) #39

Merged
mathias merged 299 commits from feat/33-audio-upload-transcript into main 2026-10-03 14:13:37 +00:00
Showing only changes of commit 3f66c35497 - Show all commits
+31
View File
@@ -23,6 +23,8 @@ type wStore struct {
completed map[string]domain.Transcription completed map[string]domain.Transcription
failed map[string]domain.UploadErrorKind failed map[string]domain.UploadErrorKind
startErr error startErr error
saves [][]domain.ProgressStep
beats int
} }
func newWStore() *wStore { func newWStore() *wStore {
@@ -50,6 +52,35 @@ func (s *wStore) FailUpload(_ context.Context, _, id string, k domain.UploadErro
return nil return nil
} }
func (s *wStore) SaveProgress(_ context.Context, _, _ string, steps []domain.ProgressStep, _ time.Time) error {
s.mu.Lock()
defer s.mu.Unlock()
s.saves = append(s.saves, append([]domain.ProgressStep(nil), steps...))
return nil
}
func (s *wStore) Heartbeat(context.Context, string, string) error {
s.mu.Lock()
defer s.mu.Unlock()
s.beats++
return nil
}
func (s *wStore) lastSteps() []domain.ProgressStep {
s.mu.Lock()
defer s.mu.Unlock()
if len(s.saves) == 0 {
return nil
}
return s.saves[len(s.saves)-1]
}
func (s *wStore) beatCount() int {
s.mu.Lock()
defer s.mu.Unlock()
return s.beats
}
func (s *wStore) snapshot() (map[string]domain.Transcription, map[string]domain.UploadErrorKind) { func (s *wStore) snapshot() (map[string]domain.Transcription, map[string]domain.UploadErrorKind) {
s.mu.Lock() s.mu.Lock()
defer s.mu.Unlock() defer s.mu.Unlock()