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:
@@ -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),
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user