Commit Graph

  • be160f5edd fix(ui,core): auto-VoiceState on connect + StatefulWidget dialogs (no PTT after join, save-bookmark crash) EdisonJwa 2026-05-16 21:09:54 +08:00
  • f0016155aa feat(ui,ios): replace audio_router with audio_session + custom VoIP-style picker EdisonJwa 2026-05-16 20:53:00 +08:00
  • 0c1fd1c2e3 fix(ui,ios): use TextField.onTapOutside instead of outer GestureDetector (fixes _dependents.isEmpty assert + keyboard lag) EdisonJwa 2026-05-16 19:18:54 +08:00
  • 6955547cec fix(ui,ios): switch tap-outside-unfocus to HitTestBehavior.opaque (eliminate keyboard race lag) EdisonJwa 2026-05-16 18:59:13 +08:00
  • 1ceb47f1e3 fix(ui,ios): remove _kickFocus microtask refocus (500-1000 ms keyboard lag) EdisonJwa 2026-05-16 18:55:00 +08:00
  • 7c62d14dd8 feat(ui,ios): inline mode+tail into voice sheet, fix Unknown audio route, tap-outside unfocus EdisonJwa 2026-05-16 18:44:48 +08:00
  • 79f83604da fix(ui,ios): apply community workaround for flutter/flutter#181474 (iOS 26 keyboard stale-focus) EdisonJwa 2026-05-16 18:31:48 +08:00
  • 23bd1c7930 fix(ui,ios): force TextInput.show on first tap (keyboard-up-on-first-tap) EdisonJwa 2026-05-16 18:23:57 +08:00
  • b8e9c8549e feat(ui,ios,android): audio output route picker + collapse voice controls into single modal EdisonJwa 2026-05-16 18:18:43 +08:00
  • fa94b9438f feat(ui): URL-shaped keyboard + lowercase enforcement for server host EdisonJwa 2026-05-16 18:05:41 +08:00
  • 4ee2b3850a fix(ios): rename allowBluetooth -> allowBluetoothHFP (iOS 26 SDK) EdisonJwa 2026-05-16 17:56:25 +08:00
  • 0466000733 fix(ios): defer AVAudioSession.setActive(true) to didBecomeActive EdisonJwa 2026-05-16 17:53:49 +08:00
  • 020be77faf fix(ui,ios): AppBar OVERFLOWED-BY strip + first-tap TextField via Listener EdisonJwa 2026-05-16 17:42:05 +08:00
  • a93109ac37 fix(ios): rebuild chanora_bridge.framework on every Xcode build, not just pod install EdisonJwa 2026-05-16 17:31:43 +08:00
  • f1f81a3d7e fix(core,bridge,ios): voice_join survives audio-engine failure; iOS log file EdisonJwa 2026-05-16 17:16:17 +08:00
  • 3b08ea9d32 feat(ui,mobile): Plan E voice UI -- status chip + bottom-anchored PTT + AppBar mutes EdisonJwa 2026-05-16 16:57:08 +08:00
  • 7c0e5caa92 fix(ui,ios): first-tap on TextField now opens the keyboard EdisonJwa 2026-05-16 15:50:27 +08:00
  • d4c04b6a72 fix(ui,audio,ios,macos): eight P0 mobile fixes EdisonJwa 2026-05-16 15:41:08 +08:00
  • 278df25fd7 feat(ui,ptt): on-screen touch-and-hold PTT button for iOS / iPadOS / Android EdisonJwa 2026-05-16 15:15:38 +08:00
  • f5d3810f5f feat(ios,macos): Apple privacy manifest (PrivacyInfo.xcprivacy) EdisonJwa 2026-05-16 16:03:39 +09:00
  • 1f729284b3 feat(flutter,ios): vendor chanora_bridge as a CocoaPods framework EdisonJwa 2026-05-16 15:57:36 +09:00
  • 6d094f3dbe docs(verification,index): iPad p0 acceptance checklist + 0.9.9 index row EdisonJwa 2026-05-16 14:41:33 +08:00
  • f0ddb160a0 fix(protocol,audio,ios): native-tls instead of rustls+aws-lc-rs EdisonJwa 2026-05-16 15:32:08 +09:00
  • 41d5a4b91b docs(verification,index): macOS + iOS p0 acceptance checklists + 0.9.8 index row EdisonJwa 2026-05-16 13:50:57 +08:00
  • f3320715ea feat(audio,ios): AVAudioSession PlayAndRecord+voiceChat in AppDelegate EdisonJwa 2026-05-16 13:50:43 +08:00
  • 383b707e7c feat(audio,macos): live CGEventTap PTT capture (SDD-085) EdisonJwa 2026-05-16 13:50:28 +08:00
  • e3d7017dd9 feat(macos,ios): entitlements + permission strings + bundle-glue script EdisonJwa 2026-05-16 14:26:13 +09:00
  • ade50488d9 feat(audio,macos): live IOHIDCheckAccess for Input Monitoring permission EdisonJwa 2026-05-16 14:09:47 +09:00
  • 4d57d189c9 feat(flutter,macos,ios): scaffold platform Xcode projects via flutter create EdisonJwa 2026-05-16 14:07:33 +09:00
  • cd402f164a docs(verification,index): linux p0 acceptance checklist + 0.9.7 index row EdisonJwa 2026-05-16 12:15:24 +08:00
  • 25b5bb3a6d fix(ui): wide-mode banner placement + channel-pill overflow EdisonJwa 2026-05-16 12:15:13 +08:00
  • d9c330c23b feat(audio,linux): output via SDL2; cpal stays on Windows/macOS EdisonJwa 2026-05-16 12:15:00 +08:00
  • 8acd456af1 feat(protocol): per-platform TS3 client_version selection EdisonJwa 2026-05-16 12:14:37 +08:00
  • 73066749e3 fix(audio,linux): isolate zbus blocking probe on a fresh OS thread EdisonJwa 2026-05-16 12:14:28 +08:00
  • 6df5ea960e chore: ignore opencode.json agent-local config EdisonJwa 2026-05-16 12:14:19 +08:00
  • 61798e5bdf docs(verification,index): update test counts + add 0.9.6 row for rc.8 acceptance EdisonJwa 2026-05-16 10:13:22 +08:00
  • 01003b3448 refactor(protocol): clarify pending_moves expiry sweep EdisonJwa 2026-05-16 10:10:03 +08:00
  • 2511b24982 fix(audio,protocol,ui): TC-2.3 + TC-10 + TC-13 + channel tree hierarchy EdisonJwa 2026-05-16 03:27:25 +08:00
  • 0b6ea11077 docs(verification): windows-p0-acceptance.md — human-side rc.8 sign-off EdisonJwa 2026-05-16 02:11:21 +08:00
  • 881321595e test(ptt): use capital 'Space' in set_binding_updates_descriptor_watch EdisonJwa 2026-05-16 02:06:02 +08:00
  • 606d594dc9 fix(audio,windows): init_tx is SyncSender not Sender (windows-only build fix) EdisonJwa 2026-05-16 01:55:31 +08:00
  • 181b3368d4 fix(audio,voice,log): six P0 issues from Korean Windows test EdisonJwa 2026-05-16 01:52:47 +08:00
  • bb3c82e2d5 chore(version): bump to v1.0.0-rc.8 (post-rc.7 v1 audio + PTT lifecycle work) EdisonJwa 2026-05-16 01:07:00 +08:00
  • 45fec2310e fix(ptt): disable missed-key-up watchdog on P0 (DEC-031, supersedes DEC-028) EdisonJwa 2026-05-16 01:04:40 +08:00
  • 6d4975bd6e fix(ptt,ui): Continuous mode no longer self-disables after 30 s; rename PTT label to Mic EdisonJwa 2026-05-16 00:57:10 +08:00
  • 21945979a3 test(audio,ptt): comprehensive Windows P0 unit-test suite (L0-L11) EdisonJwa 2026-05-16 00:47:10 +08:00
  • 7596f8a9dc fix(ui,voice): display 'Space' (not blank) in bind dialog; cut PTT poll latency EdisonJwa 2026-05-16 00:31:57 +08:00
  • 87cff52c0a test(ptt): acceptance tests for press-on / release-off shape EdisonJwa 2026-05-16 00:21:58 +08:00
  • 82b99ebcff feat(ui,voice): add speaker mute button to VoiceBar EdisonJwa 2026-05-16 00:18:18 +08:00
  • 33d80894d0 feat(ptt,audio): wire PTT key edges through ReleaseTailTimer (SDD-096) EdisonJwa 2026-05-16 00:05:54 +08:00
  • 64878e3a7d fix(ui,voice): consolidate to single Voice settings entry point EdisonJwa 2026-05-15 23:52:23 +08:00
  • 8cd919cffc fix(audio,storage,ui): allow PTT binding before audio is running EdisonJwa 2026-05-15 23:45:20 +08:00
  • 6a41a0b4db fix(ui,voice): five Voice Bar / settings UX bugs EdisonJwa 2026-05-15 23:34:53 +08:00
  • 7f4874f4c0 chore(bridge): regenerate FRB bindings for log_file_path_str EdisonJwa 2026-05-15 23:25:50 +08:00
  • 6a077ac7a1 feat(bridge): tee tracing output to platform log file + log_file_path_str API EdisonJwa 2026-05-15 23:18:57 +08:00
  • ba444d94bd feat(audio,bridge,flutter): v1 audio + PTT lifecycle implementation (SDD-094..097) EdisonJwa 2026-05-15 23:05:37 +08:00
  • dfa84ee7bb docs(spec): baseline 0.9.5 — v1 audio + PTT lifecycle redesign EdisonJwa 2026-05-15 22:46:51 +08:00
  • f9d20d8585 fix(audio,windows): adapt Raw Input + hook backends to windows-rs 0.54 API shape EdisonJwa 2026-05-15 22:08:02 +08:00
  • 77c2a1def4 feat(audio,windows): real Raw Input + low-level hook global PTT (SDD-083 / SDD-084) EdisonJwa 2026-05-15 22:01:28 +08:00
  • 8e04a1e2a6 fix(storage): file is durable DEK source; keyring is accelerator only EdisonJwa 2026-05-15 21:25:29 +08:00
  • 5c413ba199 fix(protocol): sort channels by TS3 linked-list order, not by numeric value EdisonJwa 2026-05-15 20:38:51 +08:00
  • feceacfdad feat(flutter): surface bound PTT key label in capability badge (SDD-091 follow-up) EdisonJwa 2026-05-15 20:35:42 +08:00
  • 9831624079 feat(ptt): close P0 unit-boundary gaps (SDD-088 / SDD-090 / SDD-091) EdisonJwa 2026-05-15 17:45:03 +08:00
  • 63f2901a6a docs(traceability): close SRS-200 SAD/SDD coverage gap (P0 audit follow-up) EdisonJwa 2026-05-15 17:02:26 +08:00
  • 03f5d6bca3 fix(p0): close three P0 coverage gaps after rc.5 audit EdisonJwa 2026-05-15 16:50:48 +08:00
  • 82d012a46b feat(ptt): live Linux GNOME-Wayland portal session flow (DEC-025) EdisonJwa 2026-05-15 16:43:45 +08:00
  • 5199e3d005 feat(ptt): full desktop backend ladder + missed-key-up watchdog (gen2 v0.9.3 follow-up) EdisonJwa 2026-05-15 15:38:42 +08:00
  • 7b21916049 feat(ptt): code-side initial split — transmit_active / capability badge / sanitizer EdisonJwa 2026-05-15 15:02:03 +08:00
  • 02ffadfa52 docs(ptt): land Baseline Candidate v0.9.3 — capability-based desktop PTT EdisonJwa 2026-05-15 14:51:22 +08:00
  • b932dc1405 feat(legal): land cargo-about + cargo-deny + Flutter license inventory EdisonJwa 2026-05-15 14:00:16 +08:00
  • 50768a8f48 feat(mvp): v1.0.0-rc.1 — keyring-backed DEK, encrypted bookmarks, MVP release-gate docs EdisonJwa 2026-05-15 02:24:42 +08:00
  • 780fd7eca2 feat(beta): External Beta — passwords, channel join, mute, bookmarks, encrypted identity EdisonJwa 2026-05-15 01:59:27 +08:00
  • fd181c014c feat(audio): A.5 — surface mobile voice-preset + effects toggles in AudioEngineConfig EdisonJwa 2026-05-15 01:28:23 +08:00
  • 43a3c9ba76 feat(events): A.4 — emit SnapshotChanged from the watchdog probe EdisonJwa 2026-05-15 01:27:57 +08:00
  • d2d9ba0a5b feat(diagnostics): A.3 — redacted in-memory log sink + user-initiated export EdisonJwa 2026-05-15 01:26:49 +08:00
  • 71ecb83781 feat(storage): A.2 — persist TS3 identity across app restarts EdisonJwa 2026-05-15 01:25:07 +08:00
  • f52d702e27 feat(core): A.6.1 — use OS connectivity signals to drive reconnect EdisonJwa 2026-05-15 01:07:21 +08:00
  • 0bef61aea2 feat(core): A.6 — supervisor reconnect with watchdog and event stream EdisonJwa 2026-05-15 01:06:07 +08:00
  • bc0da50cdb feat(protocol): A.1 — fix hostname resolution on Android and iOS EdisonJwa 2026-05-15 00:17:13 +08:00
  • 1324f478fe docs(release): add iOS build instructions + shell helper EdisonJwa 2026-05-14 23:49:58 +08:00
  • c81ccfd9a9 feat(android): produce v0.2.0-beta.1 Android APK with voice in/out EdisonJwa 2026-05-14 23:40:58 +08:00
  • 8094ec7277 docs(release): add Windows build instructions + PowerShell helper EdisonJwa 2026-05-14 23:02:56 +08:00
  • 9790005c3e feat(beta): wire voice in/out end-to-end with push-to-talk (v0.2.0-beta.1) v0.2.0-beta.1 EdisonJwa 2026-05-14 22:43:57 +08:00
  • 53b176b722 docs(governance): record Alpha milestone in PoC results summary (v0.5.0) EdisonJwa 2026-05-14 21:37:49 +08:00
  • 4915ec0a1b feat(alpha): wire connect→snapshot→disconnect end-to-end (v0.1.0-alpha.1) v0.1.0-alpha.1 EdisonJwa 2026-05-14 21:37:06 +08:00
  • e0f34009d9 docs(governance): record product scaffolding paths (DEC-022) EdisonJwa 2026-05-14 21:02:16 +08:00
  • 974dda9601 feat(scaffold): create product workspace + Rust crates + Flutter app EdisonJwa 2026-05-14 21:01:59 +08:00
  • 0f418f1d7e feat(legal): resolve DEC-020 — dual-license under Apache-2.0 OR MIT EdisonJwa 2026-05-14 20:53:04 +08:00
  • a0d1c35461 docs(governance): owner confirmation on remaining 17 decisions (register v0.9.5) EdisonJwa 2026-05-14 20:46:29 +08:00
  • 4c64517e45 docs(governance): promote audio PoC to PASS; close mobile-Android half EdisonJwa 2026-05-14 18:25:03 +08:00
  • ec21a880d2 feat(poc/audio): add Android mobile audio spike EdisonJwa 2026-05-14 18:24:53 +08:00
  • eca93a141e build(repo): gitignore Android/Gradle build artifacts EdisonJwa 2026-05-14 18:24:33 +08:00
  • 271d23faf7 docs(governance): record PoC outcomes, owner decisions, and audit evidence EdisonJwa 2026-05-14 12:34:13 +08:00
  • 181b3d329d docs(poc): add PoC index and record PoC outcomes in CHANGELOG EdisonJwa 2026-05-14 12:27:13 +08:00
  • d5b53996bc feat(poc/audio): add audio capture/playback spike (partial — desktop only) EdisonJwa 2026-05-14 12:27:04 +08:00
  • 06ec6f2965 feat(poc/diagnostics): add diagnostics-redaction spike EdisonJwa 2026-05-14 12:26:49 +08:00
  • 52e8d43f69 feat(poc/storage): add sqlite-storage spike EdisonJwa 2026-05-14 12:26:36 +08:00
  • 50c95b61ad feat(poc/storage): add secure-storage spike (Linux) EdisonJwa 2026-05-14 12:26:23 +08:00
  • 2bbad5feb9 feat(poc/bridge): add flutter_rust_bridge hello spike EdisonJwa 2026-05-14 12:26:09 +08:00
  • 02c11ead7e feat(poc/protocol): add tsclientlib connect spike EdisonJwa 2026-05-14 12:25:48 +08:00