Repository navigation
Cleanup 3: tighten access widened by the splits - #1969
Merged
Merged
Conversation
audioLevel, systemLevel, recordingDuration, lastSavedTranscriptURL, lastSavedTitle and savedMeetingReplacementCommitCount are private(set) again; the extensions write them through small mirror setters in +State.swift. Same values, same emission order.
Nothing outside TranscriptedCore calls it; Meeting uses the overrideSystemAudioStatus overload. Only Core's @testable tests use it.
These helpers in Audio+MeetingInputGraph, MicBufferWrite, PinnedMicrophone, SleepWake and SystemAudioWrite are only used in their own file. Access change only, no logic touched.
audioUsability moves next to its only caller in +Start, and placeholderFailedTranscriptURL next to its only caller in +FailedAudioRetention. Both are private now. Bodies unchanged.
Move refreshCalendarEventSnapshots and installCalendarStoreObserver back into the core file so the cache state, fetch closure and intervals are private again. calendarEventSnapshots is private(set). No behavior change.
Make single-file helpers private and drop public from Core members the app never calls. No behavior change.
callAppMicrophoneUseScan, recoveredAutoHideSeconds and the system audio tail gate go private; PersistentDictationInputSystem.live goes fileprivate. No behavior change.
writeTemporaryString, FocusedTextPasteConfirmationPolicy.messagingTimeout and nonTextEntryRoles are only used in their own file. The other members the split widened are used by two paster files and stay internal. No behavior change.
Only ParakeetEngine.swift (the engine and its AVAudioEngine graph driver) calls it. The other members the Speech split widened are used across the Parakeet* extension files or pinned by source-contract tests, so they stay internal.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The hotspot splits (#1950, #1960) widened about 60 members so extensions in other files could reach them. Now that the code has settled, this tightens them back.
private,private(set)orfileprivate.publictointernal. Outside Core, only@testableCore tests use them.MeetingSessionController's published levels, duration and saved-transcript fields areprivate(set)again. Writes go through smallmirror*/note*helpers in+State.swift.MeetingPromptDetector's calendar refresh and two meeting-stop helpers move next to their only callers, unchanged, so they can be private.No behavior change. An independent review (grep across Sources, Tests, Tools and scripts) found no compile, link or hidden-user risk: no KVO,
#selector, Codable or SwiftUI bindings on the changed members. The ratchets didn't move.Follow-up:
Audio.ensureEngineInitialized()has no callers and could be deleted.🤖 Generated with Claude Code