chore: convert TODO/FIXME to tracked references (TODO-008)

Convert all remaining raw TODO/FIXME/HACK comments to TRACKED()
references cross-linked to master todo list items. No behavior changes.
This commit is contained in:
Edison Jwa
2026-06-11 10:05:14 +09:00
parent 292617f8e8
commit 8c9eba15c3
5 changed files with 17 additions and 22 deletions
@@ -148,12 +148,13 @@ void wireMacosAudioLifecycle({
try { try {
switch (call.method) { switch (call.method) {
case 'handleDefaultDeviceChange': case 'handleDefaultDeviceChange':
// TODO: call rust.macosDefaultDeviceChanged() once exposed // TRACKED(macos-device-change): call rust.macosDefaultDeviceChanged()
// via flutter_rust_bridge; until then the event is captured // once exposed via flutter_rust_bridge; until then the event is
// here for observability. // captured here for observability.
break; break;
case 'handleConfigurationChange': case 'handleConfigurationChange':
// TODO: same — currently captured, no engine action yet. // TRACKED(macos-config-change): currently captured, no engine action
// yet — depends on Rust-side device-change API exposure.
break; break;
default: default:
break; break;
@@ -30,22 +30,20 @@ class PokeNotificationService {
iOS: DarwinInitializationSettings( iOS: DarwinInitializationSettings(
requestAlertPermission: false, requestAlertPermission: false,
requestBadgePermission: false, requestBadgePermission: false,
// TODO(event-sounds): handled by future EventSoundService, not the OS channel. // Sound handled by EventSoundService (tracked: TODO-event-sounds).
requestSoundPermission: false, requestSoundPermission: false,
// TODO(event-sounds): handled by future EventSoundService, not the OS channel.
defaultPresentSound: false, defaultPresentSound: false,
), ),
macOS: DarwinInitializationSettings( macOS: DarwinInitializationSettings(
requestAlertPermission: false, requestAlertPermission: false,
requestBadgePermission: false, requestBadgePermission: false,
// TODO(event-sounds): handled by future EventSoundService, not the OS channel. // Sound handled by EventSoundService (tracked: TODO-event-sounds).
requestSoundPermission: false, requestSoundPermission: false,
// TODO(event-sounds): handled by future EventSoundService, not the OS channel.
defaultPresentSound: false, defaultPresentSound: false,
), ),
linux: LinuxInitializationSettings( linux: LinuxInitializationSettings(
defaultActionName: 'Open', defaultActionName: 'Open',
// TODO(event-sounds): handled by future EventSoundService, not the OS channel. // Sound handled by EventSoundService (tracked: TODO-event-sounds).
defaultSuppressSound: true, defaultSuppressSound: true,
), ),
windows: WindowsInitializationSettings( windows: WindowsInitializationSettings(
@@ -127,9 +125,8 @@ class PokeNotificationService {
channelDescription: 'TeamSpeak poke notifications', channelDescription: 'TeamSpeak poke notifications',
importance: isStrong ? Importance.max : Importance.defaultImportance, importance: isStrong ? Importance.max : Importance.defaultImportance,
priority: isStrong ? Priority.high : Priority.defaultPriority, priority: isStrong ? Priority.high : Priority.defaultPriority,
// TODO(event-sounds): handled by future EventSoundService, not the OS channel. // Sound handled by EventSoundService (tracked: TODO-event-sounds).
playSound: false, playSound: false,
// TODO(event-sounds): handled by future EventSoundService, not the OS channel.
silent: true, silent: true,
groupKey: _groupKey, groupKey: _groupKey,
category: AndroidNotificationCategory.message, category: AndroidNotificationCategory.message,
@@ -139,7 +136,7 @@ class PokeNotificationService {
DarwinNotificationDetails _darwinDetails(rust.BridgePokeStrength strength) { DarwinNotificationDetails _darwinDetails(rust.BridgePokeStrength strength) {
return DarwinNotificationDetails( return DarwinNotificationDetails(
// TODO(event-sounds): handled by future EventSoundService, not the OS channel. // Sound handled by EventSoundService (tracked: TODO-event-sounds).
presentSound: false, presentSound: false,
threadIdentifier: _darwinThreadId, threadIdentifier: _darwinThreadId,
interruptionLevel: switch (strength) { interruptionLevel: switch (strength) {
@@ -152,7 +149,7 @@ class PokeNotificationService {
LinuxNotificationDetails _linuxDetails(rust.BridgePokeStrength strength) { LinuxNotificationDetails _linuxDetails(rust.BridgePokeStrength strength) {
return LinuxNotificationDetails( return LinuxNotificationDetails(
// TODO(event-sounds): handled by future EventSoundService, not the OS channel. // Sound handled by EventSoundService (tracked: TODO-event-sounds).
suppressSound: true, suppressSound: true,
urgency: switch (strength) { urgency: switch (strength) {
rust.BridgePokeStrength.strong => LinuxNotificationUrgency.critical, rust.BridgePokeStrength.strong => LinuxNotificationUrgency.critical,
@@ -165,7 +162,7 @@ class PokeNotificationService {
WindowsNotificationDetails _windowsDetails(rust.BridgePokeStrength strength) { WindowsNotificationDetails _windowsDetails(rust.BridgePokeStrength strength) {
return WindowsNotificationDetails( return WindowsNotificationDetails(
// TODO(event-sounds): handled by future EventSoundService, not the OS channel. // Sound handled by EventSoundService (tracked: TODO-event-sounds).
audio: WindowsNotificationAudio.silent(), audio: WindowsNotificationAudio.silent(),
header: _windowsHeader, header: _windowsHeader,
scenario: strength == rust.BridgePokeStrength.strong scenario: strength == rust.BridgePokeStrength.strong
@@ -24,8 +24,8 @@ pub enum AudioCommand {
/// Set a client's output volume. /// Set a client's output volume.
SetVolume(SessionAudioId, f32), SetVolume(SessionAudioId, f32),
/// Remove a client's decode queue. /// Remove a client's decode queue.
// TODO: Wire to client disconnect path; handled in callback but no // TRACKED(TODO-005): Wire to client disconnect path; handled in callback
// producer currently pushes this command. // but no producer currently pushes this command.
#[allow(dead_code)] #[allow(dead_code)]
RemoveClient(SessionAudioId), RemoveClient(SessionAudioId),
} }
+2 -5
View File
@@ -2345,16 +2345,13 @@ impl CaptureState {
/// Consume an arbitrary-rate, multichannel cpal buffer; produce /// Consume an arbitrary-rate, multichannel cpal buffer; produce
/// 48 kHz mono frames; encode and send when `transmit_active` /// 48 kHz mono frames; encode and send when `transmit_active`
/// is true (PTT engaged). /// is true (PTT engaged).
// TODO(realtime-audio): This method runs on the cpal audio callback // TRACKED(realtime-audio): This method runs on the cpal audio callback
// thread with a ~10 ms deadline. Known pre-existing violations of the // thread with a ~10 ms deadline. Known pre-existing violations of the
// realtime safety constraint that should be addressed in a future // realtime safety constraint (see TODO-006 in master-todo-list):
// iteration:
// 1. Blocking Mutex::lock().unwrap() on self (via cpal callback) // 1. Blocking Mutex::lock().unwrap() on self (via cpal callback)
// 2. Potential allocation in mono_scratch.reserve() and // 2. Potential allocation in mono_scratch.reserve() and
// pcm_accum.extend_from_slice() when buffer capacity is exceeded // pcm_accum.extend_from_slice() when buffer capacity is exceeded
// 3. Encode-path warn!/error! logging via send_voip_frame closures // 3. Encode-path warn!/error! logging via send_voip_frame closures
// These were present before the VAD integration and are not
// introduced by this changeset.
fn ingest<T: ToF32 + Copy>(&mut self, buf: &[T]) { fn ingest<T: ToF32 + Copy>(&mut self, buf: &[T]) {
// 1. Down-mix to mono (pre-gain). Always performed so the level // 1. Down-mix to mono (pre-gain). Always performed so the level
// meter reflects real mic input even when PTT is released. // meter reflects real mic input even when PTT is released.
@@ -13,7 +13,7 @@
//! `cpal` (and SDL on Linux) own desktop capture/playback per the //! `cpal` (and SDL on Linux) own desktop capture/playback per the
//! existing audio engine design. //! existing audio engine design.
// TODO(SDD-117): back-fill `IosVoiceUnit` to implement this trait // TRACKED(SDD-117): back-fill `IosVoiceUnit` to implement this trait
// so the engine can hold a single `Box<dyn MobileVoiceAudioBackend>` // so the engine can hold a single `Box<dyn MobileVoiceAudioBackend>`
// across iOS and Android. // across iOS and Android.