fix #5 camera video preview with settling and diagnostics
iOS CI / Build and Test SwiftUI App (push) Canceled after 0s
Build Unsigned iOS and macOS Apps / Build Unsigned iOS IPA (push) Canceled after 0s
Build Unsigned iOS and macOS Apps / Build macOS ZIP (push) Canceled after 0s

- Wait until the picker movie's file size stops changing before
  staging it, so a movie whose final bytes are still being flushed is
  never copied truncated (which produced drafts without a thumbnail
  and unplayable previews).
- Log the whole camera video path (pickup size, staging result,
  analyze outcome, thumbnail decode) under the video-preview os_log
  category for fast on-device diagnosis.
- Cover the video analysis pipeline with a simulator test that
  generates an HEVC QuickTime movie and asserts duration plus JPEG
  thumbnail, and guard the diagnostics in Scripts/verify.sh.
This commit is contained in:
wt
2026-08-29 04:30:40 +07:00
parent 75fbcc5346
commit 496ee6f0f2
7 changed files with 137 additions and 5 deletions
+5
View File
@@ -83,6 +83,7 @@ required=(
Tests/ArchiveStoreTests.swift
Tests/SASLprepTests.swift
Tests/SaslFailureMessageTests.swift
Tests/MediaPreviewProcessorVideoTests.swift
Sources/Shared/XMPP/SASLprep.swift
Sources/Shared/XMPP/LumaSaslFailureModule.swift
Sources/Shared/XMPP/SaslFailureMessage.swift
@@ -348,6 +349,10 @@ grep -q 'moveItem(at: sourceURL' Sources/Shared/UI/SystemPhotoCameraView.swift |
echo "The picker movie must be claimed synchronously before dismissal cleanup"
exit 1
}
grep -q 'video-preview' Sources/Shared/UI/ChatView.swift || {
echo "The camera video path must log diagnostics"
exit 1
}
grep -q 'ArchiveSyncCursorPolicy.requestPosition' Sources/Shared/XMPP/XMPPService.swift || {
echo "MAM reconnects must prefer the durable archive UID over timestamps"
exit 1