diff --git a/androidApp/src/main/kotlin/com/fivucsas/authenticator/ui/AuthenticatorScreen.kt b/androidApp/src/main/kotlin/com/fivucsas/authenticator/ui/AuthenticatorScreen.kt index e4baee49..364eff36 100644 --- a/androidApp/src/main/kotlin/com/fivucsas/authenticator/ui/AuthenticatorScreen.kt +++ b/androidApp/src/main/kotlin/com/fivucsas/authenticator/ui/AuthenticatorScreen.kt @@ -108,7 +108,7 @@ fun AuthenticatorScreen( val result = viewModel.addFromUri(uri) showQrScanner = false if (result.isFailure) { - // TODO(i18n): promote to StringKey.OTP_SCAN_UNSUPPORTED once string table is updated. + // TODO(#101)(i18n): promote to StringKey.OTP_SCAN_UNSUPPORTED once string table is updated. // Tracked in /tmp/i18n_agent_20E.txt (agent 20E). Toast.makeText( context, diff --git a/androidApp/src/main/kotlin/com/fivucsas/mobile/android/ui/component/ExportDataRow.kt b/androidApp/src/main/kotlin/com/fivucsas/mobile/android/ui/component/ExportDataRow.kt index 1e47f6f6..9bfbc765 100644 --- a/androidApp/src/main/kotlin/com/fivucsas/mobile/android/ui/component/ExportDataRow.kt +++ b/androidApp/src/main/kotlin/com/fivucsas/mobile/android/ui/component/ExportDataRow.kt @@ -53,7 +53,7 @@ fun ExportDataRow( val context = LocalContext.current val state by viewModel.state.collectAsState() - // TODO(i18n): DATA_EXPORT_* keys in /tmp/i18n_agent_20B.txt + // TODO(#100)(i18n): DATA_EXPORT_* keys in /tmp/i18n_agent_20B.txt val titleText = "Export my data" val descriptionText = "Download a JSON copy of all personal data we store about you (GDPR Art. 20 / KVKK)." diff --git a/androidApp/src/main/kotlin/com/fivucsas/mobile/android/ui/screen/DashboardScreen.kt b/androidApp/src/main/kotlin/com/fivucsas/mobile/android/ui/screen/DashboardScreen.kt index 4a31fff7..a96ce148 100644 --- a/androidApp/src/main/kotlin/com/fivucsas/mobile/android/ui/screen/DashboardScreen.kt +++ b/androidApp/src/main/kotlin/com/fivucsas/mobile/android/ui/screen/DashboardScreen.kt @@ -225,7 +225,7 @@ fun DashboardScreen( // Notifications bell hidden: there is no backend notifications // feed yet, so the screen was permanently "No notifications yet". // onNavigateToNotifications stays wired — restore the bell once a - // feed endpoint exists (see NotificationsScreen TODO). + // feed endpoint exists (see NotificationsScreen TODO(#103)). IconButton(onClick = onNavigateToProfile) { Icon( imageVector = Icons.Default.Person, diff --git a/shared/src/androidMain/kotlin/com/fivucsas/shared/platform/AndroidCameraService.kt b/shared/src/androidMain/kotlin/com/fivucsas/shared/platform/AndroidCameraService.kt index b9420977..127cfcd2 100644 --- a/shared/src/androidMain/kotlin/com/fivucsas/shared/platform/AndroidCameraService.kt +++ b/shared/src/androidMain/kotlin/com/fivucsas/shared/platform/AndroidCameraService.kt @@ -95,7 +95,7 @@ class AndroidCameraService( } } - // TODO(camera-x): migrate from setTargetResolution(Size) to + // TODO(#107)(camera-x): migrate from setTargetResolution(Size) to // ResolutionSelector + ResolutionStrategy (CameraX 1.3+). Requires // picking aspect-ratio strategy and verifying biometric capture // quality on the new path. Tracked separately from this polish sweep. diff --git a/shared/src/commonMain/kotlin/com/fivucsas/shared/data/remote/api/BiometricApiImpl.kt b/shared/src/commonMain/kotlin/com/fivucsas/shared/data/remote/api/BiometricApiImpl.kt index a8327f84..21f3d539 100644 --- a/shared/src/commonMain/kotlin/com/fivucsas/shared/data/remote/api/BiometricApiImpl.kt +++ b/shared/src/commonMain/kotlin/com/fivucsas/shared/data/remote/api/BiometricApiImpl.kt @@ -75,7 +75,7 @@ class BiometricApiImpl( imageBytes: ByteArray, imageName: String ): LivenessResponseDto { - // TODO(biometric-liveness): The Identity Core API exposes NO standalone + // TODO(#105)(biometric-liveness): The Identity Core API exposes NO standalone // liveness endpoint. Server-side passive liveness is folded into // /biometric/verify (LIVENESS_BACKEND=uniface, LIVENESS_MODE=passive on // the processor). There is therefore nothing for a client-only liveness diff --git a/shared/src/commonMain/kotlin/com/fivucsas/shared/data/remote/dto/IdentificationResponseDto.kt b/shared/src/commonMain/kotlin/com/fivucsas/shared/data/remote/dto/IdentificationResponseDto.kt index bc7be88b..0f313590 100644 --- a/shared/src/commonMain/kotlin/com/fivucsas/shared/data/remote/dto/IdentificationResponseDto.kt +++ b/shared/src/commonMain/kotlin/com/fivucsas/shared/data/remote/dto/IdentificationResponseDto.kt @@ -6,7 +6,7 @@ import kotlinx.serialization.Serializable /** * 1:N face-search response. * - * TODO(biometric-search): the Identity `/biometric/search` endpoint returns an + * TODO(#104)(biometric-search): the Identity `/biometric/search` endpoint returns an * opaque processor map ({matches:[{user_id, similarity}], ...}) rather than this * flat shape. All fields default so deserialization never throws on the real * payload; remap to the processor's `matches` array once the search UI needs diff --git a/shared/src/iosMain/kotlin/com/fivucsas/authenticator/totp/HmacPlatform.ios.kt b/shared/src/iosMain/kotlin/com/fivucsas/authenticator/totp/HmacPlatform.ios.kt index 790b6e6e..bf9516ff 100644 --- a/shared/src/iosMain/kotlin/com/fivucsas/authenticator/totp/HmacPlatform.ios.kt +++ b/shared/src/iosMain/kotlin/com/fivucsas/authenticator/totp/HmacPlatform.ios.kt @@ -1,7 +1,7 @@ package com.fivucsas.authenticator.totp actual fun hmacSha1(key: ByteArray, message: ByteArray): ByteArray = - TODO("iOS HMAC via CommonCrypto — tracked in docs/plans/CLIENT_APPS_PARITY.md") + TODO(#106)("iOS HMAC via CommonCrypto — tracked in docs/plans/CLIENT_APPS_PARITY.md") actual fun hmacSha256(key: ByteArray, message: ByteArray): ByteArray = TODO("iOS HMAC via CommonCrypto — tracked in docs/plans/CLIENT_APPS_PARITY.md")