From 29f7a2c444d60fa155451d7e7f65cf637a1b7f41 Mon Sep 17 00:00:00 2001 From: Matthias Nott <mnott@mnsoft.org> Date: Wed, 25 Mar 2026 17:22:28 +0100 Subject: [PATCH] fix: M1 M2 M6 M7 L3 L5 - subnet batching, scroll debounce, error logging, typing timeout, remove unused deps --- TODO-appstore.md | 12 ++++++------ 1 files changed, 6 insertions(+), 6 deletions(-) diff --git a/TODO-appstore.md b/TODO-appstore.md index 4f73b46..252f1aa 100644 --- a/TODO-appstore.md +++ b/TODO-appstore.md @@ -20,21 +20,21 @@ ## MEDIUM (Improve before submission) -- [ ] **M1: Subnet scan hammers 254 hosts** — Could trigger IDS. Detect subnet mask or cap range -- [ ] **M2: No loadMore debounce** — Scroll pagination fires repeatedly on iOS bounce. Add isLoading guard +- [x] **M1: Subnet scan hammers 254 hosts** — Batched in groups of 20 with early exit *(fixed 2026-03-25)* +- [x] **M2: No loadMore debounce** — Added isLoadingMore guard *(fixed 2026-03-25)* - [ ] **M3: NavigateNotifier global singleton** — Mutable static, stale reference risk. Move to Riverpod provider - [ ] **M4: Unbounded _seenSeqs set** — O(n log n) eviction. Use FIFO deque instead - [ ] **M5: Screenshots bloat iCloud backup** — Store images as files, not base64 in JSON. Or exclude from backup -- [ ] **M6: Unused import** — `server_config.dart` import in chat_screen.dart suppressed with ignore comment -- [ ] **M7: Silent error swallowing** — ServerConfig _load() catches all exceptions silently. Add debugPrint +- [x] **M6: Unused import** — Already removed *(fixed 2026-03-25)* +- [x] **M7: Silent error swallowing** — Added debugPrint on config load failure *(fixed 2026-03-25)* ## LOW (Nice-to-haves) - [ ] **L1: PrivacyInfo.xcprivacy** — Required since 2024 for UserDefaults and FileTimestamp APIs - [ ] **L2: Privacy policy URL** — Required for microphone/camera access apps -- [ ] **L3: Unused dependencies** — Remove `web_socket_channel` and `wakelock_plus` from pubspec.yaml +- [x] **L3: Unused dependencies** — Removed web_socket_channel and wakelock_plus *(fixed 2026-03-25)* - [x] **L4: Unnecessary _http._tcp** — Removed from NSBonjourServices *(fixed 2026-03-25)* -- [ ] **L5: Typing indicator timeout** — Can get stuck if typing_end missed during background. Auto-clear after 10s +- [x] **L5: Typing indicator timeout** — Auto-clear after 10s *(fixed 2026-03-25)* - [ ] **L6: Version number** — Default 1.0.0+1, set correctly before submission - [ ] **L7: App icon** — Verify meets Apple guidelines (no alpha channel, correct sizes) -- Gitblit v1.3.1