-
862f83b297
fix: parse linux distro metadata
Edison Jwa
2026-05-25 16:02:01 +09:00
-
4a2a05ef83
fix: keep diagnostics available while connecting
Edison Jwa
2026-05-25 16:01:48 +09:00
-
b8df25a195
Reduce Linux setup ambiguity and surface desktop input/message failures honestly
Edison Jwa
2026-05-25 11:55:10 +09:00
-
5c8c6df16b
Make beta release artifacts reproducible on Linux and Android
Edison Jwa
2026-05-25 03:21:21 +09:00
-
1709ae2ac2
Route Android system back through the Flutter shell
Edison Jwa
2026-05-25 03:21:02 +09:00
-
0648203100
build: lock resolver dependencies
Edison Jwa
2026-05-25 02:58:53 +09:00
-
6f64062fd8
chore: clean Android voice build warnings
Edison Jwa
2026-05-25 01:27:28 +09:00
-
7c9660572e
chore: refresh iOS project metadata
Edison Jwa
2026-05-25 01:20:36 +09:00
-
1326b03301
build: add Android release APK packaging script
Edison Jwa
2026-05-25 01:20:16 +09:00
-
5515ff6643
feat: stabilize voice activity and audio routing
Edison Jwa
2026-05-25 01:19:09 +09:00
-
eb9014cd81
feat: add TeamSpeak address resolver
Edison Jwa
2026-05-25 01:12:50 +09:00
-
d7556cd39f
feat: request Android startup permissions
Edison Jwa
2026-05-25 01:10:10 +09:00
-
11d4e7b7da
fix: stabilize Android permission state names
Edison Jwa
2026-05-25 01:08:02 +09:00
-
b8195acc9b
perf: avoid duplicate bootstrap work on join
Edison Jwa
2026-05-24 21:02:16 +09:00
-
b494f8902d
perf: short-circuit granted mic permission checks
Edison Jwa
2026-05-24 20:54:49 +09:00
-
9b8d812f9c
chore: ignore local workspace metadata
Edison Jwa
2026-05-23 06:52:48 +09:00
-
3200312b0d
docs: add baseline references and workspace tasks
Edison Jwa
2026-05-23 06:52:24 +09:00
-
7d5d8c2c90
feat: integrate chat voice and diagnostics client
Edison Jwa
2026-05-23 06:51:55 +09:00
-
7e28791ec2
Handle pokes outside chat tabs
Edison Jwa
2026-05-23 05:25:36 +09:00
-
738b274748
chore: bump build number to +76
Edison Jwa
2026-05-22 10:03:17 +09:00
-
bf284018e6
feat: Android Oboe voice backend — WebRTC APM, VAD, HW/SW toggle, BBCode welcome, link trust, foreground task
Edison Jwa
2026-05-22 09:29:57 +09:00
-
6af4ecab0f
feat(voice): add iOS VAD runtime support
Edison Jwa
2026-05-21 20:51:45 +09:00
-
171baf6e41
fix(voice): clamp transmit when speakers muted
Edison Jwa
2026-05-20 16:37:48 +09:00
-
9a2c882ab0
fix(core): keep speaker mute local
Edison Jwa
2026-05-20 16:26:19 +09:00
-
f8a9c7a422
fix(android): add output device picker
Edison Jwa
2026-05-20 16:26:13 +09:00
-
f4db27b565
fix(android): expose audio output devices
Edison Jwa
2026-05-20 16:26:07 +09:00
-
2382c2b569
fix(security): update vulnerable rust dependencies
Edison Jwa
2026-05-20 14:45:10 +09:00
-
256874997b
fix(android): request microphone permission on startup
Edison Jwa
2026-05-20 14:42:00 +09:00
-
b65cedfa95
fix(android): recover from input stream failures
Edison Jwa
2026-05-20 14:29:55 +09:00
-
bc1bd89424
fix(android): strengthen user voice indicators
Edison Jwa
2026-05-20 11:15:51 +09:00
-
b21fc16ee6
fix(android): clarify channel and voice status icons
Edison Jwa
2026-05-20 10:50:18 +09:00
-
34121b2eb7
fix(android): use row-only channel joins
Edison Jwa
2026-05-20 10:29:25 +09:00
-
48a38dba46
fix(android): prompt from locked channel rows
Edison Jwa
2026-05-20 10:19:23 +09:00
-
f8b6485390
fix(android): show password action only for locked channels
Edison Jwa
2026-05-20 10:13:19 +09:00
-
273eaf21c1
fix(android): add channel password join action
Edison Jwa
2026-05-20 10:00:18 +09:00
-
42d0ca0953
fix(android): polish app chrome and join guard
Edison Jwa
2026-05-20 09:51:48 +09:00
-
bc70da51df
fix(android): derive current channel from snapshot
Edison Jwa
2026-05-20 09:38:39 +09:00
-
7473878136
fix(core): emit voice state from snapshots
Edison Jwa
2026-05-20 09:32:58 +09:00
-
3ae8e1ab77
fix(android): adapt fold layout and diagnostics
Edison Jwa
2026-05-20 09:25:44 +09:00
-
30ff955439
fix(android): clear permission-owned hard mute
Edison Jwa
2026-05-20 08:29:31 +09:00
-
eb1f4b895e
fix(android): remove cpal product wording
Edison Jwa
2026-05-20 08:17:40 +09:00
-
210a6a0e11
fix(android): unblock mic permission startup
Edison Jwa
2026-05-20 08:17:31 +09:00
-
7254f81c65
fix(core): complete voice joins on server accept
Edison Jwa
2026-05-20 08:17:22 +09:00
-
2861f5b010
fix(core): normalize channel passwords before joins
Edison Jwa
2026-05-20 01:37:58 +09:00
-
26b06ce786
fix(android): expose voice diagnostics safely
Edison Jwa
2026-05-20 01:37:49 +09:00
-
d6763787aa
feat(android): initialise Oboe runtime context
Edison Jwa
2026-05-20 01:37:43 +09:00
-
c87b47f064
feat(audio): prefer native voice backends
Edison Jwa
2026-05-20 01:37:35 +09:00
-
7d6d56e330
docs(p0): compact MVP spec for Android Oboe focus
Edison Jwa
2026-05-20 01:37:02 +09:00
-
8c253f1d4d
feat(voice): harden Android audio and channel joins
Edison Jwa
2026-05-19 01:58:07 +09:00
-
29a553d4e1
docs(traceability): add Deferred Work Watchlist (DW-001..DW-012); matrix v0.9.11
EdisonJwa
2026-05-18 14:52:01 +08:00
-
477394d83e
fix(android,build): restore multi-ABI build via cmake-rs patch (DEC-032 exit)
EdisonJwa
2026-05-18 14:48:16 +08:00
-
167aef5760
docs(sysrs): SysRS-310 — macOS minimum runtime baseline (v0.9.11)
EdisonJwa
2026-05-18 14:41:55 +08:00
-
a77a9b2ef2
docs(sdd-119)+feat(macos): consolidate deployment-target SoT (SDD-119 amendment v0.9.17)
EdisonJwa
2026-05-18 14:39:14 +08:00
-
92087d066a
docs(verification,traceability): SWE4-UV-058..062 for SDD-120 benches + matrix absorption
EdisonJwa
2026-05-18 14:15:04 +08:00
-
ed3c01bcb9
chore: ignore SDD-120 bench-harness root outputs (current.json, report.md)
EdisonJwa
2026-05-18 14:05:11 +08:00
-
b4cfb8174d
docs(sdd-120): correct post-processor binary placement to examples/ (v0.9.16)
EdisonJwa
2026-05-18 14:03:18 +08:00
-
7188a5a69d
feat(perf,benchmark-infra): criterion bench harness + advisory CI workflows (SDD-120)
EdisonJwa
2026-05-18 13:52:15 +08:00
-
575a6cbc5c
docs(perf,benchmark-infra): authorize realtime audio benchmark + advisory CI (SysRS-307..309 / SysDes-156..158 / SRS-216..219 / SAD-088..091 / SDD-120)
EdisonJwa
2026-05-18 13:36:01 +08:00
-
d13b56d379
perf(audio): pre-allocate capture scratch buffers to avoid realtime-thread Vec allocs (SDD-094)
EdisonJwa
2026-05-18 13:01:52 +08:00
-
5aa51c310f
docs(p0): SysRS/SysDes/SRS/SAD/SDD/Verification + traceability for Android P0 reconciliation
EdisonJwa
2026-05-18 09:52:54 +08:00
-
4c19410556
test+diag: SWE.4 unit tests for Rust paths, Dart service tests, diagnostics audio.android section
EdisonJwa
2026-05-18 09:52:28 +08:00
-
c4145a8727
feat(flutter,android): permission state banner + AndroidPermissionsService + voice-join gate
EdisonJwa
2026-05-18 09:52:12 +08:00
-
0dc8297568
feat(android,p0): foreground service, permission requester, application class, build automation
EdisonJwa
2026-05-18 09:51:59 +08:00
-
7966a7c8c6
feat(bridge,android): BridgeEvent::PermissionState + JNI publish hook + c++_shared link
EdisonJwa
2026-05-18 09:51:38 +08:00
-
56222d190e
feat(audio): clamp transmit selector on RECORD_AUDIO permission state (SDD-106 §6)
EdisonJwa
2026-05-18 09:51:24 +08:00
-
78190c0694
feat(audio,android): wire engine + AudioManager JNI through ModeStack (SDD-108 §2)
EdisonJwa
2026-05-18 09:51:08 +08:00
-
76c6d1d40c
feat(audio,android): add MobileVoiceAudioBackend + AndroidVoiceUnit (oboe-rs)
EdisonJwa
2026-05-18 09:50:53 +08:00
-
da0b208075
feat(audio): add ModeStack pure refcount helper (SDD-108)
EdisonJwa
2026-05-18 09:50:31 +08:00
-
dc9c5c0a4e
feat: multi-platform bug fixes, Android audio path, and build tooling
Edison Jwa
2026-05-18 00:13:21 +09:00
-
00692b76a2
fix(macOS): enable Hardened Runtime + outgoing network for all configs
Edison Jwa
2026-05-17 22:32:30 +09:00
-
72c6e14797
feat: modern macOS window chrome + Linux build script
Edison Jwa
2026-05-17 22:29:42 +09:00
-
63b102ed27
feat: add NSLocalNetworkUsageDescription to iOS and macOS Info.plist
Edison Jwa
2026-05-17 22:10:39 +09:00
-
4ecea09bbc
feat: add permission-denied dialog for macOS network/mic access
Edison Jwa
2026-05-17 21:57:56 +09:00
-
b97cc9589b
chore: upgrade dependencies to fix low-severity vulnerability
Edison Jwa
2026-05-17 21:48:24 +09:00
-
618b6930fe
feat: add macOS bridge podspec, Windows project, sync versions to 0.2.0-beta.1
Edison Jwa
2026-05-17 21:42:54 +09:00
-
7a59f5b9a1
feat(ios,p0): iOS P0 platform, audio fixes, channel UX
Edison Jwa
2026-05-17 22:00:00 +09:00
-
a1fefc8ab6
fix(audio,ios): revert ring buffer back to direct fill_buffer call (rc.8+75)
EdisonJwa
2026-05-17 13:05:09 +08:00
-
a9aa19ecdd
diag(audio,ios): comprehensive producer + consumer ring-buffer metrics (rc.8+74)
EdisonJwa
2026-05-17 02:47:35 +08:00
-
99584fbc1a
fix(audio,ios): decouple AudioHandler from VPIO render callback via ring buffer (rc.8+73)
EdisonJwa
2026-05-17 02:39:42 +08:00
-
53e09ea091
diag(audio,ios): comprehensive render-callback metrics per external review (rc.8+72)
EdisonJwa
2026-05-17 02:25:31 +08:00
-
2735c55c97
diag(audio,ios): log actual VPIO + AVAudioSession state post-init (rc.8+71)
EdisonJwa
2026-05-17 02:17:37 +08:00
-
6e0bf21295
fix(audio,ios): route playback via media channel (.default + .defaultToSpeaker) (rc.8+70)
EdisonJwa
2026-05-17 02:11:07 +08:00
-
e85a6d36d7
fix(audio,ios): apply 8x output boost to compensate for VPIO raw playback (rc.8+69)
EdisonJwa
2026-05-17 01:58:15 +08:00
-
c16318c86b
fix(audio,ios): bypass VPIO voice processing for clean playback (rc.8+68)
EdisonJwa
2026-05-17 01:54:07 +08:00
-
c89acacc74
fix(ios,audio): pair VPIO with AVAudioSession mode .voiceChat (rc.8+67)
EdisonJwa
2026-05-17 01:44:05 +08:00
-
63cbab901e
diag(audio,ios): instrument VPIO render callback to isolate playback breakage (rc.8+66)
EdisonJwa
2026-05-17 01:26:15 +08:00
-
ecf9370db1
fix(ui): preserve '-rc.8' in About dialog despite iOS version sanitisation (rc.8+65)
EdisonJwa
2026-05-17 01:18:06 +08:00
-
e7c3ffa6d2
feat(audio,ios): wire VPIO render callback to AudioHandler (commit 4/5, rc.8+64)
EdisonJwa
2026-05-17 01:12:57 +08:00
-
1aa514df75
feat(audio,ios): wire VPIO input callback to Opus encoder (commit 3/5, rc.8+63)
EdisonJwa
2026-05-17 01:11:11 +08:00
-
9502580b5a
chore(audio,ios): silence cpal-side dead_code on iOS + regen Podfile.lock (rc.8+62)
EdisonJwa
2026-05-17 01:00:50 +08:00
-
5de6eccc0c
fix(audio,ios): correct ios_voice_unit imports + iOS stop() field access (rc.8+61)
EdisonJwa
2026-05-17 00:53:39 +08:00
-
97a6ba6b55
feat(ui): show build number in About dialog (v1.0.0-rc.8+<build>)
EdisonJwa
2026-05-17 00:49:05 +08:00
-
3b1724e970
feat(audio,ios): wire IosVoiceUnit into AudioEngine, cfg-gate cpal away on iOS (commit 2/5)
EdisonJwa
2026-05-17 00:45:50 +08:00
-
af686ca7a6
feat(audio,ios): add coreaudio-rs dep + IosVoiceUnit skeleton (commit 1/5)
EdisonJwa
2026-05-17 00:42:47 +08:00
-
6a4dbad60e
fix(ios,audio): use AVAudioSession mode .default + correct mono downmix
EdisonJwa
2026-05-17 00:18:48 +08:00
-
2f6cdd3ad4
Revert "diag(ios,audio): log AVAudioSession state + route changes around picker overrides"
EdisonJwa
2026-05-17 00:17:10 +08:00
-
da631a2bef
diag(ios,audio): log AVAudioSession state + route changes around picker overrides
EdisonJwa
2026-05-16 23:57:50 +08:00
-
b1d117033e
fix(ios,audio): don't call setPreferredInput after speaker/receiver override (silent route reversion)
EdisonJwa
2026-05-16 21:36:59 +08:00
-
9413703372
fix(ios,audio): drop .defaultToSpeaker; speakerphone toggle now actually switches
EdisonJwa
2026-05-16 21:32:41 +08:00
-
54ec8dd5a8
feat(audio): tune Opus encoder for VoIP (bitrate 32k, complexity 10, inband FEC, 5% PLC)
EdisonJwa
2026-05-16 21:22:52 +08:00