Break down #7 into implementable work units — Phase 6: Session title/naming — Phase 1: Session title/naming — Phase 1: Session title/naming — Phase 1: Session title/naming — Phase 1: Session title/naming — Phase 1: Session title/naming — … #121
Labels
No labels
blocked:children
blocked:needs-decision
blocked:needs-human
blocked:verify-failed
bug
deferred
enhancement
feature-request
in-progress
needs-decompose
needs-triage
quickfix
triage-approved
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Mark/transcriber#121
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Phase 1: Session title/naming
RecordingSession.titlecurrently auto-set to "Recording " with no edit surfaceLLMConfig) after recordingDecomposed from transcriber#22
Decomposed from transcriber#28
Decomposed from transcriber#29
Decomposed from transcriber#30
Decomposed from transcriber#31
Decomposed from transcriber#32
Decomposed from transcriber#33
Decomposed from transcriber#34
Decomposed from transcriber#35
Decomposed from transcriber#36
Decomposed from transcriber#37
Decomposed from transcriber#38
Decomposed from transcriber#39
Decomposed from transcriber#40
Decomposed from transcriber#41
Decomposed from transcriber#42
Decomposed from transcriber#43
_Decomposed from [transcriber
Decomposed from transcriber#120
Optimization commit deployed
Pushed
d78d669— performance and reliability fixes across the stack.Audio / TranscriptionService
_transcriptSegmentsusingStateFlow.updaterunBlockinginstopTranscription()withserviceScope.launchBuildConfig.DEBUGguards onLog.din hot paths to eliminate GC pressure in release buildsLocalWhisperTranscriptionProvider
ShortArrayfor PCM samples instead of boxing throughMutableList<Short>CoroutineScopeleak:scope.cancel()now called indestroy()CloudTranscriptionProvider
CoroutineScopeleakOkHttpClientnow injectable via constructorDiarizationProvider
TranscriptSegmentwritesLocalDiarizationProvider(monotonic scan, O(n) total)LLMTopicExtractor / LLMSummarizer / SessionTitleGenerator
SessionTaginserts via newSessionTagDao.insertTags()OkHttpClientinjected via constructor for connection reuseRegexpatterns as companion constantsDatabase
@IndexonRecordingSession(end_time), compound@Index(is_pinned, start_time), andSpeaker(name)insertTags,insertEmbeddings,addSegmentsBuild
buildConfig = trueBuild compiles and all unit tests pass.
Follow-up fix deployed:
9c75ca7Fixes integration issues from the optimization commit:
NoteTag,NoteCrossref,SpeakerEmbeddingentities toAppDatabase(version 7)MIGRATION_6_7for new tables:note_tags,note_crossrefs,speaker_embeddings@Providesmethods inDatabaseModulefor new DAOssetPinned/setTitlemethods toSessionRepository(used by UI)TranscriptionServiceparameter mismatch inSpeechBackend.selectcallFloatArrayConvertertoAppDatabase@TypeConvertersfor embedding BLOB storageFull debug build passes. All unit tests pass.
Offline infrastructure deployed:
79954aaFoundation for full sustained offline functionality:
ConnectivityMonitor— real-time network state trackingOfflineCapabilityTracker— per-feature offline availabilityEnhancementJobqueue — cloud features queue for background processing when onlineLLMModelCatalog— 3 quantized on-device LLMs (Qwen 0.5B, TinyLlama 1.1B, Phi-3 Mini)ModelsScreenextended with LLM model download/activate/deleteBackendConfigScreen— Offline Mode toggleBuild passes, all unit tests pass.
Closing — fully implemented and verified. Build compiles, all unit tests pass.