Commit Graph

  • 12020b019c fix(video): normalize VideoToolbox plane strides to tight I420 main video-usable-20260526 Siavash Sameni 2026-05-26 15:22:40 +04:00
  • 3ea25a0656 fix(android): use MediaCodec input layout for video encode Siavash Sameni 2026-05-26 11:35:24 +04:00
  • 112472609e fix(video): add frame metadata and Android encode diagnostics Siavash Sameni 2026-05-26 11:28:17 +04:00
  • 9a7745978b feat(video): add codec and resolution controls Siavash Sameni 2026-05-26 10:05:20 +04:00
  • f85efb9576 fix(video): improve android stream smoothness Siavash Sameni 2026-05-26 09:57:10 +04:00
  • 31b2caa54d fix(video): request keyframes after packet loss Siavash Sameni 2026-05-26 09:23:08 +04:00
  • 079e21e174 fix(video): resync decoder after packet gaps Siavash Sameni 2026-05-26 09:16:02 +04:00
  • e676641538 fix(android): suppress debuggable lint for diagnostic builds Siavash Sameni 2026-05-26 09:09:06 +04:00
  • 9713efc404 chore(android): add release debuggable build Siavash Sameni 2026-05-26 09:05:09 +04:00
  • 8415804a1a fix(video): vsync remote canvas draws Siavash Sameni 2026-05-26 08:46:11 +04:00
  • f65b399a21 fix(build): preserve debuggable android APKs Siavash Sameni 2026-05-26 08:35:46 +04:00
  • 3437a6bd11 debug(video): add android frame dump pull helper Siavash Sameni 2026-05-26 08:34:36 +04:00
  • 15eb00ed5e debug(video): dump frames across capture and decode Siavash Sameni 2026-05-26 07:39:21 +04:00
  • 0c2297a2b7 fix(video): sync camera capture and float preview Siavash Sameni 2026-05-26 07:30:19 +04:00
  • a08a37b5eb fix(video): stabilize relay streams and remote rendering Siavash Sameni 2026-05-26 07:18:22 +04:00
  • f6ace54556 fix(call): enable direct video and shorten portmap probe Siavash Sameni 2026-05-26 06:35:31 +04:00
  • 47baa1a765 fix(video): reassemble out-of-order fragments Siavash Sameni 2026-05-26 06:16:53 +04:00
  • ee654cd1ef fix(video): skip startup black frames Siavash Sameni 2026-05-25 21:35:00 +04:00
  • d2046060b5 fix(video): request android sync frames via mediacodec Siavash Sameni 2026-05-25 21:28:59 +04:00
  • 0b7bf1b385 fix(video): feed android h264 encoder nv12 Siavash Sameni 2026-05-25 21:20:01 +04:00
  • e8f139588a chore(video): sample decoded frames periodically Siavash Sameni 2026-05-25 21:14:32 +04:00
  • 0115b11de7 chore(video): log compact video samples Siavash Sameni 2026-05-25 21:06:32 +04:00
  • fa812a17d9 fix(video): normalize mediacodec buffers Siavash Sameni 2026-05-25 21:02:41 +04:00
  • 8d6b168f1b fix(video): normalize camera frames before encoding Siavash Sameni 2026-05-25 20:49:32 +04:00
  • ca164ada5c fix(relay): forward legacy h264 room video stream Siavash Sameni 2026-05-25 20:46:41 +04:00
  • 2d58bae9ba chore(relay): log video forwarding decisions in debug tap Siavash Sameni 2026-05-25 20:42:24 +04:00
  • e1ca6ca6e6 fix(video): use relay-default stream for room video Siavash Sameni 2026-05-25 20:39:25 +04:00
  • 06d28a9280 fix(video): preserve annex-b mediacodec output Siavash Sameni 2026-05-25 20:20:22 +04:00
  • d57ebe3d2c fix(video): force h264 and trace frame pipeline Siavash Sameni 2026-05-25 20:03:11 +04:00
  • 7eca79846f fix(quality): use windowed loss instead of cumulative for codec adaptation Siavash Sameni 2026-05-25 18:55:57 +04:00
  • 25b3278d31 feat(android): wire video send + recv in Android engine; add video:* debug events Siavash Sameni 2026-05-25 18:19:42 +04:00
  • cbc3a8d37e feat(ui): full-screen video stage with PiP local preview Siavash Sameni 2026-05-25 17:53:10 +04:00
  • 1329abbeba docs(prd): rewrite E2E PRD — prior approach broke multi-client voice Siavash Sameni 2026-05-25 17:44:57 +04:00
  • e8cab25eda fix: revert E2E AEAD wrapping (broke multi-client voice); add Android CAMERA Siavash Sameni 2026-05-25 17:04:56 +04:00
  • c41ced53e1 feat(ui): add Join Video button — joins call and auto-starts camera Siavash Sameni 2026-05-25 16:39:27 +04:00
  • 7fd66be6c8 Merge branch 'experimental-ui' Siavash Sameni 2026-05-25 15:30:45 +04:00
  • 8002acaf09 fix(scripts): stage android-build-async.sh and featherchat submodule Siavash Sameni 2026-05-25 15:30:41 +04:00
  • 06253fdeeb feat(video+desktop): camera capture, video UI, E2E AEAD wiring, test fixes Siavash Sameni 2026-05-25 15:30:26 +04:00
  • 01f55caa96 fix(build): escape awk single-quotes inside bash -c heredoc experimental-ui Siavash Sameni 2026-05-25 10:17:43 +04:00
  • 0f93a2b745 fix(build): patch unsigned APK directly instead of re-running Gradle Siavash Sameni 2026-05-25 09:56:42 +04:00
  • 2b93bd4b45 fix(build): copy frontendDist to Android assets after cargo tauri build Siavash Sameni 2026-05-25 09:51:48 +04:00
  • bc021517c0 feat(scripts): android-build-async.sh — fire-and-forget APK builder Siavash Sameni 2026-05-25 09:39:49 +04:00
  • 739bdaf3ab feat(debug): emit media:room_update and participants call-event from signal task Siavash Sameni 2026-05-25 09:07:08 +04:00
  • bc1668ed96 fix(android): run set_audio_mode_communication on Tauri main thread Siavash Sameni 2026-05-25 08:18:18 +04:00
  • 77b036439b fix(android): spawn_blocking + 2s timeout for set_audio_mode_communication Siavash Sameni 2026-05-25 08:08:24 +04:00
  • 0ebc73ab13 fix(android): remove legacy connected event_cb; add preflight_start debug step Siavash Sameni 2026-05-25 08:02:19 +04:00
  • 394987a349 fix(android): 8s Rust timeout on audio_start; always emit connect: debug events Siavash Sameni 2026-05-25 07:49:21 +04:00
  • 2aa6582585 fix(android): call-debug instrumentation for audio startup path Siavash Sameni 2026-05-25 07:38:38 +04:00
  • ca987d547c fix(android): return -6 on Oboe start timeout; fix error toast; add bug report Siavash Sameni 2026-05-25 07:31:55 +04:00
  • 5a13f12334 fix(android): spawn_blocking for audio_start + 15s JS connect timeout Siavash Sameni 2026-05-25 07:13:26 +04:00
  • b0a3b1f18e fix: 10s timeout on handshake CallAnswer; button stays visible during connect Siavash Sameni 2026-05-25 06:59:57 +04:00
  • 32c07d1b61 fix(ui): show error toast + guard double-tap on join; ntfy relay deploy Siavash Sameni 2026-05-25 06:49:05 +04:00
  • 5d05b021aa fix(wzp-video): gate shiguredo AV1 crates to macOS only; fix Linux relay build Siavash Sameni 2026-05-25 06:33:35 +04:00
  • 4ac62d99e0 fix(audit): M1 — add version: u8 to all SignalMessage variants Siavash Sameni 2026-05-25 06:27:23 +04:00
  • 4ebb2dac2d feat(scripts): add --deploy flag to build-linux-docker.sh Siavash Sameni 2026-05-25 06:25:32 +04:00
  • 52a6f5e048 fix(audit): address C2, C3, M4, M5 from 2026-05-25 audit Siavash Sameni 2026-05-25 06:20:05 +04:00
  • 15af58a95d fix(wzp-video): fix ndk 0.9 MediaCodec API + missing constants for Android build Siavash Sameni 2026-05-25 06:05:58 +04:00
  • ed8a7ae5aa docs: protocol audit 2026-05-25, update architecture + Obsidian vault Siavash Sameni 2026-05-25 06:00:17 +04:00
  • 12b0d9738f fix(wzp-crypto): derive AEAD nonces from MediaHeader.seq, not recv_seq Siavash Sameni 2026-05-25 06:00:01 +04:00
  • f78794f4b6 chore: pin @tauri-apps/api to ^2.11 to match Cargo.lock Siavash Sameni 2026-05-25 05:55:20 +04:00
  • f3e3ee5ed0 fix(wzp-video): cfg-gate dav1d + svt-av1 off Android target Siavash Sameni 2026-05-12 19:58:37 +04:00
  • f28f39d814 ci: gitleaks allowlist for historical findings Siavash Sameni 2026-05-12 19:51:51 +04:00
  • 1e729e4b1d T6.3: Design exploration for federated reputation gossip Siavash Sameni 2026-05-12 19:13:31 +04:00
  • 086d0a4845 T6.1.2: Wire AV1 into call engine (factory + step tables) Siavash Sameni 2026-05-12 19:04:33 +04:00
  • 9334aa5ccd T6.1: AV1 encoder/decoder with HW probe + SVT-AV1 SW fallback Siavash Sameni 2026-05-12 18:33:43 +04:00
  • 553c8a4ce1 T6.1 plan: expand skeleton with files/steps/verify/done-when for AV1 encoder/decoder Siavash Sameni 2026-05-12 18:08:27 +04:00
  • 8d8dddbd35 docs: add T6.2 report and update status board to Pending Review Siavash Sameni 2026-05-12 17:45:04 +04:00
  • f16d650721 T6.2: Tier F video scorer — keyframe periodicity, I/P ratio, BWE responsiveness + 10 tests Siavash Sameni 2026-05-12 17:42:39 +04:00
  • 31f2fdef1e T6.2 plan: expand skeleton with files/steps/verify/done-when for video scorer Siavash Sameni 2026-05-12 17:14:25 +04:00
  • fc9908cd4c docs: fix commit SHA in T5.7.1 report Siavash Sameni 2026-05-12 16:49:16 +04:00
  • 517d0ebfe0 T5.7.1: Unify Verdict enum into wzp_relay::verdict, drop RepeatAbusive variant Siavash Sameni 2026-05-12 16:48:12 +04:00
  • cf4940417e docs: add T5.1.1–T5.8 reports and update status board to Pending Review Siavash Sameni 2026-05-12 15:41:28 +04:00
  • ffded2a913 clippy: fix wzp-relay lint issues (empty doc, unused var, TokenExhausted, Default, dead field) Siavash Sameni 2026-05-12 15:40:55 +04:00
  • 283edd38eb clippy: fix very_complex_type in wzp-video (HevcParameterSets alias) Siavash Sameni 2026-05-12 15:40:19 +04:00
  • fdfaed5390 fmt: cargo fmt --all Siavash Sameni 2026-05-12 15:40:02 +04:00
  • dbbab0decf T5.8: Tier G response policy — Verdict enum + ResponsePolicy + typed Hangup::PolicyViolation + 9 tests Siavash Sameni 2026-05-12 15:13:20 +04:00
  • 5fda5ecc52 T5.7: Tier F audio scorer — IAT CoV + silence fraction + bitrate + Q-flag + bimodality + 11 tests Siavash Sameni 2026-05-12 15:09:28 +04:00
  • 2bbb664df4 T5.6: Per-receiver layer selection at SFU — ReceiverState + hysteresis + forwarding filter Siavash Sameni 2026-05-12 15:05:32 +04:00
  • 2f1a9f74d5 T5.5: 3-layer simulcast at sender — SimulcastEncoder + tick_simulcast() + 10 tests Siavash Sameni 2026-05-12 14:56:48 +04:00
  • b197651557 T5.4: H.265 encoder/decoder wrappers — VideoToolbox + MediaCodec, CodecId::H265Main Siavash Sameni 2026-05-12 14:50:20 +04:00
  • 9c41d1acdd T5.3 status: Approved (reviewer update) Siavash Sameni 2026-05-12 14:50:12 +04:00
  • e34c40dc0f T5.1.1: PriorityMode default = AudioFirst, QualityProfile backward-compat JSON, SetPriorityMode roundtrip Siavash Sameni 2026-05-12 14:50:06 +04:00
  • c48cb6fbcb T5.3: EncoderMode::SlideFallback — SD-floor detection + VideoEncoder::set_mode() trait hook Siavash Sameni 2026-05-12 12:40:53 +04:00
  • 2e0bdc5904 T5.2: VideoQualityController with per-mode allocation gates + 8-step target table Siavash Sameni 2026-05-12 12:34:32 +04:00
  • 276ecc660e T5.1: PriorityMode enum + SetPriorityMode signal; extend QualityProfile with video fields Siavash Sameni 2026-05-12 12:21:11 +04:00
  • 001d94f9ae T4.7 rework: make should_forward_pli take now: Instant + 6 unit tests Siavash Sameni 2026-05-12 11:39:35 +04:00
  • 36b0421d68 T4.7: PLI suppression at SFU — 200 ms dedup window per (room, stream_id) Siavash Sameni 2026-05-12 11:04:14 +04:00
  • 828fbea2ea T4.6: SFU keyframe cache — per-(room,sender,stream) I-frame replay on join Siavash Sameni 2026-05-12 10:54:04 +04:00
  • cc5aef2534 T4.5: I-frame FEC ratio boost — keyframe-aware repair ratio in RaptorQFecEncoder Siavash Sameni 2026-05-12 10:35:57 +04:00
  • 397f9d2141 T4.3.1: MediaCodec AMediaCodec wiring via ndk crate (Android); fix wzp-android build on non-Android Siavash Sameni 2026-05-12 10:03:43 +04:00
  • 410c2a4335 T4.2.1: Real VideoToolbox VTCompressionSession / VTDecompressionSession wiring (macOS) Siavash Sameni 2026-05-12 09:51:34 +04:00
  • 81042ac190 T4.4: SignalMessage::Nack + PictureLossIndication; NACK sender/receiver state machines Siavash Sameni 2026-05-12 09:25:29 +04:00
  • e177e63843 T4.3: MediaCodec H.264 encoder/decoder stub (Android) Siavash Sameni 2026-05-12 09:15:06 +04:00
  • 1f7d130de9 fix: T4.2 status board → Pending Review Siavash Sameni 2026-05-12 09:10:50 +04:00
  • 3356ba94c6 T4.2: VideoToolbox H.264 encoder/decoder traits (macOS, MVP) Siavash Sameni 2026-05-12 09:09:57 +04:00
  • bb153a331d fix: T4.1 status board → Pending Review Siavash Sameni 2026-05-12 07:23:15 +04:00
  • 490d2d31c6 T4.1: wzp-video crate scaffold + H.264 NAL framer + depacketizer Siavash Sameni 2026-05-12 07:22:54 +04:00
  • db69f7e9d1 fix: T3.5 status board → Pending Review Siavash Sameni 2026-05-12 06:46:28 +04:00
  • f1b86e0fed T3.5: Tier E per-session token bucket Siavash Sameni 2026-05-12 06:45:56 +04:00
  • 8454835c18 fix: T3.4 status board → Pending Review Siavash Sameni 2026-05-12 06:25:17 +04:00