=== Eye Viewer Log Cleared at 2025-12-08 19:58:59 +0000 ===
[22:58:59] [FONT] Roboto fonts loaded successfully: Roboto-Regular
[22:58:59] [FONT] ChatFont.regular(18) returns: Roboto-Regular, family: Roboto
[22:58:59] [GIPHY] SDK not available - using REST API fallback
[22:58:59] [BACKGROUND] Background fetch enabled
[22:58:59] [AUTH] Starting PIN authentication
[22:58:59] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU
[22:58:59] [CLIENT_SIG] Connecting to session ILUIWU as Esra (EDAD55A1-003F-415D-AA60-672B34B504FE)
[22:58:59] [LIFECYCLE] ViewController deallocated
[22:58:59] [PUSH] APNs token: ea74d1b23419aba9c7f42f122ceaac51082c3477711ef6cb1bbd1988f213ab7f
[22:58:59] [CLIENT_SIG] WebSocket opened
[22:58:59] [CLIENT_SIG] HELLO sent as client for session ILUIWU
[22:58:59] [CLIENT_SIG] Connected! clientId=KZaRcKCfW_-KLmf7
[22:58:59] [PRELOAD] ⚡ Starting message pre-load during authentication...
[22:58:59] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU","token":"ea74d1b23419aba9c7f42f122ceaac51082c3477711ef6cb1bbd1988f213ab7f","role":"viewer","muted":1,"removed_from_other_channels":0}
[22:58:59] [SECURITY] sceneDidBecomeActive - isAuthenticated=false, didEnterBackground=false
[22:58:59] [SECURITY] ⚠️ Skipping timeout check - conditions not met
[22:58:59] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow
[22:58:59] [CLIENT_SIG] Received 1 clients for session 'ILUIWU' (my session: 'ILUIWU')
[22:58:59] [CLIENT_SIG] - Esra (EDAD55A1-003F-415D-AA60-672B34B504FE)
[22:59:01] [PRELOAD] Fetched 3217 messages
[22:59:01] [PIN_AUTH] Correct PIN
[22:59:01] [SECURITY] Restored real session: ILUIWU
[22:59:01] [SECURITY] Restored real session: ILUIWU
[22:59:01] [SECURITY] Saved real session: ILUIWU
[22:59:01] [SCENE] Launched directly to chat view with sessionId: ILUIWU
[22:59:01] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone)
[22:59:01] Documents Directory: /var/mobile/Containers/Data/Application/3E955190-C0C6-4BD6-8F1F-744977F3F8D9/Documents
[22:59:01] [UPLOAD_QUEUE] Found 0 pending uploads to resume
[22:59:01] [THEME] Applying current theme
[22:59:01] [CHAT] Applied day theme (mode: day)
[22:59:01] [SECURITY] Saved real session: ILUIWU
[22:59:01] [CLIENT_SIG] Setting up client signaling for session: ILUIWU
[22:59:01] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[22:59:01] [SUMMARY] Already triggered summary today (2025-12-08)
[22:59:01] Did transition
[22:59:01] [MODE] 🔍 updateModeUI called - currentTabIndex=0, sessionId=ILUIWU
[22:59:01] [VIEWER] Screen lock enabled - normal idle behavior
[22:59:01] [QUERY] 🔍 Creating query connection for iOS slave: iosILUIWU
[22:59:01] [DATA AUDIO] ========== setupWebRTC() START ==========
[22:59:01] [DATA AUDIO] Using data channel for audio - bypassing WebRTC audio device
[22:59:01] [DATA AUDIO] Creating encoder/decoder factories...
[22:59:01] [CODEC] Viewer - Available video codecs: H264, H264, VP8, VP9, AV1
[22:59:01] [CODEC] Viewer selected encoder: AV1 (best quality)
[22:59:01] [DATA AUDIO] Creating RTCPeerConnectionFactory...
[22:59:01] [DATA AUDIO] ✅ Factory created
[22:59:01] [DATA AUDIO] RTCAudioSession locked
[22:59:01] [DATA AUDIO] Set useManualAudio=true, isAudioEnabled=false
[22:59:01] [DATA AUDIO] RTCAudioSession unlocked
[22:59:01] [DATA AUDIO] Setting AVAudioSession to .playback for data channel with mixWithOthers...
[22:59:01] [DATA AUDIO] ✅ AVAudioSession set to .playback with .mixWithOthers
[22:59:01] [WS] Creating new WebSocket - isQueryOnly=false, connectionStr=iosILUIWU
[22:59:01] [WS] Opening session at ws://crivello.dyndns.org:8081/
[22:59:01] [QUERY] ✅ tempQueryConnection created for iosILUIWU
[22:59:01] [VIEWER_INIT] Already have 50 messages - just filtering for tab
[22:59:01] [EMOJI] ✅ Loaded 451 emoji-to-GIF mappings
[22:59:01] [EVENT_POLL] Event polling disabled - using WebSocket events instead
[22:59:01] [ORIENTATION] Updated pagingScrollView height to 247.5 for width 440.0
[22:59:01] [SUMMARY] Already triggered summary today (2025-12-08)
[22:59:01] Did transition
[22:59:01] [USER] Registering user: EDAD55A1-003F-415D-AA60-672B34B504FE, name: Esra
[22:59:01] [CHUNK] Merged 383 reactions synchronously
[22:59:01] [GALLERY_DB] Loading ALL media messages for session: ILUIWU
[22:59:01] [GALLERY_DB] Raw datesent for msg 4309: '2025-12-08 19:02:10'
[22:59:01] [GALLERY_DB] Raw datesent for msg 4301: '2025-12-08 18:53:38'
[22:59:01] [GALLERY_DB] Raw datesent for msg 4253: '2025-12-08 11:59:28'
[22:59:01] [GALLERY_DB] ✅ Loaded 207 media messages
[22:59:01] [MIGRATION] No messages need sender_name backfill
[22:59:01] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 4327
[22:59:01] [GALLERY] Filtered 207 -> 190 (only with local thumbnails)
[22:59:01] [GALLERY] First 5 after sort (newest first):
[22:59:01] [GALLERY] 0: id=4309, date=2025-12-08 19:02:10, file=7f5c64456effb085.png
[22:59:01] [GALLERY] 1: id=4301, date=2025-12-08 18:53:38, file=71742c3d78ed2063.jpg
[22:59:01] [GALLERY] 2: id=4253, date=2025-12-08 11:59:28, file=10dabda8d04dc725.jpg
[22:59:01] [GALLERY] 3: id=4227, date=2025-12-08 08:35:52, file=5abfa51ac84672ca.jpg
[22:59:01] [GALLERY] 4: id=4225, date=2025-12-08 06:51:17, file=a59f6ea5b913297d.jpg
[22:59:01] [SERVER] Starting reconnect polling (5s interval)
[22:59:01] [ICONS] Screen width: 440.0, Tab spacing: 75.5
[22:59:01] [ICONS] Offset applied: -14.6
[22:59:01] [ICONS] New left margin: 11.2, New right margin: 11.3
[22:59:01] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[22:59:01] Trying API base: https://crivello.dyndns.org:443/WebRTC/public/
[22:59:01] Trying API base: https://crivello.dyndns.org:443/WebRTC/public/
[22:59:01] Token POST → https://crivello.dyndns.org:443/WebRTC/public/new_session.php?sid=iosILUIWU
[22:59:01] [PRELOAD] ⚡ Cached 3217 messages for instant display
[22:59:01] [USER] ✅ User registered successfully
[22:59:01] [USER] User registration successful
[22:59:01] [ICONS] Chat center: (31.2, 87.0)
[22:59:01] [ICONS] Gallery center: (106.7, 87.0), deltaX: 75.5
[22:59:01] [ICONS] Camera center: (182.2, 87.0), deltaX: 75.5
[22:59:01] [ICONS] Settings center: (257.7, 87.0), deltaX: 75.5
[22:59:01] [ICONS] Lock centerX: 333.2, deltaX from Settings: 75.5
[22:59:01] [ICONS] Bell centerX: 408.7, deltaX from Lock: 75.5
[22:59:01] [ICONS] LEFT MARGIN (screen left to Chat left): 11.2
[22:59:01] [ICONS] RIGHT MARGIN (Bell right to screen right): 11.3
[22:59:01] [ICONS] Screen width: 440.0
[22:59:01] [INCREMENTAL_SYNC] ✅ No new messages
[22:59:01] [PURGE] ⚠️ Media cache purge DISABLED for debugging
[22:59:01] [UPLOAD_RECOVERY] Checking for missing uploads...
[22:59:01] [UPLOAD_RECOVERY] Checking 16 media files on server...
[22:59:02] new_session POST ok: token len=157
[22:59:02] HELLO → sent (fetched token, role=query)
[22:59:02] [SIG] hello_ok received for query connection - ready to query agents
[22:59:02] [SIG] get_agents request sent for sessionId=ILUIWU
[22:59:02] [SIG] get_agents request sent for sessionId=iosILUIWU
[22:59:02] [SERVER] Stopped reconnect polling
[22:59:02] [UPLOAD_RECOVERY] ❌ Missing on server, local exists: c8f0aac386a60643.jpg
[22:59:02] [SIG] agents_list received: []
[22:59:02] [SIG] agents_list received: []
[22:59:02] [UPLOAD_RECOVERY] ❌ Missing on server, local exists: 65b3c13d384997a5.mov
[22:59:02] [UPLOAD_RECOVERY] ❌ Missing on server, local exists: fb94b5fb89c4a48d.mov
[22:59:02] [UPLOAD_RECOVERY] ❌ Missing on server, local exists: c8f0aac386a60643.jpg
[22:59:02] [UPLOAD_RECOVERY] 🔄 Re-uploading 4 missing files...
[22:59:02] [UPLOAD_QUEUE] ⚠️ Duplicate prevented: c8f0aac386a60643.jpg already in queue (id=537, status=uploading)
[22:59:02] [UPLOAD_RECOVERY] ✅ Re-uploaded: c8f0aac386a60643.jpg
[22:59:02] [UPLOAD_RECOVERY] ⏭️ Skipping large file (915.4 MB): 65b3c13d384997a5.mov
[22:59:02] [UPLOAD_RECOVERY] ⏭️ Skipping large file (1209.2 MB): fb94b5fb89c4a48d.mov
[22:59:02] [UPLOAD_QUEUE] ⚠️ Duplicate prevented: c8f0aac386a60643.jpg already in queue (id=537, status=uploading)
[22:59:02] [UPLOAD_RECOVERY] ✅ Re-uploaded: c8f0aac386a60643.jpg
[22:59:02] [UPLOAD_RECOVERY] ⏭️ Thumbnail already on server: t_fb94b5fb89c4a48d.jpg
[22:59:02] [UPLOAD_RECOVERY] ⏭️ Thumbnail already on server: t_c8f0aac386a60643.jpg
[22:59:02] [UPLOAD_RECOVERY] ⏭️ Thumbnail already on server: t_65b3c13d384997a5.jpg
[22:59:02] [UPLOAD_RECOVERY] ⏭️ Thumbnail already on server: t_c8f0aac386a60643.jpg
[22:59:02] [COMBINED_FETCH] Loaded 3217 read receipts, 382 messages with reactions
[22:59:02] [READBY_ENRICH] Enriched 49 messages with readBy data
[22:59:10] [VIDEO EDITOR] Video playback stopped (Send button)
[22:59:10] [VIDEO EDITOR] No edits made, using original video
[22:59:10] [GALLERY_DB] Loading ALL media messages for session: ILUIWU
[22:59:10] [GALLERY_DB] Raw datesent for msg 4309: '2025-12-08 19:02:10'
[22:59:10] [GALLERY_DB] Raw datesent for msg 4301: '2025-12-08 18:53:38'
[22:59:10] [GALLERY_DB] Raw datesent for msg 4253: '2025-12-08 11:59:28'
[22:59:10] [GALLERY_DB] ✅ Loaded 207 media messages
[22:59:11] [GALLERY] Filtered 207 -> 190 (only with local thumbnails)
[22:59:11] [GALLERY] First 5 after sort (newest first):
[22:59:11] [GALLERY] 0: id=4309, date=2025-12-08 19:02:10, file=7f5c64456effb085.png
[22:59:11] [GALLERY] 1: id=4301, date=2025-12-08 18:53:38, file=71742c3d78ed2063.jpg
[22:59:11] [GALLERY] 2: id=4253, date=2025-12-08 11:59:28, file=10dabda8d04dc725.jpg
[22:59:11] [GALLERY] 3: id=4227, date=2025-12-08 08:35:52, file=5abfa51ac84672ca.jpg
[22:59:11] [GALLERY] 4: id=4225, date=2025-12-08 06:51:17, file=a59f6ea5b913297d.jpg
[22:59:11] [VIDEO_DIRECT] ========== NEW DIRECT VIDEO UPLOAD ==========
[22:59:11] [VIDEO_DIRECT] Source URL: /private/var/mobile/Containers/Data/Application/3E955190-C0C6-4BD6-8F1F-744977F3F8D9/tmp/4E94197E-5A4A-4E39-B6EC-92EA276CA108.mov
[22:59:11] [VIDEO_DIRECT] Source file exists: true
[22:59:11] [VIDEO_DIRECT] Random filename: 4204ae439e7ffebc.mov
[22:59:11] [VIDEO_DIRECT] Local media path: /var/mobile/Containers/Data/Application/3E955190-C0C6-4BD6-8F1F-744977F3F8D9/Documents/MediaCache/4204ae439e7ffebc.mov
[22:59:11] [VIDEO_DIRECT] Local thumbnail path: /var/mobile/Containers/Data/Application/3E955190-C0C6-4BD6-8F1F-744977F3F8D9/Documents/MediaCache/t_4204ae439e7ffebc.jpg
[22:59:11] [VIDEO_DIRECT] Source file size: 1267972117 bytes (1209.23 MB)
[22:59:11] [VIDEO_DIRECT] 📦 Moving large file (>100MB)
[22:59:11] [VIDEO_DIRECT] ✅ File moved successfully
[22:59:11] [VIDEO_DIRECT] Destination file exists: true
[22:59:11] [VIDEO_DIRECT] Destination file size: 1267972117 bytes
[22:59:11] [VIDEO_DIRECT] 🖼️ Creating thumbnail...
[22:59:11] [VIDEO_DIRECT] ✅ Thumbnail created in 0.07s
[22:59:11] [VIDEO_DIRECT] Thumbnail exists: true
[22:59:11] [VIDEO_DIRECT] Thumbnail file size: 7549 bytes
[22:59:11] [VIDEO_DIRECT] 📤 Sending message to server...
[22:59:11] [VIDEO_DIRECT] Caption: ''
[22:59:11] [VIDEO_DIRECT] Timer: -2
[22:59:11] [VIDEO_DIRECT] Filename: 4204ae439e7ffebc.mov
[22:59:11] [CELL_UPLOAD] configure: msgId=-1, file=4204ae439e7ffebc.mov, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=1
[22:59:11] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=1 → pending
[22:59:11] [CELL_UPLOAD] setUploadStatus(pending, progress=0.0) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:11] [CELL_UPLOAD] → pending: overlay.isHidden=false, alpha=0.699999988079071
[22:59:11] [ANIMATION] 🎬 Animating 1 new bubbles - scrolling to top to show them
[22:59:11] [CELL_UPLOAD] configure: msgId=-1, file=4204ae439e7ffebc.mov, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=1
[22:59:11] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=1 → pending
[22:59:11] [CELL_UPLOAD] setUploadStatus(pending, progress=0.0) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:11] [CELL_UPLOAD] → pending: overlay.isHidden=false, alpha=0.699999988079071
[22:59:11] [REPLY_DEBUG] ❌ cancelReply called - clearing messageToReplyTo
[22:59:11] [REPLY_DEBUG] ⚠️ sendMessage HTTP BODY - No reply message captured
[22:59:11] [VIDEO_DIRECT] ✅ sendMessage API call completed
[22:59:11] [VIDEO_DIRECT] 🖼️ Starting THUMBNAIL upload: t_4204ae439e7ffebc.jpg
[22:59:11] [UPLOAD_QUEUE] Enqueued upload id=548 for t_4204ae439e7ffebc.jpg
[22:59:11] [UPLOAD_DEBUG] ========== START UPLOAD ==========
[22:59:11] [UPLOAD_DEBUG] Item ID: 548
[22:59:11] [UPLOAD_DEBUG] Local URL: /var/mobile/Containers/Data/Application/3E955190-C0C6-4BD6-8F1F-744977F3F8D9/Documents/MediaCache/t_4204ae439e7ffebc.jpg
[22:59:11] [UPLOAD_DEBUG] Random filename: t_4204ae439e7ffebc.jpg
[22:59:11] [UPLOAD_DEBUG] Session ID: ILUIWU
[22:59:11] [UPLOAD_DEBUG] API Base: https://crivello.dyndns.org:443/WebRTC/chat/
[22:59:11] [UPLOAD_DEBUG] Retry count: 0
[22:59:11] [UPLOAD_DEBUG] File exists: true
[22:59:11] [UPLOAD_DEBUG] File size: 7549 bytes (0.0 MB)
[22:59:11] [UPLOAD_DEBUG] Chunked threshold: 104857600 bytes (100 MB)
[22:59:11] [UPLOAD_DEBUG] → Using STANDARD upload (file <= threshold)
[22:59:11] [UPLOAD_DEBUG] --- startStandardUpload ---
[22:59:11] [UPLOAD_DEBUG] Upload URL: https://crivello.dyndns.org:443/WebRTC/chat/upload_media.php
[22:59:11] [UPLOAD_DEBUG] File extension: jpg, MIME type: image/jpeg
[22:59:11] [UPLOAD_DEBUG] Temp file URL: /private/var/mobile/Containers/Data/Application/3E955190-C0C6-4BD6-8F1F-744977F3F8D9/tmp/E5504D40-816D-4F2F-9ABD-FDA5C227A48A.upload
[22:59:11] [UPLOAD_DEBUG] File size: 7549 bytes, in-memory threshold: 10485760 bytes
[22:59:11] [UPLOAD_DEBUG] Creating multipart body (in-memory mode)...
[22:59:11] [UPLOAD_DEBUG] ✓ In-memory body written to temp file (8031 bytes)
[22:59:11] [UPLOAD_DEBUG] Creating background upload task...
[22:59:11] [UPLOAD_STATUS] Updated status=2 for file: t_4204ae439e7ffebc.jpg
[22:59:11] [UPLOAD_DEBUG] Task created with identifier: 1
[22:59:11] [UPLOAD_DEBUG] Added to activeUploads dictionary
[22:59:11] [UPLOAD_DEBUG] Updated DB status to 'uploading'
[22:59:11] [UPLOAD_DEBUG] ✓ Task resumed - upload should be in progress now
[22:59:11] [UPLOAD_DEBUG] ========== UPLOAD STARTED ==========
[22:59:11] [UPLOAD_PROGRESS] t_4204ae439e7ffebc.jpg: 100% (0.0/0.0 MB) task=1
[22:59:12] [UPLOAD_STATUS] Updated status=2 for file: t_4204ae439e7ffebc.jpg
[22:59:12] [UPLOAD_RESPONSE] Started receiving response for task 1
[22:59:12] [UPLOAD_METRICS] Task 1 metrics:
[22:59:12] [UPLOAD_METRICS] Total time: 0.50s
[22:59:12] [UPLOAD_METRICS] Upload time: 0.00s
[22:59:12] [UPLOAD_METRICS] Response time: 0.00s
[22:59:12] [UPLOAD_METRICS] Network protocol: http/1.1
[22:59:12] [UPLOAD_METRICS] Proxy: no
[22:59:12] [UPLOAD_METRICS] Reused connection: no
[22:59:12] [UPLOAD_COMPLETE] ========== Task Completed ==========
[22:59:12] [UPLOAD_COMPLETE] Task ID: 1
[22:59:12] [UPLOAD_COMPLETE] Task state: 3 (0=running, 1=suspended, 2=canceling, 3=completed)
[22:59:12] [UPLOAD_COMPLETE] Filename: t_4204ae439e7ffebc.jpg
[22:59:12] [UPLOAD_COMPLETE] Local path: /var/mobile/Containers/Data/Application/3E955190-C0C6-4BD6-8F1F-744977F3F8D9/Documents/MediaCache/t_4204ae439e7ffebc.jpg
[22:59:12] [UPLOAD_COMPLETE] Retry count: 0
[22:59:12] [UPLOAD_COMPLETE] HTTP Status: 200
[22:59:12] [UPLOAD_COMPLETE] Response headers: [AnyHashable("Server"): Apache/2.4.65 (Debian), AnyHashable("Date"): Mon, 08 Dec 2025 19:59:12 GMT, AnyHashable("Connection"): Keep-Alive, AnyHashable("Content-Type"): application/json, AnyHashable("Content-Length"): 215, AnyHashable("Keep-Alive"): timeout=5, max=100]
[22:59:12] [UPLOAD_COMPLETE] Response body (215 bytes): {"ok":true,"file_name":"t_4204ae439e7ffebc.jpg","orig_name":"t_4204ae439e7ffebc.jpg","size":7549,"env":{"file_uploads":"1","upload_max_filesize":"5G","post_max_size":"10G","upload_tmp_dir":"","content_length":8031}}
[22:59:12] [UPLOAD_COMPLETE] ✅ Server confirmed upload OK
[22:59:12] [UPLOAD_COMPLETE] Server filename: t_4204ae439e7ffebc.jpg
[22:59:12] [UPLOAD_VERIFY] Verifying file exists: t_4204ae439e7ffebc.jpg
[22:59:12] [UPLOAD_VERIFY] ✅ File verified: t_4204ae439e7ffebc.jpg (size: 7549)
[22:59:12] [UPLOAD_STATUS] Updated status=0 for file: t_4204ae439e7ffebc.jpg
[22:59:12] [UPLOAD_QUEUE] Upload completed for id=548
[22:59:12] [VIDEO_DIRECT] ✅ Thumbnail uploaded in 0.78s
[22:59:12] [VIDEO_DIRECT] 📤 Starting MAIN VIDEO upload: 4204ae439e7ffebc.mov
[22:59:12] [UPLOAD_QUEUE] Enqueued upload id=549 for 4204ae439e7ffebc.mov
[22:59:12] [UPLOAD_DEBUG] ========== START UPLOAD ==========
[22:59:12] [UPLOAD_DEBUG] Item ID: 549
[22:59:12] [UPLOAD_DEBUG] Local URL: /var/mobile/Containers/Data/Application/3E955190-C0C6-4BD6-8F1F-744977F3F8D9/Documents/MediaCache/4204ae439e7ffebc.mov
[22:59:12] [UPLOAD_DEBUG] Random filename: 4204ae439e7ffebc.mov
[22:59:12] [UPLOAD_DEBUG] Session ID: ILUIWU
[22:59:12] [UPLOAD_DEBUG] API Base: https://crivello.dyndns.org:443/WebRTC/chat/
[22:59:12] [UPLOAD_DEBUG] Retry count: 0
[22:59:12] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:12] [UPLOAD_DEBUG] File exists: true
[22:59:12] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:12] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:12] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:12] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:12] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:12] [UPLOAD_DEBUG] File size: 1267972117 bytes (1209.2 MB)
[22:59:12] [UPLOAD_DEBUG] Chunked threshold: 104857600 bytes (100 MB)
[22:59:12] [UPLOAD_DEBUG] → Using CHUNKED upload (file > threshold)
[22:59:12] [UPLOAD_DEBUG] --- startChunkedUpload ---
[22:59:12] [UPLOAD_DEBUG] Chunked upload URL: https://crivello.dyndns.org:443/WebRTC/chat/upload_chunked.php
[22:59:12] [UPLOAD_DEBUG] File size: 1267972117 bytes (1209.2 MB)
[22:59:12] [UPLOAD_DEBUG] Chunk size: 104857600 bytes (100 MB)
[22:59:12] [UPLOAD_DEBUG] Total chunks: 13
[22:59:12] [UPLOAD_DEBUG] Updated DB status to 'uploading_chunked'
[22:59:12] [CHUNKED_RESUME] Checking resume: item.currentChunk=0, item.totalChunks=0, calculated totalChunks=13
[22:59:12] [UPLOAD_DEBUG] Starting chunk upload sequence from chunk 0...
[22:59:12] [CHUNKED_UPLOAD] ▶️ uploadChunk called: chunk 0/13
[22:59:12] [CHUNKED_UPLOAD] Uploading chunk 1/13
[22:59:12] [CHUNKED_UPLOAD] Offset: 0 bytes
[22:59:12] [CHUNKED_UPLOAD] Size: 104857600 bytes (100.0 MB)
[22:59:12] [CHUNKED_UPLOAD] 📤 Sending chunk 0 via background session...
[22:59:12] [CHUNKED_UPLOAD] URL: https://crivello.dyndns.org:443/WebRTC/chat/upload_chunked.php
[22:59:12] [CHUNKED_UPLOAD] Body size: 104858370 bytes (100.0 MB)
[22:59:12] [CHUNKED_UPLOAD] Task 2 created for chunk 0
[22:59:12] [CHUNKED_RESUME] Saved chunk info: totalChunks=13, fileSize=1267972117
[22:59:12] [CHUNKED_PROGRESS] 4204ae439e7ffebc.mov: chunk 1/13 - 0% (1.0/100.0 MB)
[22:59:12] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:12] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:12] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0007692251205859133) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:12] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:12] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0007692251205859133) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:12] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:12] [MENU] 🔍 dismissAnyExistingMenu called
[22:59:12] [MENU] ℹ️ No menu with tag 9999 found
[22:59:12] [MENU] ✅ dismissAnyExistingMenu completed
[22:59:12] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[22:59:13] [SEARCH] handleTopRefresh called - tab=0, isSearchBarVisible=false
[22:59:13] [SEARCH] 🔍 First pull on Tab 0 - showing search bar instead of refresh
[22:59:13] [SEARCH] showSearchBar() called - animated=true, isSearchBarVisible=false
[22:59:13] [SEARCH] ✅ Setting isSearchBarVisible = true
[22:59:13] [SEARCH] chatSearchBar is nil? false
[22:59:13] [SEARCH] Applied theme: day
[22:59:13] [SEARCH] Adjusting table contentInset.top by +56.0
[22:59:13] [SEARCH] Table contentInset.top: 0.0 -> 56.0
[22:59:13] [SEARCH] handleTopRefresh called - tab=0, isSearchBarVisible=true
[22:59:13] [CHAT] top pull-to-refresh triggered on tab 0
[22:59:13] [CHANNEL_SWITCH] 📡 Fetching URL: https://crivello.dyndns.org:443/WebRTC/chat/chat_get_messages.php?viewer=1&session_id=ILUIWU&mark_read=0&viewer_id=EDAD55A1-003F-415D-AA60-672B34B504FE
[22:59:13] [SEARCH] Focusing search field
[22:59:13] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[22:59:13] [SEARCH] contentOffset.y=-191.0, topInset=116.0, pullDistance=75.0
[22:59:13] [SEARCH] threshold=80.0, isSearchBarVisible=true
[22:59:13] [SEARCH] topRefresh.isRefreshing=true
[22:59:13] [SEARCH] ❌ Pull distance 75.0 < threshold 80.0
[22:59:13] [CLIENT_SIG] Event received: type=0 messageId=4328
[22:59:13] [WS_EVENT] Received event: type=0, messageId=4328
[22:59:13] [WS_EVENT] New message notification - refreshing
[22:59:13] [CHAT] receive_message.php HTTP 200: {"ok":true,"message_id":4328,"session_id":"ILUIWU","message_type":1,"file_name":"4204ae439e7ffebc.mov","datesent_utc":"2025-12-08 19:59:11"}
[22:59:13] [CHAT] receive_message.php JSON: ["file_name": 4204ae439e7ffebc.mov, "session_id": ILUIWU, "datesent_utc": 2025-12-08 19:59:11, "message_type": 1, "ok": 1, "message_id": 4328]
[22:59:13] ReloadData 9
[22:59:13] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:13] [CELL_UPLOAD] configure: msgId=-1, file=4204ae439e7ffebc.mov, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=1
[22:59:13] [CELL_UPLOAD] → has active progress=0.0007692251205859133, setting uploading
[22:59:13] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0007692251205859133) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:13] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:13] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:13] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:13] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0011538376808788698) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:13] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:13] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0011538376808788698) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:13] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:14] [PENDING_UPLOAD] Found pending message: id=4328, file=4204ae439e7ffebc.mov, uploadStatus=2
[22:59:14] [PENDING_UPLOAD] Found pending message: id=-9, file=c8f0aac386a60643.jpg, uploadStatus=2
[22:59:14] [PENDING_UPLOAD] Total pending upload messages: 2
[22:59:14] [PENDING_UPLOAD] Preserved 2 pending messages before server refresh
[22:59:14] [PENDING_UPLOAD] Reinserting 2 pending messages
[22:59:14] [PENDING_UPLOAD] ✅ Reinserted message 4328
[22:59:14] [PENDING_UPLOAD] ✅ Reinserted message -9
[22:59:14] DOWNLOADIIING t_66e5f4c7c82fef18.jpg
[22:59:14] DOWNLOADIIING t_97828ef5de49a612.jpg
[22:59:14] [CHANNEL_SWITCH] 📊 About to set loaded messages. Count=3218
[22:59:14] [CHANNEL_SWITCH] 📊 Setting allMessagesWithReadBy = 3218 msgs
[22:59:14] [READBY_LOADED] msg 4328: readBy.count=0, readBy=[], isMyMsg=true
[22:59:14] [READBY_LOADED] msg 4327: readBy.count=0, readBy=[], isMyMsg=true
[22:59:14] [READBY_LOADED] msg 4319: readBy.count=0, readBy=[], isMyMsg=true
[22:59:14] [READBY_LOADED] msg 4318: readBy.count=0, readBy=[], isMyMsg=true
[22:59:14] [READBY_LOADED] msg 4317: readBy.count=1, readBy=["EDAD55A1-003F-415D-AA60-672B34B504FE"], isMyMsg=false
[22:59:14] [PENDING_UPLOAD] ⏭️ Skipped pending message id=4328 - already exists in server data
[22:59:14] [PENDING_UPLOAD] ⏭️ Skipped pending message id=-9 - already exists in server data
[22:59:14] [PENDING_UPLOAD] Final merged count: 3218 (server: 3218, kept pending: 0)
[22:59:14] [CHANNEL_SWITCH] 📊 chatRows.count = 3266
[22:59:14] ReloadData 15 (3218 messages loaded, 17 pending media)
[22:59:15] DOWNLOADIIING 1b1a78050ebe099b.jpg
[22:59:15] DOWNLOADIIING bae538c2a3076c11.heic
[22:59:15] DOWNLOADIIING ee42d57ffd8ab767.jpg
[22:59:15] DOWNLOADIIING 5cfd84d52271d308.heic
[22:59:15] DOWNLOADIIING 0f2dda66cccdeadf.heic
[22:59:15] DOWNLOADIIING 2a4c7380908d6595.jpg
[22:59:15] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:15] [CELL_UPLOAD] configure: msgId=4328, file=4204ae439e7ffebc.mov, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=0
[22:59:15] [CELL_UPLOAD] → has active progress=0.0011538376808788698, setting uploading
[22:59:15] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0011538376808788698) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:15] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:15] [PULL_REFRESH] Loaded 3218 messages (first page), displaying 3218 for tab 0, hasMore: true
[22:59:15] ReloadData 15 (pull-to-refresh completed)
[22:59:15] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:15] [CELL_UPLOAD] configure: msgId=4328, file=4204ae439e7ffebc.mov, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=0
[22:59:15] [CELL_UPLOAD] → has active progress=0.0011538376808788698, setting uploading
[22:59:15] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0011538376808788698) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:15] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:15] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:15] [CELL_UPLOAD] configure: msgId=4328, file=4204ae439e7ffebc.mov, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=0
[22:59:15] [CELL_UPLOAD] → has active progress=0.0011538376808788698, setting uploading
[22:59:15] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0011538376808788698) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:15] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:15] [MENU] 🔍 dismissAnyExistingMenu called
[22:59:15] [MENU] ℹ️ No menu with tag 9999 found
[22:59:15] [MENU] ✅ dismissAnyExistingMenu completed
[22:59:15] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=true, tab=0
[22:59:15] [SEARCH] 🔽 Hiding search bar (user started scrolling)
[22:59:15] [SEARCH] hideSearchBar() called - animated=true, isSearchBarVisible=true
[22:59:15] [SEARCH] ✅ Setting isSearchBarVisible = false
[22:59:15] [SEARCH] Adjusting table contentInset.top by -56.0
[22:59:15] ReloadData 14 (all 17 media thumbnails loaded) - applying tab 0 filtering
[22:59:15] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:15] [CELL_UPLOAD] configure: msgId=4328, file=4204ae439e7ffebc.mov, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=0
[22:59:15] [CELL_UPLOAD] → has active progress=0.0011538376808788698, setting uploading
[22:59:15] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0011538376808788698) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:15] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:15] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:15] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:15] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0015384502411718267) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:15] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:15] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0015384502411718267) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:15] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:15] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[22:59:15] [SEARCH] contentOffset.y=65.33333333333333, topInset=0.0, pullDistance=-65.33333333333333
[22:59:15] [SEARCH] threshold=80.0, isSearchBarVisible=false
[22:59:15] [SEARCH] topRefresh.isRefreshing=false
[22:59:15] [SEARCH] ❌ Pull distance -65.33333333333333 < threshold 80.0
[22:59:16] [MENU] 🔍 dismissAnyExistingMenu called
[22:59:16] [MENU] ℹ️ No menu with tag 9999 found
[22:59:16] [MENU] ✅ dismissAnyExistingMenu completed
[22:59:16] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[22:59:16] [SEARCH] handleTopRefresh called - tab=0, isSearchBarVisible=false
[22:59:16] [SEARCH] 🔍 First pull on Tab 0 - showing search bar instead of refresh
[22:59:16] [SEARCH] showSearchBar() called - animated=true, isSearchBarVisible=false
[22:59:16] [SEARCH] ✅ Setting isSearchBarVisible = true
[22:59:16] [SEARCH] chatSearchBar is nil? false
[22:59:16] [SEARCH] Applied theme: day
[22:59:16] [SEARCH] Adjusting table contentInset.top by +56.0
[22:59:16] [SEARCH] Table contentInset.top: 0.0 -> 56.0
[22:59:16] [SEARCH] handleTopRefresh called - tab=0, isSearchBarVisible=true
[22:59:16] [CHAT] top pull-to-refresh triggered on tab 0
[22:59:16] [CHANNEL_SWITCH] 📡 Fetching URL: https://crivello.dyndns.org:443/WebRTC/chat/chat_get_messages.php?viewer=1&session_id=ILUIWU&mark_read=0&viewer_id=EDAD55A1-003F-415D-AA60-672B34B504FE
[22:59:16] [SEARCH] Focusing search field
[22:59:16] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[22:59:16] [SEARCH] contentOffset.y=-222.0, topInset=116.0, pullDistance=106.0
[22:59:16] [SEARCH] threshold=80.0, isSearchBarVisible=true
[22:59:16] [SEARCH] topRefresh.isRefreshing=true
[22:59:16] [SEARCH] ✅ Pull distance 106.0 >= threshold 80.0
[22:59:16] [SEARCH] ℹ️ Search bar already visible, allowing refresh
[22:59:16] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:16] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:16] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0019230628014647831) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:16] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:16] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0019230628014647831) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:16] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:17] [PENDING_UPLOAD] Found pending message: id=4328, file=4204ae439e7ffebc.mov, uploadStatus=2
[22:59:17] [PENDING_UPLOAD] Found pending message: id=-9, file=c8f0aac386a60643.jpg, uploadStatus=2
[22:59:17] [PENDING_UPLOAD] Total pending upload messages: 2
[22:59:17] [PENDING_UPLOAD] Preserved 2 pending messages before server refresh
[22:59:17] [PENDING_UPLOAD] Reinserting 2 pending messages
[22:59:17] [PENDING_UPLOAD] ✅ Reinserted message 4328
[22:59:17] [PENDING_UPLOAD] ✅ Reinserted message -9
[22:59:17] DOWNLOADIIING t_66e5f4c7c82fef18.jpg
[22:59:17] DOWNLOADIIING t_97828ef5de49a612.jpg
[22:59:17] [CHANNEL_SWITCH] 📊 About to set loaded messages. Count=3218
[22:59:17] [CHANNEL_SWITCH] 📊 Setting allMessagesWithReadBy = 3218 msgs
[22:59:17] [READBY_LOADED] msg 4328: readBy.count=0, readBy=[], isMyMsg=true
[22:59:17] [READBY_LOADED] msg 4327: readBy.count=0, readBy=[], isMyMsg=true
[22:59:17] [READBY_LOADED] msg 4319: readBy.count=0, readBy=[], isMyMsg=true
[22:59:17] [READBY_LOADED] msg 4318: readBy.count=0, readBy=[], isMyMsg=true
[22:59:17] [READBY_LOADED] msg 4317: readBy.count=1, readBy=["EDAD55A1-003F-415D-AA60-672B34B504FE"], isMyMsg=false
[22:59:17] [PENDING_UPLOAD] ⏭️ Skipped pending message id=4328 - already exists in server data
[22:59:17] [PENDING_UPLOAD] ⏭️ Skipped pending message id=-9 - already exists in server data
[22:59:17] [PENDING_UPLOAD] Final merged count: 3218 (server: 3218, kept pending: 0)
[22:59:17] [CHANNEL_SWITCH] 📊 chatRows.count = 3266
[22:59:17] ReloadData 15 (3218 messages loaded, 17 pending media)
[22:59:18] DOWNLOADIIING 1b1a78050ebe099b.jpg
[22:59:18] DOWNLOADIIING bae538c2a3076c11.heic
[22:59:18] DOWNLOADIIING ee42d57ffd8ab767.jpg
[22:59:18] DOWNLOADIIING 5cfd84d52271d308.heic
[22:59:18] DOWNLOADIIING 0f2dda66cccdeadf.heic
[22:59:18] DOWNLOADIIING 2a4c7380908d6595.jpg
[22:59:18] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:18] [CELL_UPLOAD] configure: msgId=4328, file=4204ae439e7ffebc.mov, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=0
[22:59:18] [CELL_UPLOAD] → has active progress=0.0019230628014647831, setting uploading
[22:59:18] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0019230628014647831) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:18] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:18] [PULL_REFRESH] Loaded 3218 messages (first page), displaying 3218 for tab 0, hasMore: true
[22:59:18] ReloadData 15 (pull-to-refresh completed)
[22:59:18] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:18] [CELL_UPLOAD] configure: msgId=4328, file=4204ae439e7ffebc.mov, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=0
[22:59:18] [CELL_UPLOAD] → has active progress=0.0019230628014647831, setting uploading
[22:59:18] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0019230628014647831) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:18] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:18] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:18] [CELL_UPLOAD] configure: msgId=4328, file=4204ae439e7ffebc.mov, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=0
[22:59:18] [CELL_UPLOAD] → has active progress=0.0019230628014647831, setting uploading
[22:59:18] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0019230628014647831) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:18] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:18] [MENU] 🔍 dismissAnyExistingMenu called
[22:59:18] [MENU] ℹ️ No menu with tag 9999 found
[22:59:18] [MENU] ✅ dismissAnyExistingMenu completed
[22:59:18] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=true, tab=0
[22:59:18] [SEARCH] 🔽 Hiding search bar (user started scrolling)
[22:59:18] [SEARCH] hideSearchBar() called - animated=true, isSearchBarVisible=true
[22:59:18] [SEARCH] ✅ Setting isSearchBarVisible = false
[22:59:18] [SEARCH] Adjusting table contentInset.top by -56.0
[22:59:18] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[22:59:18] [SEARCH] contentOffset.y=50.333333333333336, topInset=0.0, pullDistance=-50.333333333333336
[22:59:18] [SEARCH] threshold=80.0, isSearchBarVisible=false
[22:59:18] [SEARCH] topRefresh.isRefreshing=false
[22:59:18] [SEARCH] ❌ Pull distance -50.333333333333336 < threshold 80.0
[22:59:18] ReloadData 14 (all 17 media thumbnails loaded) - applying tab 0 filtering
[22:59:18] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:18] [CELL_UPLOAD] configure: msgId=4328, file=4204ae439e7ffebc.mov, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=0
[22:59:18] [CELL_UPLOAD] → has active progress=0.0019230628014647831, setting uploading
[22:59:18] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0019230628014647831) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:18] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:18] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:18] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:18] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0023076753617577396) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:18] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:18] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0023076753617577396) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:18] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:19] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:19] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:19] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0026922879220506965) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:19] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:19] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0026922879220506965) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:19] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:20] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:20] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:20] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0030769004823436533) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:20] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:20] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0030769004823436533) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:20] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:21] [LIFECYCLE] App resigning active - cleared crash flag
[22:59:21] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:21] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:21] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0034615130426366094) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:21] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:21] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0034615130426366094) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:21] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:22] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:22] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:22] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0038461256029295662) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:22] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:22] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0038461256029295662) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:22] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:22] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:22] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:22] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.004230738163222523) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:22] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:22] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.004230738163222523) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:22] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:23] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:23] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:23] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.004615350723515479) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:23] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:23] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.004615350723515479) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:23] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:23] [SECURITY] sceneDidEnterBackground - isAuthenticated=true
[22:59:23] [SECURITY] Saved background timestamp
[22:59:23] [LIFECYCLE] App entering background - cleared crash flag
[22:59:23] [CLIENT_SIG] Disconnecting
[22:59:23] [LIFECYCLE] App entering background - disconnecting connections and stopping audio
[22:59:23] [WS] stopSignalingAndPeer called - isQueryOnly=true, connectionStr=iosILUIWU, wsState=0
[22:59:23] [WS] Canceling WebSocket for query connection to iosILUIWU
[22:59:23] In cleanupPeer
[22:59:23] In cleanupPeer
[22:59:23] [LIFECYCLE] WebRTC audio disabled
[22:59:23] [LIFECYCLE] AVAudioSession deactivated
[22:59:23] [LIFECYCLE] All connections stopped
[22:59:23] [SERVER] Stopped reconnect polling
[22:59:23] Will request stop of video 0
[22:59:23] [CLIENT_SIG] WebSocket closed with code 1001
[22:59:23] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1)
[22:59:23] Will request stop of video 0
[22:59:23] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1001
[22:59:23] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[22:59:23] [CLIENT_SIG] Receive error: Error Domain=NSPOSIXErrorDomain Code=57 "Socket is not connected" UserInfo={NSErrorFailingURLStringKey=http://crivello.dyndns.org:8081/, NSErrorFailingURLKey=http://crivello.dyndns.org:8081/}
[22:59:23] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2)
[22:59:23] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[22:59:23] [WS] Query connection failed - cleaning up all agent connections and views
[22:59:23] [PIP] Removing 0 tracks from PiP for connection 0
[22:59:23] [PIP] ✅ All tracks removed for connection 0
[22:59:23] [PIP] Removing 0 tracks from PiP for connection 0
[22:59:23] [PIP] ✅ All tracks removed for connection 0
[22:59:23] [CLEANUP] ========================================
[22:59:23] [CLEANUP] Cleaning up all agent connections and views
[22:59:23] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[22:59:23] [CLEANUP] Stopped and removed 0 video connections
[22:59:23] [CLEANUP] Removed 0 video views
[22:59:23] [CLEANUP] Removed 0 feed scroll views
[22:59:23] [CLEANUP] Removed 0 status labels
[22:59:23] [CLEANUP] Reset agent query state
[22:59:23] [CLEANUP] Updated page indicator
[22:59:23] [CLEANUP] Rebuilt video layout
[22:59:23] [CLEANUP] ✅ All agent connections and views cleaned up
[22:59:23] [CLEANUP] ========================================
[22:59:23] [SERVER] Skipping reconnect polling - app is in background
[22:59:23] [WS] URLSession invalidated successfully
[22:59:23] [CLEANUP] ========================================
[22:59:23] [CLEANUP] Cleaning up all agent connections and views
[22:59:23] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[22:59:23] [CLEANUP] Stopped and removed 0 video connections
[22:59:23] [CLEANUP] Removed 0 video views
[22:59:23] [CLEANUP] Removed 0 feed scroll views
[22:59:23] [CLEANUP] Removed 0 status labels
[22:59:23] [CLEANUP] Reset agent query state
[22:59:23] [CLEANUP] Updated page indicator
[22:59:23] [CLEANUP] Rebuilt video layout
[22:59:23] [CLEANUP] ✅ All agent connections and views cleaned up
[22:59:23] [CLEANUP] ========================================
[22:59:23] [SERVER] Skipping reconnect polling - app is in background
[22:59:36] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[22:59:36] [WS] Opening session at ws://crivello.dyndns.org:8081/
[22:59:36] [CLIENT_SIG] Connecting to session ILUIWU as Esra (EDAD55A1-003F-415D-AA60-672B34B504FE)
[22:59:36] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU
[22:59:36] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[22:59:36] [LIFECYCLE] App entering foreground - restoring connections
[22:59:36] [UPLOAD_RETRY] No pending uploads to retry
[22:59:36] [LIFECYCLE] Merged 383 reactions from local DB
[22:59:36] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:36] [CELL_UPLOAD] configure: msgId=4328, file=4204ae439e7ffebc.mov, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=2
[22:59:36] [CELL_UPLOAD] → has active progress=0.004615350723515479, setting uploading
[22:59:36] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.004615350723515479) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:36] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:36] [LIFECYCLE] WebRTC audio re-enabled
[22:59:36] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone)
[22:59:36] [VIEWER] Reconnecting after background - querying agents
[22:59:36] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:36] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:36] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.03384590530578018) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:36] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:36] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.03384590530578018) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:36] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:36] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:36] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:36] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.034615130426366096) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:36] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:36] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.034615130426366096) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:36] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:37] [SECURITY] sceneDidBecomeActive - isAuthenticated=true, didEnterBackground=true
[22:59:37] [SECURITY] Timeout exceeded - requiring re-authentication
[22:59:37] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow
[22:59:37] [PUSH] handlePollEventsNotification userInfo: [:]
[22:59:37] [PUSH] No message_id in userInfo
[22:59:37] [PUSH] No operation_type in userInfo
[22:59:37] [FAST_REFRESH] Evolution disabled - performing incremental sync
[22:59:37] [FAST_REFRESH] Already have 50 messages - skipping local DB load
[22:59:37] [FAST_REFRESH] About to call reloadMessagesForCurrentTab(), isMainThread=true, viewLoaded=true
[22:59:37] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:37] [CELL_UPLOAD] configure: msgId=4328, file=4204ae439e7ffebc.mov, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=2
[22:59:37] [CELL_UPLOAD] → has active progress=0.034615130426366096, setting uploading
[22:59:37] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.034615130426366096) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:37] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:37] [FAST_REFRESH] reloadMessagesForCurrentTab() called successfully
[22:59:37] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 4328
[22:59:37] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:37] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:37] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.03499974298665905) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:37] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:37] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.03499974298665905) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:37] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:37] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:37] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:37] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.03538435554695201) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:37] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:37] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.03538435554695201) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:37] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:37] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:37] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:37] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.03576896810724496) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:37] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:37] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.03576896810724496) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:37] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:37] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:37] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:37] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.036538193227830876) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:37] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:37] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.036538193227830876) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:37] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:37] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:37] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:37] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.03730741834841679) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:37] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:37] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.03730741834841679) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:37] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:37] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:37] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:37] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.038076643469002705) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:37] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:37] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.038076643469002705) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:37] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:37] [CLIENT_SIG] WebSocket opened
[22:59:37] [CLIENT_SIG] HELLO sent as client for session ILUIWU
[22:59:37] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[22:59:37] HELLO → sent (cached token, role=query)
[22:59:37] [CLIENT_SIG] Connected! clientId=tF63TTx4R4GGpK5j
[22:59:37] [SIG] hello_ok received for query connection - ready to query agents
[22:59:37] [SIG] get_agents request sent for sessionId=ILUIWU
[22:59:37] [SIG] get_agents request sent for sessionId=iosILUIWU
[22:59:37] [SERVER] Stopped reconnect polling
[22:59:37] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:37] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:38] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.03846125602929566) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:38] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:38] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.03846125602929566) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:38] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:38] [INCREMENTAL_SYNC] ✅ No new messages
[22:59:38] [FAST_REFRESH] Incremental sync complete - 50 messages
[22:59:38] [CLIENT_SIG] Received 1 clients for session 'ILUIWU' (my session: 'ILUIWU')
[22:59:38] [CLIENT_SIG] - Esra (EDAD55A1-003F-415D-AA60-672B34B504FE)
[22:59:38] [SIG] agents_list received: []
[22:59:38] [SIG] agents_list received: []
[22:59:39] [PIN_AUTH] Correct PIN
[22:59:39] [SECURITY] Restored real session: ILUIWU
[22:59:39] [SECURITY] Restored real session: ILUIWU
[22:59:39] [COMBINED_FETCH] Loaded 3218 read receipts, 382 messages with reactions
[22:59:39] [FAST_REFRESH] Enriched 50 messages with readBy data
[22:59:39] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:39] [CELL_UPLOAD] configure: msgId=4328, file=4204ae439e7ffebc.mov, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=2
[22:59:39] [CELL_UPLOAD] → has active progress=0.03846125602929566, setting uploading
[22:59:39] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.03846125602929566) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:39] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:39] [LOCK] ✅ PIN auth callback - setting isAuthenticated = true
[22:59:39] [FAKE MODE] Exiting fake mode, restoring real session
[22:59:39] [SECURITY] Restored real session: ILUIWU
[22:59:39] [SECURITY] Saved real session: ILUIWU
[22:59:39] [FAKE MODE] ✅ Restored real session: ILUIWU
[22:59:39] [CHUNKED_PROGRESS] 4204ae439e7ffebc.mov: chunk 1/13 - 50% (50.5/100.0 MB)
[22:59:40] DOWNLOADIIING 1b1a78050ebe099b.jpg
[22:59:40] DOWNLOADIIING bae538c2a3076c11.heic
[22:59:40] DOWNLOADIIING ee42d57ffd8ab767.jpg
[22:59:40] DOWNLOADIIING 5cfd84d52271d308.heic
[22:59:40] DOWNLOADIIING 0f2dda66cccdeadf.heic
[22:59:40] DOWNLOADIIING 2a4c7380908d6595.jpg
[22:59:40] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:40] [CELL_UPLOAD] configure: msgId=4328, file=4204ae439e7ffebc.mov, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=0
[22:59:40] [CELL_UPLOAD] → has active progress=0.03846125602929566, setting uploading
[22:59:40] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.03846125602929566) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:40] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:40] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:40] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:40] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.03884586858958862) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:40] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:40] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.03884586858958862) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:40] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:41] [CHUNKED_PROGRESS] 4204ae439e7ffebc.mov: chunk 1/13 - 50% (51.0/100.0 MB)
[22:59:41] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:41] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:41] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.03923048114988158) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:41] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:41] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.03923048114988158) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:41] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:41] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:41] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:41] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.039615093710174534) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:41] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:41] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.039615093710174534) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:41] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:42] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:42] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:42] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.03999970627046749) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:42] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:42] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.03999970627046749) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:42] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:43] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:43] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:43] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.04038431883076044) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:43] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:43] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.04038431883076044) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:43] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:44] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:44] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:44] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.040768931391053406) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:44] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:44] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.040768931391053406) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:44] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:44] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:44] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:44] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.041153543951346364) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:44] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:44] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.041153543951346364) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:44] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:44] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:44] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:44] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.041538156511639314) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:44] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:44] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.041538156511639314) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:44] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:45] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:45] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:45] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.04192276907193227) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:45] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:45] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.04192276907193227) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:45] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:45] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:45] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:45] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.042307381632225236) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:45] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:45] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.042307381632225236) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:45] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:45] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:45] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:45] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.042691994192518186) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:45] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:45] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.042691994192518186) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:45] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:46] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:46] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:46] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.04307660675281114) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:46] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:46] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.04307660675281114) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:46] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:46] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:46] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:46] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0434612193131041) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:46] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:46] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0434612193131041) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:46] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:46] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:46] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:46] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.04384583187339705) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:46] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:46] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.04384583187339705) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:46] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:46] [MENU] 🔍 dismissAnyExistingMenu called
[22:59:46] [MENU] ℹ️ No menu with tag 9999 found
[22:59:46] [MENU] ✅ dismissAnyExistingMenu completed
[22:59:46] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[22:59:46] [SEARCH] handleTopRefresh called - tab=0, isSearchBarVisible=false
[22:59:46] [SEARCH] 🔍 First pull on Tab 0 - showing search bar instead of refresh
[22:59:46] [SEARCH] showSearchBar() called - animated=true, isSearchBarVisible=false
[22:59:46] [SEARCH] ✅ Setting isSearchBarVisible = true
[22:59:46] [SEARCH] chatSearchBar is nil? false
[22:59:46] [SEARCH] Applied theme: day
[22:59:46] [SEARCH] Adjusting table contentInset.top by +56.0
[22:59:46] [SEARCH] Table contentInset.top: 0.0 -> 56.0
[22:59:46] [SEARCH] handleTopRefresh called - tab=0, isSearchBarVisible=true
[22:59:46] [CHAT] top pull-to-refresh triggered on tab 0
[22:59:46] [CHANNEL_SWITCH] 📡 Fetching URL: https://crivello.dyndns.org:443/WebRTC/chat/chat_get_messages.php?viewer=1&session_id=ILUIWU&mark_read=0&viewer_id=EDAD55A1-003F-415D-AA60-672B34B504FE
[22:59:46] [WS] WebSocket task completed with error - isQueryOnly=true: The request timed out.
[22:59:46] [WS] Query connection error - cleaning up all agent connections and views
[22:59:46] [CLEANUP] ========================================
[22:59:46] [CLEANUP] Cleaning up all agent connections and views
[22:59:46] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[22:59:46] [CLEANUP] Stopped and removed 0 video connections
[22:59:46] [CLEANUP] Removed 0 video views
[22:59:46] [CLEANUP] Removed 0 feed scroll views
[22:59:46] [CLEANUP] Removed 0 status labels
[22:59:46] [CLEANUP] Reset agent query state
[22:59:46] [CLEANUP] Updated page indicator
[22:59:46] [CLEANUP] Rebuilt video layout
[22:59:46] [CLEANUP] ✅ All agent connections and views cleaned up
[22:59:46] [CLEANUP] ========================================
[22:59:46] [SERVER] Starting reconnect polling (5s interval)
[22:59:46] [SEARCH] Focusing search field
[22:59:46] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[22:59:46] [SEARCH] contentOffset.y=-177.66666666666666, topInset=116.0, pullDistance=61.66666666666666
[22:59:46] [SEARCH] threshold=80.0, isSearchBarVisible=true
[22:59:46] [SEARCH] topRefresh.isRefreshing=true
[22:59:46] [SEARCH] ❌ Pull distance 61.66666666666666 < threshold 80.0
[22:59:46] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:46] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:46] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.044230444433690015) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:46] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:46] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.044230444433690015) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:46] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:47] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:47] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:47] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.04461505699398297) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:47] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:47] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.04461505699398297) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:47] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:47] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:47] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:47] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.04499966955427592) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:47] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:47] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.04499966955427592) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:47] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:47] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:47] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:47] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.04538428211456888) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:47] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:47] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.04538428211456888) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:47] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:47] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:47] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:47] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.045768894674861844) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:47] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:47] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.045768894674861844) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:47] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:48] [PENDING_UPLOAD] Found pending message: id=4328, file=4204ae439e7ffebc.mov, uploadStatus=2
[22:59:48] [PENDING_UPLOAD] Found pending message: id=-9, file=c8f0aac386a60643.jpg, uploadStatus=2
[22:59:48] [PENDING_UPLOAD] Total pending upload messages: 2
[22:59:48] [PENDING_UPLOAD] Preserved 2 pending messages before server refresh
[22:59:48] [PENDING_UPLOAD] Reinserting 2 pending messages
[22:59:48] [PENDING_UPLOAD] ✅ Reinserted message 4328
[22:59:48] [PENDING_UPLOAD] ✅ Reinserted message -9
[22:59:48] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:48] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:48] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.046153507235154795) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:48] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:48] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.046153507235154795) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:48] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:48] DOWNLOADIIING t_66e5f4c7c82fef18.jpg
[22:59:48] DOWNLOADIIING t_97828ef5de49a612.jpg
[22:59:48] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:48] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:48] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.04653811979544775) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:48] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:48] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.04653811979544775) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:48] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:48] [CHANNEL_SWITCH] 📊 About to set loaded messages. Count=3218
[22:59:48] [CHANNEL_SWITCH] 📊 Setting allMessagesWithReadBy = 3218 msgs
[22:59:48] [READBY_LOADED] msg 4328: readBy.count=0, readBy=[], isMyMsg=true
[22:59:48] [READBY_LOADED] msg 4327: readBy.count=0, readBy=[], isMyMsg=true
[22:59:48] [READBY_LOADED] msg 4319: readBy.count=0, readBy=[], isMyMsg=true
[22:59:48] [READBY_LOADED] msg 4318: readBy.count=0, readBy=[], isMyMsg=true
[22:59:48] [READBY_LOADED] msg 4317: readBy.count=1, readBy=["EDAD55A1-003F-415D-AA60-672B34B504FE"], isMyMsg=false
[22:59:48] [PENDING_UPLOAD] ⏭️ Skipped pending message id=4328 - already exists in server data
[22:59:48] [PENDING_UPLOAD] ⏭️ Skipped pending message id=-9 - already exists in server data
[22:59:48] [PENDING_UPLOAD] Final merged count: 3218 (server: 3218, kept pending: 0)
[22:59:48] [CHANNEL_SWITCH] 📊 chatRows.count = 3266
[22:59:48] ReloadData 15 (3218 messages loaded, 17 pending media)
[22:59:48] DOWNLOADIIING 1b1a78050ebe099b.jpg
[22:59:48] DOWNLOADIIING bae538c2a3076c11.heic
[22:59:48] DOWNLOADIIING ee42d57ffd8ab767.jpg
[22:59:48] DOWNLOADIIING 5cfd84d52271d308.heic
[22:59:48] DOWNLOADIIING 0f2dda66cccdeadf.heic
[22:59:49] DOWNLOADIIING 2a4c7380908d6595.jpg
[22:59:49] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:49] [CELL_UPLOAD] configure: msgId=4328, file=4204ae439e7ffebc.mov, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=0
[22:59:49] [CELL_UPLOAD] → has active progress=0.04653811979544775, setting uploading
[22:59:49] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.04653811979544775) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:49] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:49] [PULL_REFRESH] Loaded 3218 messages (first page), displaying 3218 for tab 0, hasMore: true
[22:59:49] ReloadData 15 (pull-to-refresh completed)
[22:59:49] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:49] [CELL_UPLOAD] configure: msgId=4328, file=4204ae439e7ffebc.mov, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=0
[22:59:49] [CELL_UPLOAD] → has active progress=0.04653811979544775, setting uploading
[22:59:49] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.04653811979544775) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:49] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:49] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:49] [CELL_UPLOAD] configure: msgId=4328, file=4204ae439e7ffebc.mov, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=0
[22:59:49] [CELL_UPLOAD] → has active progress=0.04653811979544775, setting uploading
[22:59:49] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.04653811979544775) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:49] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:49] [MENU] 🔍 dismissAnyExistingMenu called
[22:59:49] [MENU] ℹ️ No menu with tag 9999 found
[22:59:49] [MENU] ✅ dismissAnyExistingMenu completed
[22:59:49] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=true, tab=0
[22:59:49] [SEARCH] 🔽 Hiding search bar (user started scrolling)
[22:59:49] [SEARCH] hideSearchBar() called - animated=true, isSearchBarVisible=true
[22:59:49] [SEARCH] ✅ Setting isSearchBarVisible = false
[22:59:49] [SEARCH] Adjusting table contentInset.top by -56.0
[22:59:49] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[22:59:49] [SEARCH] contentOffset.y=39.666666666666664, topInset=0.0, pullDistance=-39.666666666666664
[22:59:49] [SEARCH] threshold=80.0, isSearchBarVisible=false
[22:59:49] [SEARCH] topRefresh.isRefreshing=false
[22:59:49] [SEARCH] ❌ Pull distance -39.666666666666664 < threshold 80.0
[22:59:49] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:49] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:49] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:49] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:49] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.04692273235574071) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:49] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:49] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.04692273235574071) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:49] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:49] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.04730734491603366) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:49] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:49] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.04730734491603366) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:49] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:49] ReloadData 14 (all 17 media thumbnails loaded) - applying tab 0 filtering
[22:59:49] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:49] [CELL_UPLOAD] configure: msgId=4328, file=4204ae439e7ffebc.mov, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=2
[22:59:49] [CELL_UPLOAD] → has active progress=0.04730734491603366, setting uploading
[22:59:49] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.04730734491603366) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:49] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:49] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:49] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:49] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.047691957476326624) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:49] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:49] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.047691957476326624) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:49] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:49] [MENU] 🔍 dismissAnyExistingMenu called
[22:59:49] [MENU] ℹ️ No menu with tag 9999 found
[22:59:49] [MENU] ✅ dismissAnyExistingMenu completed
[22:59:49] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[22:59:49] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:49] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:49] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.04807657003661958) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:49] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:49] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.04807657003661958) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:49] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:49] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:49] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:49] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.04846118259691253) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:49] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:49] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.04846118259691253) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:49] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:49] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[22:59:49] [SEARCH] contentOffset.y=20.0, topInset=0.0, pullDistance=-20.0
[22:59:49] [SEARCH] threshold=80.0, isSearchBarVisible=false
[22:59:49] [SEARCH] topRefresh.isRefreshing=false
[22:59:49] [SEARCH] ❌ Pull distance -20.0 < threshold 80.0
[22:59:49] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:50] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:50] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.04884579515720549) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:50] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:50] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.04884579515720549) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:50] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:50] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:50] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:50] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.04923040771749845) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:50] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:50] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.04923040771749845) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:50] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:50] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:50] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:50] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.049615020277791404) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:50] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:50] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.049615020277791404) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:50] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:50] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:50] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:50] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.04999963283808436) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:50] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:50] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.04999963283808436) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:50] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:50] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:50] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:50] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.05038424539837732) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:50] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:50] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.05038424539837732) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:50] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:51] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:51] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:51] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.05076885795867027) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:51] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:51] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.05076885795867027) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:51] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:51] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:51] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:51] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.05115347051896323) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:51] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:51] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.05115347051896323) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:51] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:51] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:51] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:51] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.05153808307925619) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:51] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:51] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.05153808307925619) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:51] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:51] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:51] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:51] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0523073081998421) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:51] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:51] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0523073081998421) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:51] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:51] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:51] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:51] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.05269192076013506) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:51] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:51] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.05269192076013506) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:51] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:51] [SERVER] Polling - attempting to reconnect...
[22:59:51] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:51] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:51] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.05346114588072097) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:51] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:51] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.05346114588072097) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:51] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:52] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:52] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:52] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.05384575844101393) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:52] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:52] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.05384575844101393) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:52] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:54] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:54] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:54] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.054230371001306885) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:54] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:54] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.054230371001306885) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:54] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:54] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:54] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:54] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.05461498356159984) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:54] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:54] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.05461498356159984) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:54] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:55] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:55] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:55] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0549995961218928) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:55] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:55] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0549995961218928) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:55] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:55] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:55] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:55] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.05538420868218575) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:55] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:55] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.05538420868218575) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:55] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:55] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:55] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:55] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.055768821242478714) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:55] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:55] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.055768821242478714) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:55] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:55] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:55] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:55] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.05615343380277167) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:55] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:55] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.05615343380277167) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:55] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:55] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:55] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:55] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.05653804636306462) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:55] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:55] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.05653804636306462) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:55] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:56] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:56] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:56] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.05692265892335758) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:56] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:56] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.05692265892335758) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:56] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:56] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:56] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:56] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.05730727148365054) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:56] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:56] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.05730727148365054) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:56] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:56] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:56] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:56] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.057691884043943494) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:56] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:56] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.057691884043943494) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:56] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:56] [CHUNKED_PROGRESS] 4204ae439e7ffebc.mov: chunk 1/13 - 75% (75.5/100.0 MB)
[22:59:56] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:56] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:56] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.05807649660423645) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:56] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:56] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.05807649660423645) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:56] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:56] [SERVER] Polling - attempting to reconnect...
[22:59:56] [CHUNKED_PROGRESS] 4204ae439e7ffebc.mov: chunk 1/13 - 75% (76.0/100.0 MB)
[22:59:56] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:56] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:56] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.05846110916452941) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:56] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:56] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.05846110916452941) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:56] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:57] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:57] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:57] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.05884572172482236) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:57] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:57] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.05884572172482236) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:57] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:57] [GALLERY_DB] Loading ALL media messages for session: ILUIWU
[22:59:57] [GALLERY_DB] Raw datesent for msg 4309: '2025-12-08 19:02:10'
[22:59:57] [GALLERY_DB] Raw datesent for msg 4301: '2025-12-08 18:53:38'
[22:59:57] [GALLERY_DB] Raw datesent for msg 4253: '2025-12-08 11:59:28'
[22:59:57] [GALLERY_DB] ✅ Loaded 207 media messages
[22:59:57] [GALLERY] Filtered 207 -> 190 (only with local thumbnails)
[22:59:57] [GALLERY] First 5 after sort (newest first):
[22:59:57] [GALLERY] 0: id=4309, date=2025-12-08 19:02:10, file=7f5c64456effb085.png
[22:59:57] [GALLERY] 1: id=4301, date=2025-12-08 18:53:38, file=71742c3d78ed2063.jpg
[22:59:57] [GALLERY] 2: id=4253, date=2025-12-08 11:59:28, file=10dabda8d04dc725.jpg
[22:59:57] [GALLERY] 3: id=4227, date=2025-12-08 08:35:52, file=5abfa51ac84672ca.jpg
[22:59:57] [GALLERY] 4: id=4225, date=2025-12-08 06:51:17, file=a59f6ea5b913297d.jpg
[22:59:57] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:57] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:57] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.05923033428511532) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:57] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:57] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.05923033428511532) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:57] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:57] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:57] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:57] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.05999955940570123) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:57] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:57] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.05999955940570123) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:57] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:57] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:57] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:57] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.06076878452628715) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:57] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:57] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.06076878452628715) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:57] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:57] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:57] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:57] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.06153800964687306) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:57] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:57] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.06153800964687306) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:57] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:57] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:57] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:57] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.06230723476745897) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:57] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:57] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.06230723476745897) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:57] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:58] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:58] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:58] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.06269184732775193) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:58] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:58] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.06269184732775193) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:58] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:58] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:58] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:58] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.06307645988804489) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:58] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:58] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.06307645988804489) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:58] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:58] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:58] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:58] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0638456850086308) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:58] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:58] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0638456850086308) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:58] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:58] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:58] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:58] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0646149101292167) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:58] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:58] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0646149101292167) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:58] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:58] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:58] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:58] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.06499952268950968) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:58] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:58] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.06499952268950968) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:58] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:58] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:58] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:58] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.06538413524980263) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:58] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:58] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.06538413524980263) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:58] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:58] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:58] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:58] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.06615336037038853) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:58] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:58] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.06615336037038853) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:58] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:59] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:59] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:59] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.06692258549097445) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:59] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:59] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.06692258549097445) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:59] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:59] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:59] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:59] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.06769181061156036) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:59] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:59] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.06769181061156036) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:59] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:59] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:59] [CELL_UPLOAD] configure: msgId=4328, file=4204ae439e7ffebc.mov, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=2
[22:59:59] [CELL_UPLOAD] → has active progress=0.06769181061156036, setting uploading
[22:59:59] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.06769181061156036) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:59] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:59] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:59] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:59] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.06846103573214628) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:59] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:59] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.06846103573214628) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:59] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:59] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:59] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:59] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.06923026085273219) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:59] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:59] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.06923026085273219) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:59] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:59] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:59] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:59] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.06961487341302515) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:59] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:59] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.06961487341302515) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:59] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:59] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[22:59:59] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[22:59:59] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0699994859733181) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:59] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[22:59:59] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0699994859733181) for file=4204ae439e7ffebc.mov, overlayExists=true
[22:59:59] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:00] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:00] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:00] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.07076871109390402) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:00] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:00] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.07076871109390402) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:00] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:00] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:00] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:00] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.07153793621448992) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:00] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:00] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.07153793621448992) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:00] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:00] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:00] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:00] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0719225487747829) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:00] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:00] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0719225487747829) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:00] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:00] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:00] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:00] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.07230716133507585) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:00] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:00] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.07230716133507585) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:00] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:00] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:00] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:00] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.07307638645566175) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:00] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:00] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.07307638645566175) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:00] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:00] [LIFECYCLE] App resigning active - cleared crash flag
[23:00:00] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:00] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:00] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.07384561157624767) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:00] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:00] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.07384561157624767) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:00] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:01] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:01] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:01] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.07461483669683358) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:01] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:01] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.07461483669683358) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:01] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:01] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:01] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:01] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0753840618174195) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:01] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:01] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0753840618174195) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:01] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:01] [SECURITY] sceneDidEnterBackground - isAuthenticated=true
[23:00:01] [SECURITY] Saved background timestamp
[23:00:01] [LIFECYCLE] App entering background - cleared crash flag
[23:00:01] [CLIENT_SIG] Disconnecting
[23:00:01] [LIFECYCLE] App entering background - disconnecting connections and stopping audio
[23:00:01] [WS] stopSignalingAndPeer called - isQueryOnly=true, connectionStr=iosILUIWU, wsState=3
[23:00:01] [WS] Canceling WebSocket for query connection to iosILUIWU
[23:00:01] In cleanupPeer
[23:00:01] In cleanupPeer
[23:00:01] [LIFECYCLE] WebRTC audio disabled
[23:00:01] [LIFECYCLE] AVAudioSession deactivated
[23:00:01] [LIFECYCLE] All connections stopped
[23:00:01] [CLIENT_SIG] WebSocket closed with code 1001
[23:00:01] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1)
[23:00:01] [SERVER] Stopped reconnect polling
[23:00:01] [WS] URLSession invalidated successfully
[23:00:01] Will request stop of video 0
[23:00:01] Will request stop of video 0
[23:00:01] [CLIENT_SIG] Receive error: Error Domain=NSPOSIXErrorDomain Code=57 "Socket is not connected" UserInfo={NSErrorFailingURLStringKey=http://crivello.dyndns.org:8081/, NSErrorFailingURLKey=http://crivello.dyndns.org:8081/}
[23:00:01] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2)
[23:00:01] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:01] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:01] [PIP] Removing 0 tracks from PiP for connection 0
[23:00:01] [PIP] ✅ All tracks removed for connection 0
[23:00:01] [PIP] Removing 0 tracks from PiP for connection 0
[23:00:01] [PIP] ✅ All tracks removed for connection 0
[23:00:01] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.07615328693800541) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:01] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:01] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.07615328693800541) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:01] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:01] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:01] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:01] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.07692251205859132) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:01] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:01] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.07692251205859132) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:01] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:06] [UPLOAD] Background session com.eye.background.upload finished
[23:00:06] [CLIENT_SIG] Connecting to session ILUIWU as Esra (EDAD55A1-003F-415D-AA60-672B34B504FE)
[23:00:06] [WS] Connection failed: The operation couldn’t be completed. Software caused connection abort
[23:00:06] [WS] Query connection failed - cleaning up all agent connections and views
[23:00:06] [CLEANUP] ========================================
[23:00:06] [CLEANUP] Cleaning up all agent connections and views
[23:00:06] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:00:06] [CLEANUP] Stopped and removed 0 video connections
[23:00:06] [CLEANUP] Removed 0 video views
[23:00:06] [CLEANUP] Removed 0 feed scroll views
[23:00:06] [CLEANUP] Removed 0 status labels
[23:00:06] [CLEANUP] Reset agent query state
[23:00:06] [CLEANUP] Updated page indicator
[23:00:06] [CLEANUP] Rebuilt video layout
[23:00:06] [CLEANUP] ✅ All agent connections and views cleaned up
[23:00:06] [CLEANUP] ========================================
[23:00:06] [SERVER] Skipping reconnect polling - app is in background
[23:00:06] [UPLOAD_RESPONSE] Started receiving response for task 2
[23:00:06] [UPLOAD_METRICS] Task 2 metrics:
[23:00:06] [UPLOAD_METRICS] Total time: 53.92s
[23:00:06] [UPLOAD_METRICS] Upload time: 49.16s
[23:00:06] [UPLOAD_METRICS] Response time: 0.00s
[23:00:06] [UPLOAD_METRICS] Network protocol: http/1.1
[23:00:06] [UPLOAD_METRICS] Proxy: no
[23:00:06] [UPLOAD_METRICS] Reused connection: yes
[23:00:06] [UPLOAD_COMPLETE] ========== Task Completed ==========
[23:00:06] [UPLOAD_COMPLETE] Task ID: 2
[23:00:06] [UPLOAD_COMPLETE] Task state: 3 (0=running, 1=suspended, 2=canceling, 3=completed)
[23:00:06] [CHUNKED_COMPLETE] ========== Chunk Task Completed ==========
[23:00:06] [CHUNKED_COMPLETE] Task ID: 2
[23:00:06] [CHUNKED_COMPLETE] Chunk: 1/13
[23:00:06] [CHUNKED_COMPLETE] Filename: 4204ae439e7ffebc.mov
[23:00:06] [CHUNKED_COMPLETE] HTTP Status: 200
[23:00:06] [CHUNKED_COMPLETE] Response: {"ok":true,"chunkIndex":0,"receivedChunks":1,"totalChunks":13,"progress":7.69,"message":"Chunk received"}
[23:00:06] [CHUNKED_COMPLETE] ✅ Chunk 1/13 complete (7.7%)
[23:00:06] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:06] [CHUNKED_UPLOAD] ▶️ uploadChunk called: chunk 1/13
[23:00:06] [CHUNKED_UPLOAD] Uploading chunk 2/13
[23:00:06] [CHUNKED_UPLOAD] Offset: 104857600 bytes
[23:00:06] [CHUNKED_UPLOAD] Size: 104857600 bytes (100.0 MB)
[23:00:06] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:06] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.07692307692307693) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:06] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:06] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.07692307692307693) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:06] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:06] [CHUNKED_RESUME] Saved progress: chunk 1 completed
[23:00:06] [CHUNKED_UPLOAD] 📤 Sending chunk 1 via background session...
[23:00:06] [CHUNKED_UPLOAD] URL: https://crivello.dyndns.org:443/WebRTC/chat/upload_chunked.php
[23:00:06] [CHUNKED_UPLOAD] Body size: 104858370 bytes (100.0 MB)
[23:00:06] [CHUNKED_UPLOAD] Task 3 created for chunk 1
[23:00:06] [UPLOAD_SESSION] ========== urlSessionDidFinishEvents ==========
[23:00:06] [UPLOAD_SESSION] Background session finished all events
[23:00:06] [UPLOAD_SESSION] Session identifier: com.eye.background.upload
[23:00:06] [UPLOAD_SESSION] Background completion handler called
[23:00:06] [CLIENT_SIG] WebSocket opened
[23:00:06] [CLIENT_SIG] HELLO sent as client for session ILUIWU
[23:00:07] [CLIENT_SIG] Connected! clientId=BulgMAEevLhQjVoR
[23:00:07] [CLIENT_SIG] Received 1 clients for session 'ILUIWU' (my session: 'ILUIWU')
[23:00:07] [CLIENT_SIG] - Esra (EDAD55A1-003F-415D-AA60-672B34B504FE)
[23:00:20] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU
[23:00:20] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[23:00:20] [LIFECYCLE] App entering foreground - restoring connections
[23:00:20] [UPLOAD_RETRY] No pending uploads to retry
[23:00:20] [LIFECYCLE] Merged 383 reactions from local DB
[23:00:20] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:20] [CELL_UPLOAD] configure: msgId=4328, file=4204ae439e7ffebc.mov, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=2
[23:00:20] [CELL_UPLOAD] → has active progress=0.07692307692307693, setting uploading
[23:00:20] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.07692307692307693) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:20] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:20] [LIFECYCLE] WebRTC audio re-enabled
[23:00:20] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone)
[23:00:20] [VIEWER] Reconnecting after background - querying agents
[23:00:20] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[23:00:20] [WS] Opening session at ws://crivello.dyndns.org:8081/
[23:00:20] [CLIENT_SIG] Receive error: Error Domain=NSPOSIXErrorDomain Code=53 "Software caused connection abort" UserInfo={NSDescription=Software caused connection abort}
[23:00:20] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1)
[23:00:20] [CLIENT_SIG] Task completed with error: Error Domain=NSPOSIXErrorDomain Code=53 "Software caused connection abort" UserInfo={NSDescription=Software caused connection abort, _NSURLErrorRelatedURLSessionTaskErrorKey=(
"LocalWebSocketTask <EACB5C42-0D1A-48AC-8C4B-39BE3E27D658>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <EACB5C42-0D1A-48AC-8C4B-39BE3E27D658>.<1>}
[23:00:20] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2)
[23:00:20] [SECURITY] sceneDidBecomeActive - isAuthenticated=true, didEnterBackground=true
[23:00:20] [SECURITY] Timeout exceeded - requiring re-authentication
[23:00:20] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow
[23:00:20] [PUSH] handlePollEventsNotification userInfo: [:]
[23:00:20] [PUSH] No message_id in userInfo
[23:00:20] [PUSH] No operation_type in userInfo
[23:00:20] [FAST_REFRESH] Evolution disabled - performing incremental sync
[23:00:20] [FAST_REFRESH] Already have 50 messages - skipping local DB load
[23:00:20] [FAST_REFRESH] About to call reloadMessagesForCurrentTab(), isMainThread=true, viewLoaded=true
[23:00:20] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:20] [CELL_UPLOAD] configure: msgId=4328, file=4204ae439e7ffebc.mov, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=2
[23:00:20] [CELL_UPLOAD] → has active progress=0.07692307692307693, setting uploading
[23:00:20] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.07692307692307693) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:20] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:20] [FAST_REFRESH] reloadMessagesForCurrentTab() called successfully
[23:00:20] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 4328
[23:00:20] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[23:00:20] HELLO → sent (cached token, role=query)
[23:00:21] [SIG] hello_ok received for query connection - ready to query agents
[23:00:21] [SIG] get_agents request sent for sessionId=ILUIWU
[23:00:21] [SIG] get_agents request sent for sessionId=iosILUIWU
[23:00:21] [SERVER] Stopped reconnect polling
[23:00:21] [SIG] agents_list received: []
[23:00:21] [SIG] agents_list received: []
[23:00:21] [INCREMENTAL_SYNC] ✅ No new messages
[23:00:21] [FAST_REFRESH] Incremental sync complete - 50 messages
[23:00:22] [CHUNKED_PROGRESS] 4204ae439e7ffebc.mov: chunk 2/13 - 0% (0.4/100.0 MB)
[23:00:22] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:22] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:22] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.07721153634329664) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:22] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:22] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.07721153634329664) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:22] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:22] [CHUNKED_PROGRESS] 4204ae439e7ffebc.mov: chunk 2/13 - 0% (0.8/100.0 MB)
[23:00:22] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:22] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:22] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.07749999576351636) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:22] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:22] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.07749999576351636) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:22] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:22] [CHUNKED_PROGRESS] 4204ae439e7ffebc.mov: chunk 2/13 - 0% (1.0/100.0 MB)
[23:00:22] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:22] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:22] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.07769230204366284) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:22] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:22] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.07769230204366284) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:22] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:23] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:23] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:23] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.07788460832380932) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:23] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:23] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.07788460832380932) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:23] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:23] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:23] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:23] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.07798076146388255) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:23] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:23] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.07798076146388255) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:23] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:23] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:23] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:23] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.07826922088410226) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:23] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:23] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.07826922088410226) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:23] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:24] [FAST_REFRESH] Enriched 0 messages with readBy data
[23:00:24] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:24] [CELL_UPLOAD] configure: msgId=4328, file=4204ae439e7ffebc.mov, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=2
[23:00:24] [CELL_UPLOAD] → has active progress=0.07826922088410226, setting uploading
[23:00:24] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.07826922088410226) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:24] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:24] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:24] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:24] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.07846152716424874) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:24] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:24] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.07846152716424874) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:24] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:24] [PIN_AUTH] Correct PIN
[23:00:24] [SECURITY] Restored real session: ILUIWU
[23:00:24] [SECURITY] Restored real session: ILUIWU
[23:00:24] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:24] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:24] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.07865383344439522) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:24] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:24] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.07865383344439522) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:24] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:24] [LOCK] ✅ PIN auth callback - setting isAuthenticated = true
[23:00:24] [FAKE MODE] Exiting fake mode, restoring real session
[23:00:24] [SECURITY] Restored real session: ILUIWU
[23:00:24] [SECURITY] Saved real session: ILUIWU
[23:00:24] [FAKE MODE] ✅ Restored real session: ILUIWU
[23:00:24] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:24] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:24] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:24] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:25] DOWNLOADIIING 1b1a78050ebe099b.jpg
[23:00:25] DOWNLOADIIING bae538c2a3076c11.heic
[23:00:25] DOWNLOADIIING ee42d57ffd8ab767.jpg
[23:00:25] DOWNLOADIIING 5cfd84d52271d308.heic
[23:00:25] DOWNLOADIIING 0f2dda66cccdeadf.heic
[23:00:25] DOWNLOADIIING 2a4c7380908d6595.jpg
[23:00:25] [MENU] 🔍 dismissAnyExistingMenu called
[23:00:25] [MENU] ℹ️ No menu with tag 9999 found
[23:00:25] [MENU] ✅ dismissAnyExistingMenu completed
[23:00:25] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:00:25] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:25] [CELL_UPLOAD] configure: msgId=4328, file=4204ae439e7ffebc.mov, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=0
[23:00:25] [CELL_UPLOAD] → has active progress=0.07913459914476142, setting uploading
[23:00:25] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.07913459914476142) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:25] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:25] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.07894229286461495) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:25] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:25] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.07894229286461495) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:25] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:25] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.07913459914476142) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:25] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:25] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.07913459914476142) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:25] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:25] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:25] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:25] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:25] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:25] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:25] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:25] [CLIENT_SIG] Connecting to session ILUIWU as Esra (EDAD55A1-003F-415D-AA60-672B34B504FE)
[23:00:25] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:25] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:25] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:25] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:25] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.07932690542490789) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:25] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:25] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.07932690542490789) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:25] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:25] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.07951921170505437) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:25] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:25] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.07951921170505437) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:25] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:25] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.07971151798520085) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:25] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:25] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.07971151798520085) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:25] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:25] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.07999997740542059) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:25] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:25] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.07999997740542059) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:25] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:25] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08019228368556706) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:25] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:25] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08019228368556706) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:25] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:25] [SEARCH] handleTopRefresh called - tab=0, isSearchBarVisible=false
[23:00:25] [SEARCH] 🔍 First pull on Tab 0 - showing search bar instead of refresh
[23:00:25] [SEARCH] showSearchBar() called - animated=true, isSearchBarVisible=false
[23:00:25] [SEARCH] ✅ Setting isSearchBarVisible = true
[23:00:25] [SEARCH] chatSearchBar is nil? false
[23:00:25] [SEARCH] Applied theme: day
[23:00:25] [SEARCH] Adjusting table contentInset.top by +56.0
[23:00:25] [SEARCH] Table contentInset.top: 40.0 -> 96.0
[23:00:25] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:25] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:25] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08048074310578678) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:25] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:25] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08048074310578678) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:25] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:25] [SEARCH] handleTopRefresh called - tab=0, isSearchBarVisible=true
[23:00:25] [CHAT] top pull-to-refresh triggered on tab 0
[23:00:25] [CHANNEL_SWITCH] 📡 Fetching URL: https://crivello.dyndns.org:443/WebRTC/chat/chat_get_messages.php?viewer=1&session_id=ILUIWU&mark_read=0&viewer_id=EDAD55A1-003F-415D-AA60-672B34B504FE
[23:00:25] [SEARCH] Focusing search field
[23:00:25] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:00:25] [SEARCH] contentOffset.y=-230.66666666666666, topInset=156.0, pullDistance=74.66666666666666
[23:00:25] [SEARCH] threshold=80.0, isSearchBarVisible=true
[23:00:25] [SEARCH] topRefresh.isRefreshing=true
[23:00:25] [SEARCH] ❌ Pull distance 74.66666666666666 < threshold 80.0
[23:00:25] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:25] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:25] [CLIENT_SIG] WebSocket opened
[23:00:25] [CLIENT_SIG] HELLO sent as client for session ILUIWU
[23:00:25] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08067304938593325) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:25] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:25] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08067304938593325) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:25] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:25] [CLIENT_SIG] Connected! clientId=lB6NA0rjtoxFGKbC
[23:00:25] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:25] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:25] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08096150880615297) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:25] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:25] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08096150880615297) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:25] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:25] [CLIENT_SIG] Received 1 clients for session 'ILUIWU' (my session: 'ILUIWU')
[23:00:25] [CLIENT_SIG] - Esra (EDAD55A1-003F-415D-AA60-672B34B504FE)
[23:00:25] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:25] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:25] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08115381508629944) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:25] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:25] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08115381508629944) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:25] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:25] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:25] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:25] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08134612136644592) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:25] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:25] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08134612136644592) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:25] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:26] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:26] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:26] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0815384276465924) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:26] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:26] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0815384276465924) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:26] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:26] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:26] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:26] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08173073392673888) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:26] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:26] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08173073392673888) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:26] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:26] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:26] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:26] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08192304020688536) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:26] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:26] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08192304020688536) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:26] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:26] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:26] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:26] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08211534648703184) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:26] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:26] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08211534648703184) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:26] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:26] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:26] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:26] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08230765276717832) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:26] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:26] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08230765276717832) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:26] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:26] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:26] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:26] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0824999590473248) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:26] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:26] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0824999590473248) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:26] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:26] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:26] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:26] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08269226532747129) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:26] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:26] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08269226532747129) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:26] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:26] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:26] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:26] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0827884184675445) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:27] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:27] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0827884184675445) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:27] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:27] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:27] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:27] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.082980724747691) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:27] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:27] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.082980724747691) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:27] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:27] [PENDING_UPLOAD] Found pending message: id=4328, file=4204ae439e7ffebc.mov, uploadStatus=2
[23:00:27] [PENDING_UPLOAD] Found pending message: id=-9, file=c8f0aac386a60643.jpg, uploadStatus=2
[23:00:27] [PENDING_UPLOAD] Total pending upload messages: 2
[23:00:27] [PENDING_UPLOAD] Preserved 2 pending messages before server refresh
[23:00:27] [PENDING_UPLOAD] Reinserting 2 pending messages
[23:00:27] [PENDING_UPLOAD] ✅ Reinserted message 4328
[23:00:27] [PENDING_UPLOAD] ✅ Reinserted message -9
[23:00:27] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:27] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:27] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08307687788776422) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:27] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:27] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08307687788776422) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:27] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:27] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:27] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:27] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08326918416791071) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:27] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:27] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08326918416791071) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:27] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:27] DOWNLOADIIING t_66e5f4c7c82fef18.jpg
[23:00:27] DOWNLOADIIING t_97828ef5de49a612.jpg
[23:00:27] [CHANNEL_SWITCH] 📊 About to set loaded messages. Count=3218
[23:00:27] [CHANNEL_SWITCH] 📊 Setting allMessagesWithReadBy = 3218 msgs
[23:00:27] [READBY_LOADED] msg 4328: readBy.count=0, readBy=[], isMyMsg=true
[23:00:27] [READBY_LOADED] msg 4327: readBy.count=0, readBy=[], isMyMsg=true
[23:00:27] [READBY_LOADED] msg 4319: readBy.count=0, readBy=[], isMyMsg=true
[23:00:27] [READBY_LOADED] msg 4318: readBy.count=0, readBy=[], isMyMsg=true
[23:00:27] [READBY_LOADED] msg 4317: readBy.count=1, readBy=["EDAD55A1-003F-415D-AA60-672B34B504FE"], isMyMsg=false
[23:00:27] [PENDING_UPLOAD] ⏭️ Skipped pending message id=4328 - already exists in server data
[23:00:27] [PENDING_UPLOAD] ⏭️ Skipped pending message id=-9 - already exists in server data
[23:00:27] [PENDING_UPLOAD] Final merged count: 3218 (server: 3218, kept pending: 0)
[23:00:27] [CHANNEL_SWITCH] 📊 chatRows.count = 3266
[23:00:27] ReloadData 15 (3218 messages loaded, 17 pending media)
[23:00:27] DOWNLOADIIING 1b1a78050ebe099b.jpg
[23:00:27] DOWNLOADIIING bae538c2a3076c11.heic
[23:00:27] DOWNLOADIIING ee42d57ffd8ab767.jpg
[23:00:27] DOWNLOADIIING 5cfd84d52271d308.heic
[23:00:27] DOWNLOADIIING 0f2dda66cccdeadf.heic
[23:00:28] DOWNLOADIIING 2a4c7380908d6595.jpg
[23:00:28] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:28] [CELL_UPLOAD] configure: msgId=4328, file=4204ae439e7ffebc.mov, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=0
[23:00:28] [CELL_UPLOAD] → has active progress=0.08326918416791071, setting uploading
[23:00:28] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08326918416791071) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:28] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:28] [PULL_REFRESH] Loaded 3218 messages (first page), displaying 3218 for tab 0, hasMore: true
[23:00:28] ReloadData 15 (pull-to-refresh completed)
[23:00:28] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:28] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:28] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:28] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:28] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:28] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:28] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08346149044805719) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:28] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:28] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08346149044805719) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:28] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:28] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08355764358813043) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:28] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:28] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08355764358813043) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:28] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:28] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08374994986827691) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:28] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:28] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08374994986827691) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:28] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:28] ReloadData 14 (all 17 media thumbnails loaded) - applying tab 0 filtering
[23:00:28] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:28] [CELL_UPLOAD] configure: msgId=4328, file=4204ae439e7ffebc.mov, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=2
[23:00:28] [CELL_UPLOAD] → has active progress=0.08374994986827691, setting uploading
[23:00:28] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08374994986827691) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:28] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:28] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:28] [CELL_UPLOAD] configure: msgId=4328, file=4204ae439e7ffebc.mov, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=2
[23:00:28] [CELL_UPLOAD] → has active progress=0.08374994986827691, setting uploading
[23:00:28] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08374994986827691) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:28] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:28] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:28] [CELL_UPLOAD] configure: msgId=4328, file=4204ae439e7ffebc.mov, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=2
[23:00:28] [CELL_UPLOAD] → has active progress=0.08374994986827691, setting uploading
[23:00:28] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08374994986827691) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:28] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:28] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:28] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:28] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:28] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:28] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:28] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:28] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:28] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:28] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08384610300835015) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:28] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:28] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08384610300835015) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:28] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:28] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08403840928849662) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:28] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:28] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08403840928849662) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:28] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:28] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0842307155686431) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:28] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:28] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0842307155686431) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:28] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:28] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08442302184878958) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:28] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:28] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08442302184878958) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:28] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:28] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:28] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:28] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08461532812893606) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:28] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:28] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08461532812893606) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:28] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:29] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:29] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:29] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08471148126900929) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:29] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:29] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08471148126900929) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:29] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:29] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:29] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:29] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08490378754915577) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:29] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:29] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08490378754915577) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:29] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:29] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:29] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:29] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08509609382930225) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:29] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:29] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08509609382930225) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:29] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:29] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:29] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:29] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08528840010944873) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:29] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:29] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08528840010944873) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:29] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:29] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:29] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:29] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08538455324952196) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:29] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:29] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08538455324952196) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:29] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:29] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:29] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:29] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08557685952966844) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:29] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:29] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08557685952966844) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:29] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:29] [MENU] 🔍 dismissAnyExistingMenu called
[23:00:29] [MENU] ℹ️ No menu with tag 9999 found
[23:00:29] [MENU] ✅ dismissAnyExistingMenu completed
[23:00:29] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=true, tab=0
[23:00:29] [SEARCH] 🔽 Hiding search bar (user started scrolling)
[23:00:29] [SEARCH] hideSearchBar() called - animated=true, isSearchBarVisible=true
[23:00:29] [SEARCH] ✅ Setting isSearchBarVisible = false
[23:00:29] [SEARCH] Adjusting table contentInset.top by -56.0
[23:00:29] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:29] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:29] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08567301266974169) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:29] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:29] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08567301266974169) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:29] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:30] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:30] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:30] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08586531894988816) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:30] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:30] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08586531894988816) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:30] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:30] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:30] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:30] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08634608465025437) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:30] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:30] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08634608465025437) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:30] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:30] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:30] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:30] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08663454407047408) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:30] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:30] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08663454407047408) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:30] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:30] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:30] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:30] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08730761605098676) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:30] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:30] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08730761605098676) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:30] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:30] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:30] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:30] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08759607547120647) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:30] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:30] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08759607547120647) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:30] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:30] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:30] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:30] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08817299431164591) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:30] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:30] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08817299431164591) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:30] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:30] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:00:30] [SEARCH] contentOffset.y=-10.333333333333334, topInset=40.0, pullDistance=-29.666666666666664
[23:00:30] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:00:30] [SEARCH] topRefresh.isRefreshing=false
[23:00:30] [SEARCH] ❌ Pull distance -29.666666666666664 < threshold 80.0
[23:00:30] [WS] WebSocket task completed with error - isQueryOnly=true: The request timed out.
[23:00:30] [WS] Query connection error - cleaning up all agent connections and views
[23:00:30] [CLEANUP] ========================================
[23:00:30] [CLEANUP] Cleaning up all agent connections and views
[23:00:30] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:00:30] [CLEANUP] Stopped and removed 0 video connections
[23:00:30] [CLEANUP] Removed 0 video views
[23:00:30] [CLEANUP] Removed 0 feed scroll views
[23:00:30] [CLEANUP] Removed 0 status labels
[23:00:30] [CLEANUP] Reset agent query state
[23:00:30] [CLEANUP] Updated page indicator
[23:00:30] [CLEANUP] Rebuilt video layout
[23:00:30] [CLEANUP] ✅ All agent connections and views cleaned up
[23:00:30] [CLEANUP] ========================================
[23:00:30] [SERVER] Starting reconnect polling (5s interval)
[23:00:30] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:30] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:30] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08836530059179239) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:30] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:30] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08836530059179239) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:30] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:30] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:30] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:30] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08894221943223181) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:30] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:30] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08894221943223181) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:30] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:31] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:31] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:31] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08923067885245153) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:31] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:31] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08923067885245153) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:31] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:31] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:31] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:31] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08932683199252477) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:31] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:31] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08932683199252477) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:31] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:31] [MENU] 🔍 dismissAnyExistingMenu called
[23:00:31] [MENU] ℹ️ No menu with tag 9999 found
[23:00:31] [MENU] ✅ dismissAnyExistingMenu completed
[23:00:31] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:00:32] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:32] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:32] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08942298513259803) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:32] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:32] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08942298513259803) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:32] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:32] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:00:32] [SEARCH] contentOffset.y=19.333333333333332, topInset=40.0, pullDistance=-59.33333333333333
[23:00:32] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:00:32] [SEARCH] topRefresh.isRefreshing=false
[23:00:32] [SEARCH] ❌ Pull distance -59.33333333333333 < threshold 80.0
[23:00:32] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:32] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:32] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08951913827267124) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:32] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:32] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08951913827267124) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:32] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:33] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:33] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:33] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08961529141274448) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:33] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:33] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08961529141274448) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:33] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:33] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:33] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:33] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08971144455281774) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:33] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:33] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08971144455281774) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:33] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:33] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:33] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:33] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08980759769289098) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:33] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:33] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08980759769289098) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:33] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:34] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:34] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:34] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08990375083296422) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:34] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:34] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08990375083296422) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:34] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:34] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:34] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:34] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08999990397303745) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:34] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:34] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.08999990397303745) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:34] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:34] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:34] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:34] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0900960571131107) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:34] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:34] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0900960571131107) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:34] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:34] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:34] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:34] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.09019221025318393) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:34] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:34] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.09019221025318393) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:34] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:35] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:35] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:35] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.09028836339325717) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:35] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:35] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.09028836339325717) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:35] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:35] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:35] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:35] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0903845165333304) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:35] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:35] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0903845165333304) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:35] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:35] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:35] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:35] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.09048066967340365) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:35] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:35] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.09048066967340365) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:35] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:35] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:35] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:35] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.09057682281347688) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:35] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:35] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.09057682281347688) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:35] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:35] [SERVER] Polling - attempting to reconnect...
[23:00:35] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:35] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:35] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.09067297595355013) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:35] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:35] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.09067297595355013) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:35] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:35] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:35] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:35] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.09076912909362336) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:35] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:35] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.09076912909362336) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:35] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:36] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:36] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:36] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0908652822336966) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:36] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:36] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0908652822336966) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:36] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:36] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:36] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:36] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.09105758851384307) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:36] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:36] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.09105758851384307) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:36] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:36] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:36] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:36] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0913460479340628) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:36] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:36] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0913460479340628) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:36] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:36] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:36] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:36] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.09144220107413603) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:36] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:36] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.09144220107413603) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:36] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:36] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:36] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:36] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.09221142619472195) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:36] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:36] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.09221142619472195) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:36] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:36] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:36] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:36] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0927883450351614) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:36] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:36] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0927883450351614) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:36] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:36] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:36] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:36] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.09346141701567406) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:36] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:36] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.09346141701567406) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:36] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:37] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:37] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:37] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.09374987643589378) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:37] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:37] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.09374987643589378) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:37] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:37] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:37] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:37] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.09394218271604025) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:37] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:37] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.09394218271604025) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:37] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:37] [MENU] 🔍 dismissAnyExistingMenu called
[23:00:37] [MENU] ℹ️ No menu with tag 9999 found
[23:00:37] [MENU] ✅ dismissAnyExistingMenu completed
[23:00:37] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:00:37] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:37] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:37] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.09423064213625996) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:37] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:37] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.09423064213625996) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:37] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:37] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:37] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:37] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.09451910155647969) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:37] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:37] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.09451910155647969) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:37] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:37] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:37] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:37] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.09499986725684588) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:37] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:37] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.09499986725684588) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:37] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:37] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:00:37] [SEARCH] contentOffset.y=85.0, topInset=40.0, pullDistance=-125.0
[23:00:37] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:00:37] [SEARCH] topRefresh.isRefreshing=false
[23:00:37] [SEARCH] ❌ Pull distance -125.0 < threshold 80.0
[23:00:37] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:37] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:37] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.09548063295721207) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:37] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:37] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.09548063295721207) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:37] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:37] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:37] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:37] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.09586524551750503) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:37] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:37] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.09586524551750503) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:37] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:37] [CHUNKED_PROGRESS] 4204ae439e7ffebc.mov: chunk 2/13 - 25% (25.1/100.0 MB)
[23:00:37] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:37] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:37] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.09624985807779798) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:37] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:37] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.09624985807779798) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:37] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:38] [CHUNKED_PROGRESS] 4204ae439e7ffebc.mov: chunk 2/13 - 25% (25.5/100.0 MB)
[23:00:38] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:38] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:38] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.09653831749801772) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:38] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:38] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.09653831749801772) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:38] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:38] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:38] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:38] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.09701908319838391) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:38] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:38] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.09701908319838391) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:38] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:38] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:38] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:38] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.09730754261860362) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:38] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:38] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.09730754261860362) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:38] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:38] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:38] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:38] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.09759600203882333) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:38] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:38] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.09759600203882333) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:38] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:38] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:38] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:38] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.09798061459911629) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:38] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:38] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.09798061459911629) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:38] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:38] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:38] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:38] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.09826907401933602) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:38] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:38] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.09826907401933602) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:38] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:38] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:38] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:38] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0987498397197022) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:38] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:38] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0987498397197022) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:38] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:38] [MENU] 🔍 dismissAnyExistingMenu called
[23:00:38] [MENU] ℹ️ No menu with tag 9999 found
[23:00:38] [MENU] ✅ dismissAnyExistingMenu completed
[23:00:38] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:00:38] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:38] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:38] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.09903829913992193) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:38] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:38] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.09903829913992193) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:38] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:39] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:39] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:39] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.09942291170021487) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:39] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:39] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.09942291170021487) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:39] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:39] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:00:39] [SEARCH] contentOffset.y=130.33333333333334, topInset=40.0, pullDistance=-170.33333333333334
[23:00:39] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:00:39] [SEARCH] topRefresh.isRefreshing=false
[23:00:39] [SEARCH] ❌ Pull distance -170.33333333333334 < threshold 80.0
[23:00:39] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:39] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:39] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.09990367740058109) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:39] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:39] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.09990367740058109) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:39] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:39] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:39] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:39] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.1001921368208008) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:39] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:39] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.1001921368208008) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:39] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:39] [SCROLL_BTN] Showing button - scrolled 386pt > half 379pt
[23:00:39] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:39] [CELL_UPLOAD] configure: msgId=4309, file=7f5c64456effb085.png, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=0
[23:00:39] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[23:00:39] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=7f5c64456effb085.png, overlayExists=true
[23:00:39] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:39] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:39] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.10057674938109376) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:39] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:39] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:39] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:39] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.10086520880131347) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:39] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:39] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:39] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:39] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.10124982136160643) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:39] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:39] [MENU] 🔍 dismissAnyExistingMenu called
[23:00:39] [MENU] ℹ️ No menu with tag 9999 found
[23:00:39] [MENU] ✅ dismissAnyExistingMenu completed
[23:00:39] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:00:39] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:39] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:39] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.10163443392189939) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:39] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:39] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:00:39] [SEARCH] contentOffset.y=740.0, topInset=40.0, pullDistance=-780.0
[23:00:39] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:00:39] [SEARCH] topRefresh.isRefreshing=false
[23:00:39] [SEARCH] ❌ Pull distance -780.0 < threshold 80.0
[23:00:39] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:39] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:39] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.10201904648219234) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:39] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:40] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:40] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:40] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.10249981218255853) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:40] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:40] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:40] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:40] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.10278827160277824) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:40] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:40] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:40] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:40] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.10317288416307122) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:40] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:00:40] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:00:40] [CELL_UPLOAD] configure: msgId=4301, file=71742c3d78ed2063.jpg, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=0
[23:00:40] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[23:00:40] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=71742c3d78ed2063.jpg, overlayExists=true
[23:00:40] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:40] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:40] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:40] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:40] [MENU] 🔍 dismissAnyExistingMenu called
[23:00:40] [MENU] ℹ️ No menu with tag 9999 found
[23:00:40] [MENU] ✅ dismissAnyExistingMenu completed
[23:00:40] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:00:40] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:00:40] [SEARCH] contentOffset.y=1512.6666666666667, topInset=40.0, pullDistance=-1552.6666666666667
[23:00:40] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:00:40] [SEARCH] topRefresh.isRefreshing=false
[23:00:40] [SEARCH] ❌ Pull distance -1552.6666666666667 < threshold 80.0
[23:00:40] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:40] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:40] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:40] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:41] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:41] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:41] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:41] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:41] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:41] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:41] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:41] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:41] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:41] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:41] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:41] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:41] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:41] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:42] [MENU] 🔍 dismissAnyExistingMenu called
[23:00:42] [MENU] ℹ️ No menu with tag 9999 found
[23:00:42] [MENU] ✅ dismissAnyExistingMenu completed
[23:00:42] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:00:42] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:42] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:42] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:00:42] [SEARCH] contentOffset.y=2194.0, topInset=40.0, pullDistance=-2234.0
[23:00:42] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:00:42] [SEARCH] topRefresh.isRefreshing=false
[23:00:42] [SEARCH] ❌ Pull distance -2234.0 < threshold 80.0
[23:00:42] [MENU] 🔍 dismissAnyExistingMenu called
[23:00:42] [MENU] ℹ️ No menu with tag 9999 found
[23:00:42] [MENU] ✅ dismissAnyExistingMenu completed
[23:00:42] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:00:42] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:00:42] [SEARCH] contentOffset.y=1892.6666666666667, topInset=40.0, pullDistance=-1932.6666666666667
[23:00:42] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:00:42] [SEARCH] topRefresh.isRefreshing=false
[23:00:42] [SEARCH] ❌ Pull distance -1932.6666666666667 < threshold 80.0
[23:00:42] [SERVER] Polling - attempting to reconnect...
[23:00:43] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:43] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:43] [COMBINED_FETCH] Loaded 3218 read receipts, 382 messages with reactions
[23:00:43] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=71742c3d78ed2063.jpg, overlayExists=true
[23:00:43] [CELL_UPLOAD] configure: msgId=4301, file=71742c3d78ed2063.jpg, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=0
[23:00:43] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[23:00:43] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=71742c3d78ed2063.jpg, overlayExists=true
[23:00:43] [PAGINATION] Scrolled to message 4306 at new row 16
[23:00:43] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:43] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:44] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:44] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:44] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:44] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:44] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:44] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:45] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:45] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:45] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:45] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:45] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:45] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:45] [SERVER] Polling - attempting to reconnect...
[23:00:45] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:45] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:46] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:46] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:46] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:46] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:46] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:46] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:46] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:46] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:46] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:46] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:46] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:46] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:47] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:47] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:47] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:47] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:47] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:47] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:47] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:47] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:47] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:47] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:47] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:47] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:47] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:47] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:47] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:47] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:48] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:48] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:48] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:48] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:48] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:48] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:48] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:48] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:48] [CHUNKED_PROGRESS] 4204ae439e7ffebc.mov: chunk 2/13 - 50% (50.1/100.0 MB)
[23:00:48] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:48] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:48] [CHUNKED_PROGRESS] 4204ae439e7ffebc.mov: chunk 2/13 - 50% (50.6/100.0 MB)
[23:00:48] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:48] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:48] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:48] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:48] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:48] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:49] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:49] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:49] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:49] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:49] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:49] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:49] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:49] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:49] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:49] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:49] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:49] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:49] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:49] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:49] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:49] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:50] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:50] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:50] [SERVER] Polling - attempting to reconnect...
[23:00:51] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:51] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:51] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:51] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:52] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:52] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:52] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:52] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:52] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:52] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:52] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:52] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:52] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:52] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:52] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:52] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:53] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:53] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:53] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:53] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:53] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:53] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:53] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:53] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:53] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:53] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:53] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:53] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:53] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:53] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:53] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:53] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:53] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:53] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:54] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:54] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:54] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:54] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:54] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:54] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:54] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:54] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:54] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:54] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:54] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:54] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:54] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:54] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:54] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:54] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:55] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:55] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:55] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:55] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:55] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:55] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:55] [MENU] 🔍 dismissAnyExistingMenu called
[23:00:55] [MENU] ℹ️ No menu with tag 9999 found
[23:00:55] [MENU] ✅ dismissAnyExistingMenu completed
[23:00:55] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:00:55] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:55] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:55] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:00:55] [SEARCH] contentOffset.y=1915.6666666666667, topInset=40.0, pullDistance=-1955.6666666666667
[23:00:55] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:00:55] [SEARCH] topRefresh.isRefreshing=false
[23:00:55] [SEARCH] ❌ Pull distance -1955.6666666666667 < threshold 80.0
[23:00:55] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:55] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:55] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:55] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:55] [MENU] 🔍 dismissAnyExistingMenu called
[23:00:55] [MENU] ℹ️ No menu with tag 9999 found
[23:00:55] [MENU] ✅ dismissAnyExistingMenu completed
[23:00:55] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:00:55] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:55] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:56] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:56] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:56] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:56] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:56] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:00:56] [SEARCH] contentOffset.y=2344.0, topInset=40.0, pullDistance=-2384.0
[23:00:56] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:00:56] [SEARCH] topRefresh.isRefreshing=false
[23:00:56] [SEARCH] ❌ Pull distance -2384.0 < threshold 80.0
[23:00:56] [SERVER] Polling - attempting to reconnect...
[23:00:56] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:56] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:56] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:56] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:56] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:56] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:56] [CHUNKED_PROGRESS] 4204ae439e7ffebc.mov: chunk 2/13 - 75% (75.4/100.0 MB)
[23:00:56] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:56] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:56] [CHUNKED_PROGRESS] 4204ae439e7ffebc.mov: chunk 2/13 - 75% (75.9/100.0 MB)
[23:00:56] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:56] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:56] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:56] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:56] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:56] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:57] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:57] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:57] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:57] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:57] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:57] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:58] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:58] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:58] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:58] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:59] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:59] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:59] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:59] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:59] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:59] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:59] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:59] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:59] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:59] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:59] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:59] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:00:59] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:00:59] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:00] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:00] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:00] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:00] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:00] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:00] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:00] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:00] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:00] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:00] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:00] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:00] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:00] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:00] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:00] [SERVER] Polling - attempting to reconnect...
[23:01:00] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:00] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:00] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:00] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:01] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:01] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:01] [MENU] 🔍 dismissAnyExistingMenu called
[23:01:01] [MENU] ℹ️ No menu with tag 9999 found
[23:01:01] [MENU] ✅ dismissAnyExistingMenu completed
[23:01:01] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:01:01] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:01:01] [SEARCH] contentOffset.y=2442.3333333333335, topInset=40.0, pullDistance=-2482.3333333333335
[23:01:01] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:01:01] [SEARCH] topRefresh.isRefreshing=false
[23:01:01] [SEARCH] ❌ Pull distance -2482.3333333333335 < threshold 80.0
[23:01:01] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:01] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:01] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:01] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:01] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:01] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:01] [MENU] 🔍 dismissAnyExistingMenu called
[23:01:01] [MENU] ℹ️ No menu with tag 9999 found
[23:01:01] [MENU] ✅ dismissAnyExistingMenu completed
[23:01:01] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:01:01] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:01:01] [SEARCH] contentOffset.y=2679.6666666666665, topInset=40.0, pullDistance=-2719.6666666666665
[23:01:01] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:01:01] [SEARCH] topRefresh.isRefreshing=false
[23:01:01] [SEARCH] ❌ Pull distance -2719.6666666666665 < threshold 80.0
[23:01:01] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:01] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:01] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:01] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:01] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:01] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:01] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:01] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:01] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:01] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:02] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:02] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:02] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:02] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:02] [MENU] 🔍 dismissAnyExistingMenu called
[23:01:02] [MENU] ℹ️ No menu with tag 9999 found
[23:01:02] [MENU] ✅ dismissAnyExistingMenu completed
[23:01:02] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:01:02] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:01:02] [SEARCH] contentOffset.y=2739.6666666666665, topInset=40.0, pullDistance=-2779.6666666666665
[23:01:02] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:01:02] [SEARCH] topRefresh.isRefreshing=false
[23:01:02] [SEARCH] ❌ Pull distance -2779.6666666666665 < threshold 80.0
[23:01:02] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:02] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:02] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:02] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:02] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:02] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:02] [MENU] 🔍 dismissAnyExistingMenu called
[23:01:02] [MENU] ℹ️ No menu with tag 9999 found
[23:01:02] [MENU] ✅ dismissAnyExistingMenu completed
[23:01:02] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:01:02] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:01:02] [SEARCH] contentOffset.y=2956.3333333333335, topInset=40.0, pullDistance=-2996.3333333333335
[23:01:02] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:01:02] [SEARCH] topRefresh.isRefreshing=false
[23:01:02] [SEARCH] ❌ Pull distance -2996.3333333333335 < threshold 80.0
[23:01:02] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:02] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:02] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:02] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:02] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:02] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:03] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:03] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:03] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:03] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:03] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:03] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:03] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:03] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:03] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:03] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:03] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:03] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:03] [CHUNKED_PROGRESS] 4204ae439e7ffebc.mov: chunk 2/13 - 100% (100.0/100.0 MB)
[23:01:03] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:03] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:04] [UPLOAD_RESPONSE] Started receiving response for task 3
[23:01:04] [UPLOAD_METRICS] Task 3 metrics:
[23:01:04] [UPLOAD_METRICS] Total time: 57.45s
[23:01:04] [UPLOAD_METRICS] Upload time: 41.53s
[23:01:04] [UPLOAD_METRICS] Response time: 0.00s
[23:01:04] [UPLOAD_METRICS] Network protocol: http/1.1
[23:01:04] [UPLOAD_METRICS] Proxy: no
[23:01:04] [UPLOAD_METRICS] Reused connection: no
[23:01:04] [UPLOAD_COMPLETE] ========== Task Completed ==========
[23:01:04] [UPLOAD_COMPLETE] Task ID: 3
[23:01:04] [UPLOAD_COMPLETE] Task state: 3 (0=running, 1=suspended, 2=canceling, 3=completed)
[23:01:04] [CHUNKED_COMPLETE] ========== Chunk Task Completed ==========
[23:01:04] [CHUNKED_COMPLETE] Task ID: 3
[23:01:04] [CHUNKED_COMPLETE] Chunk: 2/13
[23:01:04] [CHUNKED_COMPLETE] Filename: 4204ae439e7ffebc.mov
[23:01:04] [CHUNKED_COMPLETE] HTTP Status: 200
[23:01:04] [CHUNKED_COMPLETE] Response: {"ok":true,"chunkIndex":1,"receivedChunks":2,"totalChunks":13,"progress":15.38,"message":"Chunk received"}
[23:01:04] [CHUNKED_COMPLETE] ✅ Chunk 2/13 complete (15.4%)
[23:01:04] [CHUNKED_UPLOAD] ▶️ uploadChunk called: chunk 2/13
[23:01:04] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:04] [CHUNKED_UPLOAD] Uploading chunk 3/13
[23:01:04] [CHUNKED_UPLOAD] Offset: 209715200 bytes
[23:01:04] [CHUNKED_UPLOAD] Size: 104857600 bytes (100.0 MB)
[23:01:04] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:04] [CHUNKED_RESUME] Saved progress: chunk 2 completed
[23:01:04] [CHUNKED_UPLOAD] 📤 Sending chunk 2 via background session...
[23:01:04] [CHUNKED_UPLOAD] URL: https://crivello.dyndns.org:443/WebRTC/chat/upload_chunked.php
[23:01:04] [CHUNKED_UPLOAD] Body size: 104858370 bytes (100.0 MB)
[23:01:04] [CHUNKED_UPLOAD] Task 4 created for chunk 2
[23:01:04] [MENU] 🔍 dismissAnyExistingMenu called
[23:01:04] [MENU] ℹ️ No menu with tag 9999 found
[23:01:04] [MENU] ✅ dismissAnyExistingMenu completed
[23:01:04] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:01:04] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:01:04] [SEARCH] contentOffset.y=2924.6666666666665, topInset=40.0, pullDistance=-2964.6666666666665
[23:01:04] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:01:04] [SEARCH] topRefresh.isRefreshing=false
[23:01:04] [SEARCH] ❌ Pull distance -2964.6666666666665 < threshold 80.0
[23:01:05] [MENU] 🔍 dismissAnyExistingMenu called
[23:01:05] [MENU] ℹ️ No menu with tag 9999 found
[23:01:05] [MENU] ✅ dismissAnyExistingMenu completed
[23:01:05] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:01:05] [CHUNKED_PROGRESS] 4204ae439e7ffebc.mov: chunk 3/13 - 0% (1.0/100.0 MB)
[23:01:05] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:05] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:05] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:01:05] [SEARCH] contentOffset.y=2820.6666666666665, topInset=40.0, pullDistance=-2860.6666666666665
[23:01:05] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:01:05] [SEARCH] topRefresh.isRefreshing=false
[23:01:05] [SEARCH] ❌ Pull distance -2860.6666666666665 < threshold 80.0
[23:01:05] [SERVER] Polling - attempting to reconnect...
[23:01:05] [MENU] 🔍 dismissAnyExistingMenu called
[23:01:05] [MENU] ℹ️ No menu with tag 9999 found
[23:01:05] [MENU] ✅ dismissAnyExistingMenu completed
[23:01:05] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:01:05] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:01:05] [SEARCH] contentOffset.y=2813.3333333333335, topInset=40.0, pullDistance=-2853.3333333333335
[23:01:05] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:01:05] [SEARCH] topRefresh.isRefreshing=false
[23:01:05] [SEARCH] ❌ Pull distance -2853.3333333333335 < threshold 80.0
[23:01:05] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=71742c3d78ed2063.jpg, overlayExists=true
[23:01:05] [CELL_UPLOAD] configure: msgId=4301, file=71742c3d78ed2063.jpg, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=0
[23:01:05] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[23:01:05] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=71742c3d78ed2063.jpg, overlayExists=true
[23:01:05] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:05] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:06] [MENU] 🔍 dismissAnyExistingMenu called
[23:01:06] [MENU] ℹ️ No menu with tag 9999 found
[23:01:06] [MENU] ✅ dismissAnyExistingMenu completed
[23:01:06] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:01:06] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:01:06] [SEARCH] contentOffset.y=2609.3333333333335, topInset=40.0, pullDistance=-2649.3333333333335
[23:01:06] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:01:06] [SEARCH] topRefresh.isRefreshing=false
[23:01:06] [SEARCH] ❌ Pull distance -2649.3333333333335 < threshold 80.0
[23:01:06] [MENU] 🔍 dismissAnyExistingMenu called
[23:01:06] [MENU] ℹ️ No menu with tag 9999 found
[23:01:06] [MENU] ✅ dismissAnyExistingMenu completed
[23:01:06] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:01:06] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:06] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:06] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:01:06] [SEARCH] contentOffset.y=2478.0, topInset=40.0, pullDistance=-2518.0
[23:01:06] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:01:06] [SEARCH] topRefresh.isRefreshing=false
[23:01:06] [SEARCH] ❌ Pull distance -2518.0 < threshold 80.0
[23:01:07] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:07] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:07] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:07] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:08] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:08] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:08] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:08] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:08] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:08] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:08] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:08] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:09] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:09] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:09] [MENU] 🔍 dismissAnyExistingMenu called
[23:01:09] [MENU] ℹ️ No menu with tag 9999 found
[23:01:09] [MENU] ✅ dismissAnyExistingMenu completed
[23:01:09] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:01:09] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:09] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:09] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:01:09] [SEARCH] contentOffset.y=2389.6666666666665, topInset=40.0, pullDistance=-2429.6666666666665
[23:01:09] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:01:09] [SEARCH] topRefresh.isRefreshing=false
[23:01:09] [SEARCH] ❌ Pull distance -2429.6666666666665 < threshold 80.0
[23:01:09] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:09] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:09] [MENU] 🔍 dismissAnyExistingMenu called
[23:01:09] [MENU] ℹ️ No menu with tag 9999 found
[23:01:09] [MENU] ✅ dismissAnyExistingMenu completed
[23:01:09] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:01:09] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:09] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:09] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:01:09] [SEARCH] contentOffset.y=2315.3333333333335, topInset=40.0, pullDistance=-2355.3333333333335
[23:01:09] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:01:09] [SEARCH] topRefresh.isRefreshing=false
[23:01:09] [SEARCH] ❌ Pull distance -2355.3333333333335 < threshold 80.0
[23:01:09] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:09] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:10] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:10] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:10] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:10] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:10] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:10] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:10] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:10] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:10] [MENU] 🔍 dismissAnyExistingMenu called
[23:01:10] [MENU] ℹ️ No menu with tag 9999 found
[23:01:10] [MENU] ✅ dismissAnyExistingMenu completed
[23:01:10] [MENU] 🔨 Created button 'Reply' at index 0, frame: (0.0, 0.0, 120.0, 44.0), userInteraction: true
[23:01:10] [MENU] 🔨 Created button 'Copy' at index 1, frame: (0.0, 44.0, 120.0, 44.0), userInteraction: true
[23:01:10] [MENU] 🔨 Created button 'Delete' at index 2, frame: (0.0, 88.0, 120.0, 44.0), userInteraction: true
[23:01:10] [MENU] 📍 Menu added to view - frame: (172.0, 620.8666666666666, 96.0, 105.60000000000002), userInteraction: true
[23:01:10] [MENU] 📍 Menu has 5 subviews (buttons + separators)
[23:01:10] [SERVER] Polling - attempting to reconnect...
[23:01:10] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:10] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:11] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:11] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:11] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:11] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:12] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:12] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:12] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:12] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:12] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:12] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:12] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:12] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:12] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:12] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:12] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:13] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:13] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:13] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:13] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:13] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:13] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:13] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:13] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:13] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:14] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:14] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:14] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:14] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:14] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:14] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:14] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:14] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:14] [REACTION] add 🤭 to message 4299 (alreadyReacted: false)
[23:01:14] [MENU] 🔍 dismissAnyExistingMenu called
[23:01:14] [MENU] 🗑️ Found menu with tag 9999, removing
[23:01:14] [MENU] 🗑️ Removing blur effect
[23:01:14] [MENU] 🗑️ Dismissing emoji picker
[23:01:14] [MENU] 🕐 Recorded dismissal time for debounce
[23:01:14] [MENU] ✅ dismissAnyExistingMenu completed
[23:01:14] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:14] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:14] [REACTION] ✅ Added 🤭 reaction to message 4299
[23:01:15] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:15] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:15] [SERVER] Polling - attempting to reconnect...
[23:01:15] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:15] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:16] [MENU] 🔍 dismissAnyExistingMenu called
[23:01:16] [MENU] ℹ️ No menu with tag 9999 found
[23:01:16] [MENU] ✅ dismissAnyExistingMenu completed
[23:01:16] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:01:16] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:16] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:16] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:01:16] [SEARCH] contentOffset.y=2339.0, topInset=40.0, pullDistance=-2379.0
[23:01:16] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:01:16] [SEARCH] topRefresh.isRefreshing=false
[23:01:16] [SEARCH] ❌ Pull distance -2379.0 < threshold 80.0
[23:01:17] [MENU] 🔍 dismissAnyExistingMenu called
[23:01:17] [MENU] ℹ️ No menu with tag 9999 found
[23:01:17] [MENU] ✅ dismissAnyExistingMenu completed
[23:01:17] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:01:17] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:01:17] [SEARCH] contentOffset.y=2491.3333333333335, topInset=40.0, pullDistance=-2531.3333333333335
[23:01:17] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:01:17] [SEARCH] topRefresh.isRefreshing=false
[23:01:17] [SEARCH] ❌ Pull distance -2531.3333333333335 < threshold 80.0
[23:01:17] [MENU] 🔍 dismissAnyExistingMenu called
[23:01:17] [MENU] ℹ️ No menu with tag 9999 found
[23:01:17] [MENU] ✅ dismissAnyExistingMenu completed
[23:01:17] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:01:17] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:01:17] [SEARCH] contentOffset.y=2749.0, topInset=40.0, pullDistance=-2789.0
[23:01:17] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:01:17] [SEARCH] topRefresh.isRefreshing=false
[23:01:17] [SEARCH] ❌ Pull distance -2789.0 < threshold 80.0
[23:01:17] [COMBINED_FETCH] Loaded 3218 read receipts, 383 messages with reactions
[23:01:18] DOWNLOADIIING 1b1a78050ebe099b.jpg
[23:01:18] DOWNLOADIIING bae538c2a3076c11.heic
[23:01:18] DOWNLOADIIING ee42d57ffd8ab767.jpg
[23:01:18] DOWNLOADIIING 5cfd84d52271d308.heic
[23:01:18] DOWNLOADIIING 0f2dda66cccdeadf.heic
[23:01:18] DOWNLOADIIING 2a4c7380908d6595.jpg
[23:01:18] [MENU] 🔍 dismissAnyExistingMenu called
[23:01:18] [MENU] ℹ️ No menu with tag 9999 found
[23:01:18] [MENU] ✅ dismissAnyExistingMenu completed
[23:01:18] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:01:18] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:01:18] [SEARCH] contentOffset.y=2809.6666666666665, topInset=40.0, pullDistance=-2849.6666666666665
[23:01:18] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:01:18] [SEARCH] topRefresh.isRefreshing=false
[23:01:18] [SEARCH] ❌ Pull distance -2849.6666666666665 < threshold 80.0
[23:01:18] [MENU] 🔍 dismissAnyExistingMenu called
[23:01:18] [MENU] ℹ️ No menu with tag 9999 found
[23:01:18] [MENU] ✅ dismissAnyExistingMenu completed
[23:01:18] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:01:18] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:01:18] [SEARCH] contentOffset.y=2958.0, topInset=40.0, pullDistance=-2998.0
[23:01:18] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:01:18] [SEARCH] topRefresh.isRefreshing=false
[23:01:18] [SEARCH] ❌ Pull distance -2998.0 < threshold 80.0
[23:01:19] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:19] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:20] [SERVER] Polling - attempting to reconnect...
[23:01:21] [MENU] 🔍 dismissAnyExistingMenu called
[23:01:21] [MENU] ℹ️ No menu with tag 9999 found
[23:01:21] [MENU] ✅ dismissAnyExistingMenu completed
[23:01:21] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:01:21] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:01:21] [SEARCH] contentOffset.y=2906.3333333333335, topInset=40.0, pullDistance=-2946.3333333333335
[23:01:21] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:01:21] [SEARCH] topRefresh.isRefreshing=false
[23:01:21] [SEARCH] ❌ Pull distance -2946.3333333333335 < threshold 80.0
[23:01:21] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:21] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:21] [MENU] 🔍 dismissAnyExistingMenu called
[23:01:21] [MENU] ℹ️ No menu with tag 9999 found
[23:01:21] [MENU] ✅ dismissAnyExistingMenu completed
[23:01:21] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:01:21] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:01:21] [SEARCH] contentOffset.y=2853.0, topInset=40.0, pullDistance=-2893.0
[23:01:21] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:01:21] [SEARCH] topRefresh.isRefreshing=false
[23:01:21] [SEARCH] ❌ Pull distance -2893.0 < threshold 80.0
[23:01:21] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:21] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:22] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:22] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:22] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:22] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:23] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:23] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:23] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:23] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:23] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:23] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:23] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:23] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:24] [CHUNKED_PROGRESS] 4204ae439e7ffebc.mov: chunk 3/13 - 25% (25.5/100.0 MB)
[23:01:24] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:24] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:24] [CHUNKED_PROGRESS] 4204ae439e7ffebc.mov: chunk 3/13 - 25% (26.0/100.0 MB)
[23:01:24] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:24] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:24] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:24] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:24] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:24] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:24] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:24] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:24] [MENU] 🔍 dismissAnyExistingMenu called
[23:01:24] [MENU] ℹ️ No menu with tag 9999 found
[23:01:24] [MENU] ✅ dismissAnyExistingMenu completed
[23:01:24] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:01:24] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:24] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:25] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:01:25] [SEARCH] contentOffset.y=2767.3333333333335, topInset=40.0, pullDistance=-2807.3333333333335
[23:01:25] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:01:25] [SEARCH] topRefresh.isRefreshing=false
[23:01:25] [SEARCH] ❌ Pull distance -2807.3333333333335 < threshold 80.0
[23:01:25] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:25] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:25] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:25] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:25] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:25] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:25] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:25] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:25] [SERVER] Polling - attempting to reconnect...
[23:01:25] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:25] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:25] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:25] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:26] [MENU] 🔍 dismissAnyExistingMenu called
[23:01:26] [MENU] ℹ️ No menu with tag 9999 found
[23:01:26] [MENU] ✅ dismissAnyExistingMenu completed
[23:01:26] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:01:26] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:01:26] [SEARCH] contentOffset.y=2834.6666666666665, topInset=40.0, pullDistance=-2874.6666666666665
[23:01:26] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:01:26] [SEARCH] topRefresh.isRefreshing=false
[23:01:26] [SEARCH] ❌ Pull distance -2874.6666666666665 < threshold 80.0
[23:01:26] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:26] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:26] [MENU] 🔍 dismissAnyExistingMenu called
[23:01:26] [MENU] ℹ️ No menu with tag 9999 found
[23:01:26] [MENU] ✅ dismissAnyExistingMenu completed
[23:01:26] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:01:26] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:01:26] [SEARCH] contentOffset.y=2998.3333333333335, topInset=40.0, pullDistance=-3038.3333333333335
[23:01:26] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:01:26] [SEARCH] topRefresh.isRefreshing=false
[23:01:26] [SEARCH] ❌ Pull distance -3038.3333333333335 < threshold 80.0
[23:01:26] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:26] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:26] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:26] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:26] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:26] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:26] [MENU] 🔍 dismissAnyExistingMenu called
[23:01:26] [MENU] ℹ️ No menu with tag 9999 found
[23:01:26] [MENU] ✅ dismissAnyExistingMenu completed
[23:01:26] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:01:26] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:26] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:26] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:01:26] [SEARCH] contentOffset.y=3042.3333333333335, topInset=40.0, pullDistance=-3082.3333333333335
[23:01:26] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:01:26] [SEARCH] topRefresh.isRefreshing=false
[23:01:26] [SEARCH] ❌ Pull distance -3082.3333333333335 < threshold 80.0
[23:01:26] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:26] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:27] [MENU] 🔍 dismissAnyExistingMenu called
[23:01:27] [MENU] ℹ️ No menu with tag 9999 found
[23:01:27] [MENU] ✅ dismissAnyExistingMenu completed
[23:01:27] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:01:27] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:27] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:27] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:01:27] [SEARCH] contentOffset.y=3146.6666666666665, topInset=40.0, pullDistance=-3186.6666666666665
[23:01:27] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:01:27] [SEARCH] topRefresh.isRefreshing=false
[23:01:27] [SEARCH] ❌ Pull distance -3186.6666666666665 < threshold 80.0
[23:01:27] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:27] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:27] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:27] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:27] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:27] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:27] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:27] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:27] [MENU] 🔍 dismissAnyExistingMenu called
[23:01:27] [MENU] ℹ️ No menu with tag 9999 found
[23:01:27] [MENU] ✅ dismissAnyExistingMenu completed
[23:01:27] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:01:28] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:01:28] [SEARCH] contentOffset.y=3172.3333333333335, topInset=40.0, pullDistance=-3212.3333333333335
[23:01:28] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:01:28] [SEARCH] topRefresh.isRefreshing=false
[23:01:28] [SEARCH] ❌ Pull distance -3212.3333333333335 < threshold 80.0
[23:01:28] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:28] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:28] [MENU] 🔍 dismissAnyExistingMenu called
[23:01:28] [MENU] ℹ️ No menu with tag 9999 found
[23:01:28] [MENU] ✅ dismissAnyExistingMenu completed
[23:01:28] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:01:28] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:01:28] [SEARCH] contentOffset.y=3239.3333333333335, topInset=40.0, pullDistance=-3279.3333333333335
[23:01:28] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:01:28] [SEARCH] topRefresh.isRefreshing=false
[23:01:28] [SEARCH] ❌ Pull distance -3279.3333333333335 < threshold 80.0
[23:01:28] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:28] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:28] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:28] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:29] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:29] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:29] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:29] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:29] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:29] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:29] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:29] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:30] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:30] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:30] [SERVER] Polling - attempting to reconnect...
[23:01:30] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:30] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:31] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:31] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:31] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:31] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:31] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:31] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:31] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:31] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:31] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:31] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:32] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:32] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:32] [MENU] 🔍 dismissAnyExistingMenu called
[23:01:32] [MENU] ℹ️ No menu with tag 9999 found
[23:01:32] [MENU] ✅ dismissAnyExistingMenu completed
[23:01:32] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:01:32] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:32] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:32] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:01:32] [SEARCH] contentOffset.y=3160.3333333333335, topInset=40.0, pullDistance=-3200.3333333333335
[23:01:32] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:01:32] [SEARCH] topRefresh.isRefreshing=false
[23:01:32] [SEARCH] ❌ Pull distance -3200.3333333333335 < threshold 80.0
[23:01:32] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:32] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:33] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:33] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:33] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:33] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:34] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:34] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:34] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:34] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:34] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:34] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:34] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:34] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:35] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:35] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:35] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:35] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:35] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:35] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:35] [SERVER] Polling - attempting to reconnect...
[23:01:35] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:35] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:36] [CHUNKED_PROGRESS] 4204ae439e7ffebc.mov: chunk 3/13 - 50% (50.5/100.0 MB)
[23:01:36] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:36] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:36] [CHUNKED_PROGRESS] 4204ae439e7ffebc.mov: chunk 3/13 - 50% (51.0/100.0 MB)
[23:01:36] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:36] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:36] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:36] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:37] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:37] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:37] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:37] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:37] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:37] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:37] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:37] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:37] [MENU] 🔍 dismissAnyExistingMenu called
[23:01:37] [MENU] ℹ️ No menu with tag 9999 found
[23:01:37] [MENU] ✅ dismissAnyExistingMenu completed
[23:01:37] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:01:37] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:37] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:37] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:01:37] [SEARCH] contentOffset.y=3111.0, topInset=40.0, pullDistance=-3151.0
[23:01:37] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:01:37] [SEARCH] topRefresh.isRefreshing=false
[23:01:37] [SEARCH] ❌ Pull distance -3151.0 < threshold 80.0
[23:01:38] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:38] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:38] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:38] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:38] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:38] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:39] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:39] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:40] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:40] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:40] [SERVER] Polling - attempting to reconnect...
[23:01:41] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:41] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:41] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:41] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:41] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:41] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:41] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:41] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:41] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:41] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:42] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:42] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:42] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:42] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:42] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:42] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:42] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:42] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:42] [MENU] 🔍 dismissAnyExistingMenu called
[23:01:42] [MENU] ℹ️ No menu with tag 9999 found
[23:01:42] [MENU] ✅ dismissAnyExistingMenu completed
[23:01:42] [MENU] 🔨 Created button 'Reply' at index 0, frame: (0.0, 0.0, 120.0, 44.0), userInteraction: true
[23:01:42] [MENU] 🔨 Created button 'Copy' at index 1, frame: (0.0, 44.0, 120.0, 44.0), userInteraction: true
[23:01:42] [MENU] 🔨 Created button 'Delete' at index 2, frame: (0.0, 88.0, 120.0, 44.0), userInteraction: true
[23:01:42] [MENU] 📍 Menu added to view - frame: (172.0, 629.2, 96.0, 105.60000000000002), userInteraction: true
[23:01:42] [MENU] 📍 Menu has 5 subviews (buttons + separators)
[23:01:42] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:42] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:43] [MENU] 👇 menuButtonTouchDown - button title: Copy, tag: 1
[23:01:43] [MENU] 🎯 menuButtonTapped - button title: Copy, tag: 1
[23:01:43] [MENU] 🎯 Button frame: (0.0, 44.0, 120.0, 44.0), superview: true
[23:01:43] [MENU] 🔍 Found action closure, dismissing menu first
[23:01:43] [MENU] 🔍 dismissAnyExistingMenu called
[23:01:43] [MENU] 🗑️ Found menu with tag 9999, removing
[23:01:43] [MENU] 🗑️ Removing blur effect
[23:01:43] [MENU] 🗑️ Dismissing emoji picker
[23:01:43] [MENU] 🕐 Recorded dismissal time for debounce
[23:01:43] [MENU] ✅ dismissAnyExistingMenu completed
[23:01:43] [MENU] 🔍 Menu dismissed, executing action
[23:01:43] [MENU] ✅ Action executed
[23:01:43] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:43] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:43] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:43] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:44] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:44] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:44] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:44] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:44] [MENU] 🔍 dismissAnyExistingMenu called
[23:01:44] [MENU] ℹ️ No menu with tag 9999 found
[23:01:44] [MENU] ✅ dismissAnyExistingMenu completed
[23:01:44] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:01:44] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:01:44] [SEARCH] contentOffset.y=3035.6666666666665, topInset=40.0, pullDistance=-3075.6666666666665
[23:01:44] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:01:44] [SEARCH] topRefresh.isRefreshing=false
[23:01:44] [SEARCH] ❌ Pull distance -3075.6666666666665 < threshold 80.0
[23:01:44] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:44] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:44] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=71742c3d78ed2063.jpg, overlayExists=true
[23:01:44] [CELL_UPLOAD] configure: msgId=4301, file=71742c3d78ed2063.jpg, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=0
[23:01:44] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[23:01:44] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=71742c3d78ed2063.jpg, overlayExists=true
[23:01:44] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:44] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:44] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:44] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:44] [MENU] 🔍 dismissAnyExistingMenu called
[23:01:44] [MENU] ℹ️ No menu with tag 9999 found
[23:01:44] [MENU] ✅ dismissAnyExistingMenu completed
[23:01:44] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:01:44] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:01:44] [SEARCH] contentOffset.y=2437.6666666666665, topInset=40.0, pullDistance=-2477.6666666666665
[23:01:44] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:01:44] [SEARCH] topRefresh.isRefreshing=false
[23:01:44] [SEARCH] ❌ Pull distance -2477.6666666666665 < threshold 80.0
[23:01:45] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:45] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:45] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:45] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:45] [MENU] 🔍 dismissAnyExistingMenu called
[23:01:45] [MENU] ℹ️ No menu with tag 9999 found
[23:01:45] [MENU] ✅ dismissAnyExistingMenu completed
[23:01:45] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:01:45] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=7f5c64456effb085.png, overlayExists=true
[23:01:45] [CELL_UPLOAD] configure: msgId=4309, file=7f5c64456effb085.png, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=0
[23:01:45] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[23:01:45] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=7f5c64456effb085.png, overlayExists=true
[23:01:45] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:01:45] [SEARCH] contentOffset.y=1764.6666666666667, topInset=40.0, pullDistance=-1804.6666666666667
[23:01:45] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:01:45] [SEARCH] topRefresh.isRefreshing=false
[23:01:45] [SEARCH] ❌ Pull distance -1804.6666666666667 < threshold 80.0
[23:01:45] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:45] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:45] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:45] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:45] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:45] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:46] [MENU] 🔍 dismissAnyExistingMenu called
[23:01:46] [MENU] ℹ️ No menu with tag 9999 found
[23:01:46] [MENU] ✅ dismissAnyExistingMenu completed
[23:01:46] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:01:46] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:01:46] [SEARCH] contentOffset.y=1018.3333333333334, topInset=40.0, pullDistance=-1058.3333333333335
[23:01:46] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:01:46] [SEARCH] topRefresh.isRefreshing=false
[23:01:46] [SEARCH] ❌ Pull distance -1058.3333333333335 < threshold 80.0
[23:01:46] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:46] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:46] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:46] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:46] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=7f5c64456effb085.png, overlayExists=true
[23:01:46] [CELL_UPLOAD] configure: msgId=4328, file=4204ae439e7ffebc.mov, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=0
[23:01:46] [CELL_UPLOAD] → has active progress=0.20653807460628892, setting uploading
[23:01:46] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.20653807460628892) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:01:46] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:01:46] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:46] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:46] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.20692268716658185) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:01:46] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:01:46] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:46] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:46] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.20730729972687484) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:01:46] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:01:46] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:46] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:46] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.20769191228716777) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:01:46] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:01:47] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:47] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:47] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.20807652484746073) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:01:47] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:01:47] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:01:47] [CELL_UPLOAD] configure: msgId=4328, file=4204ae439e7ffebc.mov, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=2
[23:01:47] [CELL_UPLOAD] → has active progress=0.20807652484746073, setting uploading
[23:01:47] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.20807652484746073) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:01:47] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:01:47] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:01:47] [CELL_UPLOAD] configure: msgId=4328, file=4204ae439e7ffebc.mov, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=2
[23:01:47] [CELL_UPLOAD] → has active progress=0.20807652484746073, setting uploading
[23:01:47] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.20807652484746073) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:01:47] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:01:47] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:47] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:47] [MENU] 🔍 dismissAnyExistingMenu called
[23:01:47] [MENU] ℹ️ No menu with tag 9999 found
[23:01:47] [MENU] ✅ dismissAnyExistingMenu completed
[23:01:47] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:01:47] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.20846113740775368) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:01:47] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:01:47] [SEARCH] handleTopRefresh called - tab=0, isSearchBarVisible=false
[23:01:47] [SEARCH] 🔍 First pull on Tab 0 - showing search bar instead of refresh
[23:01:47] [SEARCH] showSearchBar() called - animated=true, isSearchBarVisible=false
[23:01:47] [SEARCH] ✅ Setting isSearchBarVisible = true
[23:01:47] [SEARCH] chatSearchBar is nil? false
[23:01:47] [SEARCH] Applied theme: day
[23:01:47] [SEARCH] Adjusting table contentInset.top by +56.0
[23:01:47] [SEARCH] Table contentInset.top: 40.0 -> 96.0
[23:01:47] [SEARCH] handleTopRefresh called - tab=0, isSearchBarVisible=true
[23:01:47] [CHAT] top pull-to-refresh triggered on tab 0
[23:01:47] [CHANNEL_SWITCH] 📡 Fetching URL: https://crivello.dyndns.org:443/WebRTC/chat/chat_get_messages.php?viewer=1&session_id=ILUIWU&mark_read=0&viewer_id=EDAD55A1-003F-415D-AA60-672B34B504FE
[23:01:47] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:01:47] [SEARCH] contentOffset.y=-125.0, topInset=156.0, pullDistance=-31.0
[23:01:47] [SEARCH] threshold=80.0, isSearchBarVisible=true
[23:01:47] [SEARCH] topRefresh.isRefreshing=true
[23:01:47] [SEARCH] ❌ Pull distance -31.0 < threshold 80.0
[23:01:47] [SEARCH] Focusing search field
[23:01:47] [SERVER] Polling - attempting to reconnect...
[23:01:48] [PENDING_UPLOAD] Found pending message: id=4328, file=4204ae439e7ffebc.mov, uploadStatus=2
[23:01:48] [PENDING_UPLOAD] Found pending message: id=-9, file=c8f0aac386a60643.jpg, uploadStatus=2
[23:01:48] [PENDING_UPLOAD] Total pending upload messages: 2
[23:01:48] [PENDING_UPLOAD] Preserved 2 pending messages before server refresh
[23:01:48] [PENDING_UPLOAD] Reinserting 2 pending messages
[23:01:48] [PENDING_UPLOAD] ✅ Reinserted message 4328
[23:01:48] [PENDING_UPLOAD] ✅ Reinserted message -9
[23:01:48] DOWNLOADIIING t_66e5f4c7c82fef18.jpg
[23:01:48] DOWNLOADIIING t_97828ef5de49a612.jpg
[23:01:48] [CHANNEL_SWITCH] 📊 About to set loaded messages. Count=3218
[23:01:48] [CHANNEL_SWITCH] 📊 Setting allMessagesWithReadBy = 3218 msgs
[23:01:48] [READBY_LOADED] msg 4328: readBy.count=0, readBy=[], isMyMsg=true
[23:01:48] [READBY_LOADED] msg 4327: readBy.count=0, readBy=[], isMyMsg=true
[23:01:48] [READBY_LOADED] msg 4319: readBy.count=0, readBy=[], isMyMsg=true
[23:01:48] [READBY_LOADED] msg 4318: readBy.count=0, readBy=[], isMyMsg=true
[23:01:48] [READBY_LOADED] msg 4317: readBy.count=1, readBy=["EDAD55A1-003F-415D-AA60-672B34B504FE"], isMyMsg=false
[23:01:48] [PENDING_UPLOAD] ⏭️ Skipped pending message id=4328 - already exists in server data
[23:01:48] [PENDING_UPLOAD] ⏭️ Skipped pending message id=-9 - already exists in server data
[23:01:48] [PENDING_UPLOAD] Final merged count: 3218 (server: 3218, kept pending: 0)
[23:01:48] [CHANNEL_SWITCH] 📊 chatRows.count = 3266
[23:01:48] ReloadData 15 (3218 messages loaded, 17 pending media)
[23:01:49] DOWNLOADIIING 1b1a78050ebe099b.jpg
[23:01:49] DOWNLOADIIING bae538c2a3076c11.heic
[23:01:49] DOWNLOADIIING ee42d57ffd8ab767.jpg
[23:01:49] DOWNLOADIIING 5cfd84d52271d308.heic
[23:01:49] DOWNLOADIIING 0f2dda66cccdeadf.heic
[23:01:49] DOWNLOADIIING 2a4c7380908d6595.jpg
[23:01:49] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:01:49] [CELL_UPLOAD] configure: msgId=4328, file=4204ae439e7ffebc.mov, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=0
[23:01:49] [CELL_UPLOAD] → has active progress=0.20846113740775368, setting uploading
[23:01:49] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.20846113740775368) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:01:49] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:01:49] [PULL_REFRESH] Loaded 3218 messages (first page), displaying 3218 for tab 0, hasMore: true
[23:01:49] ReloadData 15 (pull-to-refresh completed)
[23:01:49] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:49] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:49] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.20884574996804664) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:01:49] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:01:49] ReloadData 14 (all 17 media thumbnails loaded) - applying tab 0 filtering
[23:01:49] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:01:49] [CELL_UPLOAD] configure: msgId=4328, file=4204ae439e7ffebc.mov, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=2
[23:01:49] [CELL_UPLOAD] → has active progress=0.20884574996804664, setting uploading
[23:01:49] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.20884574996804664) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:01:49] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:01:49] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:01:49] [CELL_UPLOAD] configure: msgId=4328, file=4204ae439e7ffebc.mov, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=2
[23:01:49] [CELL_UPLOAD] → has active progress=0.20884574996804664, setting uploading
[23:01:49] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.20884574996804664) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:01:49] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:01:50] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:01:50] [CELL_UPLOAD] configure: msgId=4328, file=4204ae439e7ffebc.mov, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=2
[23:01:50] [CELL_UPLOAD] → has active progress=0.20884574996804664, setting uploading
[23:01:50] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.20884574996804664) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:01:50] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:01:50] [MENU] 🔍 dismissAnyExistingMenu called
[23:01:50] [MENU] ℹ️ No menu with tag 9999 found
[23:01:50] [MENU] ✅ dismissAnyExistingMenu completed
[23:01:50] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=true, tab=0
[23:01:50] [SEARCH] 🔽 Hiding search bar (user started scrolling)
[23:01:50] [SEARCH] hideSearchBar() called - animated=true, isSearchBarVisible=true
[23:01:50] [SEARCH] ✅ Setting isSearchBarVisible = false
[23:01:50] [SEARCH] Adjusting table contentInset.top by -56.0
[23:01:50] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:01:50] [SEARCH] contentOffset.y=-26.0, topInset=40.0, pullDistance=-14.0
[23:01:50] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:01:50] [SEARCH] topRefresh.isRefreshing=false
[23:01:50] [SEARCH] ❌ Pull distance -14.0 < threshold 80.0
[23:01:50] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:50] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:50] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.2092303625283396) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:01:50] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:01:50] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:50] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:50] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.20961497508863255) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:01:50] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:01:50] [MENU] 🔍 dismissAnyExistingMenu called
[23:01:50] [MENU] ℹ️ No menu with tag 9999 found
[23:01:50] [MENU] ✅ dismissAnyExistingMenu completed
[23:01:50] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:01:50] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:01:50] [SEARCH] contentOffset.y=182.33333333333334, topInset=40.0, pullDistance=-222.33333333333334
[23:01:50] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:01:50] [SEARCH] topRefresh.isRefreshing=false
[23:01:50] [SEARCH] ❌ Pull distance -222.33333333333334 < threshold 80.0
[23:01:51] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:51] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:51] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.2099995876489255) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:01:51] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:01:51] [SERVER] Polling - attempting to reconnect...
[23:01:51] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:51] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:51] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.21038420020921847) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:01:51] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:01:52] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:52] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:52] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.21076881276951143) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:01:52] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:01:52] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:52] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:52] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.21115342532980438) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:01:52] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:01:52] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:52] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:52] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.21153803789009734) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:01:52] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:01:53] [CHUNKED_PROGRESS] 4204ae439e7ffebc.mov: chunk 3/13 - 75% (75.5/100.0 MB)
[23:01:53] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:53] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:53] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.21192265045039027) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:01:53] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:01:53] [CHUNKED_PROGRESS] 4204ae439e7ffebc.mov: chunk 3/13 - 75% (76.0/100.0 MB)
[23:01:53] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:53] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:53] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.21230726301068328) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:01:53] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:01:54] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:54] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:54] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.21269187557097619) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:01:54] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:01:54] [MENU] 🔍 dismissAnyExistingMenu called
[23:01:54] [MENU] ℹ️ No menu with tag 9999 found
[23:01:54] [MENU] ✅ dismissAnyExistingMenu completed
[23:01:54] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:01:54] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:01:54] [SEARCH] contentOffset.y=36.666666666666664, topInset=40.0, pullDistance=-76.66666666666666
[23:01:54] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:01:54] [SEARCH] topRefresh.isRefreshing=false
[23:01:54] [SEARCH] ❌ Pull distance -76.66666666666666 < threshold 80.0
[23:01:54] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:54] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:54] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.21307648813126917) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:01:54] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:01:54] [SCROLL_BTN] Showing button - scrolled 382pt > half 379pt
[23:01:54] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:01:54] [CELL_UPLOAD] configure: msgId=4309, file=7f5c64456effb085.png, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=0
[23:01:54] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[23:01:54] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=7f5c64456effb085.png, overlayExists=true
[23:01:54] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:54] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:54] [MENU] 🔍 dismissAnyExistingMenu called
[23:01:54] [MENU] ℹ️ No menu with tag 9999 found
[23:01:54] [MENU] ✅ dismissAnyExistingMenu completed
[23:01:54] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:01:54] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:01:54] [SEARCH] contentOffset.y=783.3333333333334, topInset=40.0, pullDistance=-823.3333333333334
[23:01:54] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:01:54] [SEARCH] topRefresh.isRefreshing=false
[23:01:54] [SEARCH] ❌ Pull distance -823.3333333333334 < threshold 80.0
[23:01:54] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:54] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:55] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:55] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:55] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=71742c3d78ed2063.jpg, overlayExists=true
[23:01:55] [CELL_UPLOAD] configure: msgId=4301, file=71742c3d78ed2063.jpg, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=0
[23:01:55] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[23:01:55] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=71742c3d78ed2063.jpg, overlayExists=true
[23:01:55] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:55] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:55] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:55] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:55] [MENU] 🔍 dismissAnyExistingMenu called
[23:01:55] [MENU] ℹ️ No menu with tag 9999 found
[23:01:55] [MENU] ✅ dismissAnyExistingMenu completed
[23:01:55] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:01:55] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:01:55] [SEARCH] contentOffset.y=1626.6666666666667, topInset=40.0, pullDistance=-1666.6666666666667
[23:01:55] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:01:55] [SEARCH] topRefresh.isRefreshing=false
[23:01:55] [SEARCH] ❌ Pull distance -1666.6666666666667 < threshold 80.0
[23:01:56] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:56] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:56] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:56] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:56] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:56] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:57] [COMBINED_FETCH] Loaded 3218 read receipts, 383 messages with reactions
[23:01:57] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=71742c3d78ed2063.jpg, overlayExists=true
[23:01:57] [CELL_UPLOAD] configure: msgId=4301, file=71742c3d78ed2063.jpg, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=0
[23:01:57] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[23:01:57] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=71742c3d78ed2063.jpg, overlayExists=true
[23:01:57] [PAGINATION] Scrolled to message 4301 at new row 20
[23:01:57] [SERVER] Polling - attempting to reconnect...
[23:01:57] [MENU] 🔍 dismissAnyExistingMenu called
[23:01:57] [MENU] ℹ️ No menu with tag 9999 found
[23:01:57] [MENU] ✅ dismissAnyExistingMenu completed
[23:01:57] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:01:57] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:01:57] [SEARCH] contentOffset.y=2272.6666666666665, topInset=40.0, pullDistance=-2312.6666666666665
[23:01:57] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:01:57] [SEARCH] topRefresh.isRefreshing=false
[23:01:57] [SEARCH] ❌ Pull distance -2312.6666666666665 < threshold 80.0
[23:01:58] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:58] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:58] [MENU] 🔍 dismissAnyExistingMenu called
[23:01:58] [MENU] ℹ️ No menu with tag 9999 found
[23:01:58] [MENU] ✅ dismissAnyExistingMenu completed
[23:01:58] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:01:58] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:01:58] [SEARCH] contentOffset.y=2775.6666666666665, topInset=40.0, pullDistance=-2815.6666666666665
[23:01:58] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:01:58] [SEARCH] topRefresh.isRefreshing=false
[23:01:58] [SEARCH] ❌ Pull distance -2815.6666666666665 < threshold 80.0
[23:01:59] [MENU] 🔍 dismissAnyExistingMenu called
[23:01:59] [MENU] ℹ️ No menu with tag 9999 found
[23:01:59] [MENU] ✅ dismissAnyExistingMenu completed
[23:01:59] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:01:59] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:59] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:59] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:01:59] [SEARCH] contentOffset.y=3204.0, topInset=40.0, pullDistance=-3244.0
[23:01:59] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:01:59] [SEARCH] topRefresh.isRefreshing=false
[23:01:59] [SEARCH] ❌ Pull distance -3244.0 < threshold 80.0
[23:01:59] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:59] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:59] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:59] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:01:59] [MENU] 🔍 dismissAnyExistingMenu called
[23:01:59] [MENU] ℹ️ No menu with tag 9999 found
[23:01:59] [MENU] ✅ dismissAnyExistingMenu completed
[23:01:59] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:01:59] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=71742c3d78ed2063.jpg, overlayExists=true
[23:01:59] [CELL_UPLOAD] configure: msgId=4283, file=c8f0aac386a60643.jpg, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=0
[23:01:59] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[23:01:59] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=c8f0aac386a60643.jpg, overlayExists=true
[23:01:59] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:01:59] [SEARCH] contentOffset.y=3317.6666666666665, topInset=40.0, pullDistance=-3357.6666666666665
[23:01:59] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:01:59] [SEARCH] topRefresh.isRefreshing=false
[23:01:59] [SEARCH] ❌ Pull distance -3357.6666666666665 < threshold 80.0
[23:01:59] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:01:59] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:00] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:00] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:00] [MENU] 🔍 dismissAnyExistingMenu called
[23:02:00] [MENU] ℹ️ No menu with tag 9999 found
[23:02:00] [MENU] ✅ dismissAnyExistingMenu completed
[23:02:00] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:02:00] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:02:00] [SEARCH] contentOffset.y=3829.0, topInset=40.0, pullDistance=-3869.0
[23:02:00] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:02:00] [SEARCH] topRefresh.isRefreshing=false
[23:02:00] [SEARCH] ❌ Pull distance -3869.0 < threshold 80.0
[23:02:00] [SERVER] Polling - attempting to reconnect...
[23:02:00] [MENU] 🔍 dismissAnyExistingMenu called
[23:02:00] [MENU] ℹ️ No menu with tag 9999 found
[23:02:00] [MENU] ✅ dismissAnyExistingMenu completed
[23:02:00] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:02:00] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:02:00] [SEARCH] contentOffset.y=3934.3333333333335, topInset=40.0, pullDistance=-3974.3333333333335
[23:02:00] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:02:00] [SEARCH] topRefresh.isRefreshing=false
[23:02:00] [SEARCH] ❌ Pull distance -3974.3333333333335 < threshold 80.0
[23:02:00] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:00] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:01] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:01] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:01] [MENU] 🔍 dismissAnyExistingMenu called
[23:02:01] [MENU] ℹ️ No menu with tag 9999 found
[23:02:01] [MENU] ✅ dismissAnyExistingMenu completed
[23:02:01] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:02:01] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:02:01] [SEARCH] contentOffset.y=4332.0, topInset=40.0, pullDistance=-4372.0
[23:02:01] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:02:01] [SEARCH] topRefresh.isRefreshing=false
[23:02:01] [SEARCH] ❌ Pull distance -4372.0 < threshold 80.0
[23:02:01] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:01] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:01] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:01] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:01] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:01] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:01] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:01] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:02] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:02] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:02] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:02] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:02] [MENU] 🔍 dismissAnyExistingMenu called
[23:02:02] [MENU] ℹ️ No menu with tag 9999 found
[23:02:02] [MENU] ✅ dismissAnyExistingMenu completed
[23:02:02] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:02:02] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:02] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:02] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:02:02] [SEARCH] contentOffset.y=4264.333333333333, topInset=40.0, pullDistance=-4304.333333333333
[23:02:02] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:02:02] [SEARCH] topRefresh.isRefreshing=false
[23:02:02] [SEARCH] ❌ Pull distance -4304.333333333333 < threshold 80.0
[23:02:02] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:02] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:02] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:02] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:02] [MENU] 🔍 dismissAnyExistingMenu called
[23:02:02] [MENU] ℹ️ No menu with tag 9999 found
[23:02:02] [MENU] ✅ dismissAnyExistingMenu completed
[23:02:02] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:02:02] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:02] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:03] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:03] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:03] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:03] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:03] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:03] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:03] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:03] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:03] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:03] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:03] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:02:03] [SEARCH] contentOffset.y=3844.3333333333335, topInset=40.0, pullDistance=-3884.3333333333335
[23:02:03] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:02:03] [SEARCH] topRefresh.isRefreshing=false
[23:02:03] [SEARCH] ❌ Pull distance -3884.3333333333335 < threshold 80.0
[23:02:03] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:03] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:04] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:04] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:04] [MENU] 🔍 dismissAnyExistingMenu called
[23:02:04] [MENU] ℹ️ No menu with tag 9999 found
[23:02:04] [MENU] ✅ dismissAnyExistingMenu completed
[23:02:04] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:02:04] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:04] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:05] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:02:05] [SEARCH] contentOffset.y=3863.3333333333335, topInset=40.0, pullDistance=-3903.3333333333335
[23:02:05] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:02:05] [SEARCH] topRefresh.isRefreshing=false
[23:02:05] [SEARCH] ❌ Pull distance -3903.3333333333335 < threshold 80.0
[23:02:05] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:05] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:05] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:05] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:05] [SERVER] Polling - attempting to reconnect...
[23:02:05] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:05] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:06] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:06] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:07] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:07] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:07] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:07] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:07] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:07] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:07] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:07] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:07] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:07] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:08] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:08] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:08] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:08] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:08] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:08] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:08] [CHUNKED_PROGRESS] 4204ae439e7ffebc.mov: chunk 3/13 - 100% (100.0/100.0 MB)
[23:02:08] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:08] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:09] [UPLOAD_RESPONSE] Started receiving response for task 4
[23:02:09] [UPLOAD_METRICS] Task 4 metrics:
[23:02:09] [UPLOAD_METRICS] Total time: 64.89s
[23:02:09] [UPLOAD_METRICS] Upload time: 63.72s
[23:02:09] [UPLOAD_METRICS] Response time: 0.00s
[23:02:09] [UPLOAD_METRICS] Network protocol: http/1.1
[23:02:09] [UPLOAD_METRICS] Proxy: no
[23:02:09] [UPLOAD_METRICS] Reused connection: no
[23:02:09] [UPLOAD_COMPLETE] ========== Task Completed ==========
[23:02:09] [UPLOAD_COMPLETE] Task ID: 4
[23:02:09] [UPLOAD_COMPLETE] Task state: 3 (0=running, 1=suspended, 2=canceling, 3=completed)
[23:02:09] [CHUNKED_COMPLETE] ========== Chunk Task Completed ==========
[23:02:09] [CHUNKED_COMPLETE] Task ID: 4
[23:02:09] [CHUNKED_COMPLETE] Chunk: 3/13
[23:02:09] [CHUNKED_COMPLETE] Filename: 4204ae439e7ffebc.mov
[23:02:09] [CHUNKED_COMPLETE] HTTP Status: 200
[23:02:09] [CHUNKED_COMPLETE] Response: {"ok":true,"chunkIndex":2,"receivedChunks":3,"totalChunks":13,"progress":23.08,"message":"Chunk received"}
[23:02:09] [CHUNKED_COMPLETE] ✅ Chunk 3/13 complete (23.1%)
[23:02:09] [CHUNKED_UPLOAD] ▶️ uploadChunk called: chunk 3/13
[23:02:09] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:09] [CHUNKED_UPLOAD] Uploading chunk 4/13
[23:02:09] [CHUNKED_UPLOAD] Offset: 314572800 bytes
[23:02:09] [CHUNKED_UPLOAD] Size: 104857600 bytes (100.0 MB)
[23:02:09] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:09] [CHUNKED_RESUME] Saved progress: chunk 3 completed
[23:02:09] [CHUNKED_UPLOAD] 📤 Sending chunk 3 via background session...
[23:02:09] [CHUNKED_UPLOAD] URL: https://crivello.dyndns.org:443/WebRTC/chat/upload_chunked.php
[23:02:09] [CHUNKED_UPLOAD] Body size: 104858370 bytes (100.0 MB)
[23:02:09] [CHUNKED_UPLOAD] Task 5 created for chunk 3
[23:02:09] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:09] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:09] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:09] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:10] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:10] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:10] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:10] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:10] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:10] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:10] [SERVER] Polling - attempting to reconnect...
[23:02:10] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:10] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:10] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:10] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:11] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:11] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:11] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:11] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:11] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:11] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:11] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:11] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:11] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:11] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:11] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:11] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:12] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:12] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:12] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:12] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:12] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:12] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:12] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:12] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:13] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:13] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:13] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:13] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:13] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:13] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:14] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:14] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:14] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:14] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:14] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:14] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:14] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:14] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:14] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:14] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:15] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:15] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:15] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:15] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:15] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:15] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:15] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:15] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:15] [SERVER] Polling - attempting to reconnect...
[23:02:15] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:15] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:16] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:16] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:16] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:16] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:16] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:16] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:16] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:16] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:16] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:16] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:16] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:16] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:17] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:17] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:17] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:17] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:18] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:18] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:18] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:18] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:18] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:18] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:18] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:18] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:18] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:18] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:19] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:19] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:19] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:19] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:19] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:19] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:19] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:19] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:19] [CHUNKED_PROGRESS] 4204ae439e7ffebc.mov: chunk 4/13 - 25% (25.5/100.0 MB)
[23:02:19] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:19] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:19] [VIDEO_DIRECT] 📊 Main upload progress: 25%
[23:02:20] [CHUNKED_PROGRESS] 4204ae439e7ffebc.mov: chunk 4/13 - 25% (26.0/100.0 MB)
[23:02:20] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:20] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:20] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:20] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:20] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:20] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:20] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:20] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:20] [SERVER] Polling - attempting to reconnect...
[23:02:20] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:20] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:21] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:21] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:21] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:21] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:21] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:21] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:21] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:21] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:22] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:22] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:22] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:22] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:22] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:22] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:23] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:23] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:23] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:23] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:23] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:23] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:23] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:23] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:23] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:23] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:23] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:23] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:24] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:24] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:24] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:24] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:25] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:25] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:25] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:25] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:25] [SERVER] Polling - attempting to reconnect...
[23:02:25] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:25] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:25] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:25] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:26] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:26] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:26] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:26] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:26] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:26] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:26] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:26] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:26] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:26] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:26] [MENU] 🔍 dismissAnyExistingMenu called
[23:02:26] [MENU] ℹ️ No menu with tag 9999 found
[23:02:26] [MENU] ✅ dismissAnyExistingMenu completed
[23:02:26] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:02:27] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:02:27] [SEARCH] contentOffset.y=3949.3333333333335, topInset=40.0, pullDistance=-3989.3333333333335
[23:02:27] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:02:27] [SEARCH] topRefresh.isRefreshing=false
[23:02:27] [SEARCH] ❌ Pull distance -3989.3333333333335 < threshold 80.0
[23:02:27] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:27] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:27] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:27] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:27] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:27] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:27] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:27] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:27] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:27] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:27] [MENU] 🔍 dismissAnyExistingMenu called
[23:02:27] [MENU] ℹ️ No menu with tag 9999 found
[23:02:27] [MENU] ✅ dismissAnyExistingMenu completed
[23:02:27] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:02:27] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:27] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:28] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:28] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:28] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:28] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:28] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:28] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:28] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:28] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:28] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:02:28] [SEARCH] contentOffset.y=4603.333333333333, topInset=40.0, pullDistance=-4643.333333333333
[23:02:28] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:02:28] [SEARCH] topRefresh.isRefreshing=false
[23:02:28] [SEARCH] ❌ Pull distance -4643.333333333333 < threshold 80.0
[23:02:28] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:28] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:29] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:29] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:29] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:29] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:29] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:29] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:29] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:29] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:29] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:29] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:30] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:30] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:30] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:30] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:30] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:30] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:30] [SERVER] Polling - attempting to reconnect...
[23:02:30] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:30] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:31] [CHUNKED_PROGRESS] 4204ae439e7ffebc.mov: chunk 4/13 - 50% (50.5/100.0 MB)
[23:02:31] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:31] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:31] [CHUNKED_PROGRESS] 4204ae439e7ffebc.mov: chunk 4/13 - 50% (51.0/100.0 MB)
[23:02:31] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:31] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:31] [MENU] 🔍 dismissAnyExistingMenu called
[23:02:31] [MENU] ℹ️ No menu with tag 9999 found
[23:02:31] [MENU] ✅ dismissAnyExistingMenu completed
[23:02:31] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:02:31] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:31] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:32] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:02:32] [SEARCH] contentOffset.y=4554.666666666667, topInset=40.0, pullDistance=-4594.666666666667
[23:02:32] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:02:32] [SEARCH] topRefresh.isRefreshing=false
[23:02:32] [SEARCH] ❌ Pull distance -4594.666666666667 < threshold 80.0
[23:02:32] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:32] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:32] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:32] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:32] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:32] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:32] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:32] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:32] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:32] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:33] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:33] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:33] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:33] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:33] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:33] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:33] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:33] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:33] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:33] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:34] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:34] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:34] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:34] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:34] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:34] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:34] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:34] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:35] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:35] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:35] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:35] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:35] [SERVER] Polling - attempting to reconnect...
[23:02:35] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:35] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:36] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:36] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:36] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:36] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:36] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:36] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:36] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:36] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:36] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:36] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:37] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:37] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:37] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:37] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:37] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:37] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:37] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:37] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:37] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:37] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:37] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:37] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:38] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:38] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:38] [MENU] 🔍 dismissAnyExistingMenu called
[23:02:38] [MENU] ℹ️ No menu with tag 9999 found
[23:02:38] [MENU] ✅ dismissAnyExistingMenu completed
[23:02:38] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:02:38] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:38] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:38] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:02:38] [SEARCH] contentOffset.y=4598.333333333333, topInset=40.0, pullDistance=-4638.333333333333
[23:02:38] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:02:38] [SEARCH] topRefresh.isRefreshing=false
[23:02:38] [SEARCH] ❌ Pull distance -4638.333333333333 < threshold 80.0
[23:02:38] [MENU] 🔍 dismissAnyExistingMenu called
[23:02:38] [MENU] ℹ️ No menu with tag 9999 found
[23:02:38] [MENU] ✅ dismissAnyExistingMenu completed
[23:02:38] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:02:38] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:02:38] [SEARCH] contentOffset.y=4708.0, topInset=40.0, pullDistance=-4748.0
[23:02:38] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:02:38] [SEARCH] topRefresh.isRefreshing=false
[23:02:38] [SEARCH] ❌ Pull distance -4748.0 < threshold 80.0
[23:02:39] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:39] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:39] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:39] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:39] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:39] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:39] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:39] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:39] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:39] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:40] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:40] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:40] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:40] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:40] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:40] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:40] [SERVER] Polling - attempting to reconnect...
[23:02:40] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:40] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:41] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:41] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:41] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:41] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:41] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:41] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:41] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:41] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:42] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:42] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:42] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:42] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:43] [MENU] 🔍 dismissAnyExistingMenu called
[23:02:43] [MENU] ℹ️ No menu with tag 9999 found
[23:02:43] [MENU] ✅ dismissAnyExistingMenu completed
[23:02:43] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:02:43] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:02:43] [SEARCH] contentOffset.y=4741.333333333333, topInset=40.0, pullDistance=-4781.333333333333
[23:02:43] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:02:43] [SEARCH] topRefresh.isRefreshing=false
[23:02:43] [SEARCH] ❌ Pull distance -4781.333333333333 < threshold 80.0
[23:02:44] [MENU] 🔍 dismissAnyExistingMenu called
[23:02:44] [MENU] ℹ️ No menu with tag 9999 found
[23:02:44] [MENU] ✅ dismissAnyExistingMenu completed
[23:02:44] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:02:44] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:02:44] [SEARCH] contentOffset.y=5027.333333333333, topInset=40.0, pullDistance=-5067.333333333333
[23:02:44] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:02:44] [SEARCH] topRefresh.isRefreshing=false
[23:02:44] [SEARCH] ❌ Pull distance -5067.333333333333 < threshold 80.0
[23:02:44] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:44] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:44] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:44] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:44] [CHUNKED_PROGRESS] 4204ae439e7ffebc.mov: chunk 4/13 - 75% (75.5/100.0 MB)
[23:02:44] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:44] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:44] [MENU] 🔍 dismissAnyExistingMenu called
[23:02:44] [MENU] ℹ️ No menu with tag 9999 found
[23:02:44] [MENU] ✅ dismissAnyExistingMenu completed
[23:02:44] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:02:45] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:02:45] [SEARCH] contentOffset.y=5103.333333333333, topInset=40.0, pullDistance=-5143.333333333333
[23:02:45] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:02:45] [SEARCH] topRefresh.isRefreshing=false
[23:02:45] [SEARCH] ❌ Pull distance -5143.333333333333 < threshold 80.0
[23:02:45] [CHUNKED_PROGRESS] 4204ae439e7ffebc.mov: chunk 4/13 - 75% (76.0/100.0 MB)
[23:02:45] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:45] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:45] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:45] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:45] [MENU] 🔍 dismissAnyExistingMenu called
[23:02:45] [MENU] ℹ️ No menu with tag 9999 found
[23:02:45] [MENU] ✅ dismissAnyExistingMenu completed
[23:02:45] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:02:45] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:02:45] [SEARCH] contentOffset.y=5521.333333333333, topInset=40.0, pullDistance=-5561.333333333333
[23:02:45] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:02:45] [SEARCH] topRefresh.isRefreshing=false
[23:02:45] [SEARCH] ❌ Pull distance -5561.333333333333 < threshold 80.0
[23:02:45] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:45] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:45] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:45] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:45] [SERVER] Polling - attempting to reconnect...
[23:02:45] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:45] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:46] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:46] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:46] [MENU] 🔍 dismissAnyExistingMenu called
[23:02:46] [MENU] ℹ️ No menu with tag 9999 found
[23:02:46] [MENU] ✅ dismissAnyExistingMenu completed
[23:02:46] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:02:46] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:02:46] [SEARCH] contentOffset.y=5550.666666666667, topInset=40.0, pullDistance=-5590.666666666667
[23:02:46] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:02:46] [SEARCH] topRefresh.isRefreshing=false
[23:02:46] [SEARCH] ❌ Pull distance -5590.666666666667 < threshold 80.0
[23:02:46] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=c8f0aac386a60643.jpg, overlayExists=true
[23:02:46] [CELL_UPLOAD] configure: msgId=4253, file=10dabda8d04dc725.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=false, hasFilename=true, uploadStatus=0
[23:02:46] [CELL_UPLOAD] → not my message, setting complete
[23:02:46] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=10dabda8d04dc725.jpg, overlayExists=true
[23:02:47] [MENU] 🔍 dismissAnyExistingMenu called
[23:02:47] [MENU] ℹ️ No menu with tag 9999 found
[23:02:47] [MENU] ✅ dismissAnyExistingMenu completed
[23:02:47] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:02:47] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:02:47] [SEARCH] contentOffset.y=5821.666666666667, topInset=40.0, pullDistance=-5861.666666666667
[23:02:47] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:02:47] [SEARCH] topRefresh.isRefreshing=false
[23:02:47] [SEARCH] ❌ Pull distance -5861.666666666667 < threshold 80.0
[23:02:48] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:48] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:48] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:48] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:48] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:48] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:49] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:49] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:49] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:49] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:49] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:49] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:49] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:49] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:49] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:49] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:50] [MENU] 🔍 dismissAnyExistingMenu called
[23:02:50] [MENU] ℹ️ No menu with tag 9999 found
[23:02:50] [MENU] ✅ dismissAnyExistingMenu completed
[23:02:50] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:02:50] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:02:50] [SEARCH] contentOffset.y=5849.333333333333, topInset=40.0, pullDistance=-5889.333333333333
[23:02:50] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:02:50] [SEARCH] topRefresh.isRefreshing=false
[23:02:50] [SEARCH] ❌ Pull distance -5889.333333333333 < threshold 80.0
[23:02:50] [MENU] 🔍 dismissAnyExistingMenu called
[23:02:50] [MENU] ℹ️ No menu with tag 9999 found
[23:02:50] [MENU] ✅ dismissAnyExistingMenu completed
[23:02:50] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:02:50] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:02:50] [SEARCH] contentOffset.y=6029.333333333333, topInset=40.0, pullDistance=-6069.333333333333
[23:02:50] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:02:50] [SEARCH] topRefresh.isRefreshing=false
[23:02:50] [SEARCH] ❌ Pull distance -6069.333333333333 < threshold 80.0
[23:02:50] [SERVER] Polling - attempting to reconnect...
[23:02:50] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:50] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:51] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:51] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:51] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:51] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:51] [MENU] 🔍 dismissAnyExistingMenu called
[23:02:51] [MENU] ℹ️ No menu with tag 9999 found
[23:02:51] [MENU] ✅ dismissAnyExistingMenu completed
[23:02:51] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:02:51] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:02:51] [SEARCH] contentOffset.y=6086.666666666667, topInset=40.0, pullDistance=-6126.666666666667
[23:02:51] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:02:51] [SEARCH] topRefresh.isRefreshing=false
[23:02:51] [SEARCH] ❌ Pull distance -6126.666666666667 < threshold 80.0
[23:02:51] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:51] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:51] [MENU] 🔍 dismissAnyExistingMenu called
[23:02:51] [MENU] ℹ️ No menu with tag 9999 found
[23:02:51] [MENU] ✅ dismissAnyExistingMenu completed
[23:02:51] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:02:51] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:51] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:51] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:02:51] [SEARCH] contentOffset.y=6308.333333333333, topInset=40.0, pullDistance=-6348.333333333333
[23:02:51] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:02:51] [SEARCH] topRefresh.isRefreshing=false
[23:02:51] [SEARCH] ❌ Pull distance -6348.333333333333 < threshold 80.0
[23:02:52] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:52] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:52] [COMBINED_FETCH] Loaded 3218 read receipts, 383 messages with reactions
[23:02:52] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=10dabda8d04dc725.jpg, overlayExists=true
[23:02:52] [CELL_UPLOAD] configure: msgId=4253, file=10dabda8d04dc725.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=false, hasFilename=true, uploadStatus=0
[23:02:52] [CELL_UPLOAD] → not my message, setting complete
[23:02:52] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=10dabda8d04dc725.jpg, overlayExists=true
[23:02:52] [PAGINATION] Scrolled to message 4255 at new row 66
[23:02:52] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:52] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:53] [MENU] 🔍 dismissAnyExistingMenu called
[23:02:53] [MENU] ℹ️ No menu with tag 9999 found
[23:02:53] [MENU] ✅ dismissAnyExistingMenu completed
[23:02:53] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:02:53] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:53] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:53] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:02:53] [SEARCH] contentOffset.y=6306.666666666667, topInset=40.0, pullDistance=-6346.666666666667
[23:02:53] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:02:53] [SEARCH] topRefresh.isRefreshing=false
[23:02:53] [SEARCH] ❌ Pull distance -6346.666666666667 < threshold 80.0
[23:02:53] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:53] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:54] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:54] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:54] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:54] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:54] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:54] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:54] [TAP_REPLAY] 🔄 replayEvolutionAnimation called for messageId=4251
[23:02:54] [TAP_REPLAY] 📦 Found message: text.count=8, evolutionData.isEmpty=true
[23:02:54] [TAP_REPLAY] 📡 No local evolution data - fetching from server
[23:02:54] [TAP_REPLAY] 🔍 Server response keys: ["created_at", "evolution", "has_evolution", "message_id", "ok"]
[23:02:54] [TAP_REPLAY] ✅ Successfully fetched 8 events from server - calling playEvolutionInline
[23:02:54] [EVOLUTION] 🎬 playEvolutionInline called for message 4251 with 8 events
[23:02:54] [UPDATE_CELL] 🔍 updateMessageCell called for message 4251
[23:02:54] [UPDATE_CELL] Initial targetRowIndex=70
[23:02:54] [UPDATE_CELL] Rebuilt chatRows, count=150
[23:02:54] [UPDATE_CELL] After rebuild targetRowIndex=70
[23:02:54] [UPDATE_CELL] 📝 Message state: isPlayingEvolution=true, evolutionText=' ', text='Heeyyy🙄🙄'
[23:02:54] [UPDATE_CELL] ✅ Updating ChatCell label to: ' '
[23:02:54] [UPDATE_CELL] 🔍 updateMessageCell called for message 4251
[23:02:54] [UPDATE_CELL] Initial targetRowIndex=70
[23:02:54] [UPDATE_CELL] Rebuilt chatRows, count=150
[23:02:54] [UPDATE_CELL] After rebuild targetRowIndex=70
[23:02:54] [UPDATE_CELL] 📝 Message state: isPlayingEvolution=true, evolutionText='H', text='Heeyyy🙄🙄'
[23:02:54] [UPDATE_CELL] ✅ Updating ChatCell label to: 'H'
[23:02:54] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:54] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:54] [MENU] 🔍 dismissAnyExistingMenu called
[23:02:54] [MENU] ℹ️ No menu with tag 9999 found
[23:02:54] [MENU] ✅ dismissAnyExistingMenu completed
[23:02:54] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:02:55] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:02:55] [SEARCH] contentOffset.y=6362.333333333333, topInset=40.0, pullDistance=-6402.333333333333
[23:02:55] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:02:55] [SEARCH] topRefresh.isRefreshing=false
[23:02:55] [SEARCH] ❌ Pull distance -6402.333333333333 < threshold 80.0
[23:02:55] [UPDATE_CELL] 🔍 updateMessageCell called for message 4251
[23:02:55] [UPDATE_CELL] Initial targetRowIndex=70
[23:02:55] [UPDATE_CELL] Rebuilt chatRows, count=150
[23:02:55] [UPDATE_CELL] After rebuild targetRowIndex=70
[23:02:55] [UPDATE_CELL] 📝 Message state: isPlayingEvolution=true, evolutionText='He', text='Heeyyy🙄🙄'
[23:02:55] [UPDATE_CELL] ✅ Updating ChatCell label to: 'He'
[23:02:55] [UPDATE_CELL] 🔍 updateMessageCell called for message 4251
[23:02:55] [UPDATE_CELL] Initial targetRowIndex=70
[23:02:55] [UPDATE_CELL] Rebuilt chatRows, count=150
[23:02:55] [UPDATE_CELL] After rebuild targetRowIndex=70
[23:02:55] [UPDATE_CELL] 📝 Message state: isPlayingEvolution=true, evolutionText='Hee', text='Heeyyy🙄🙄'
[23:02:55] [UPDATE_CELL] ✅ Updating ChatCell label to: 'Hee'
[23:02:55] [UPDATE_CELL] 🔍 updateMessageCell called for message 4251
[23:02:55] [UPDATE_CELL] Initial targetRowIndex=70
[23:02:55] [UPDATE_CELL] Rebuilt chatRows, count=150
[23:02:55] [UPDATE_CELL] After rebuild targetRowIndex=70
[23:02:55] [UPDATE_CELL] 📝 Message state: isPlayingEvolution=true, evolutionText='Heey', text='Heeyyy🙄🙄'
[23:02:55] [UPDATE_CELL] ✅ Updating ChatCell label to: 'Heey'
[23:02:55] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:55] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:55] [UPDATE_CELL] 🔍 updateMessageCell called for message 4251
[23:02:55] [UPDATE_CELL] Initial targetRowIndex=70
[23:02:55] [UPDATE_CELL] Rebuilt chatRows, count=150
[23:02:55] [UPDATE_CELL] After rebuild targetRowIndex=70
[23:02:55] [UPDATE_CELL] 📝 Message state: isPlayingEvolution=true, evolutionText='Heeyy', text='Heeyyy🙄🙄'
[23:02:55] [UPDATE_CELL] ✅ Updating ChatCell label to: 'Heeyy'
[23:02:55] [UPDATE_CELL] 🔍 updateMessageCell called for message 4251
[23:02:55] [UPDATE_CELL] Initial targetRowIndex=70
[23:02:55] [UPDATE_CELL] Rebuilt chatRows, count=150
[23:02:55] [UPDATE_CELL] After rebuild targetRowIndex=70
[23:02:55] [UPDATE_CELL] 📝 Message state: isPlayingEvolution=true, evolutionText='Heeyyy', text='Heeyyy🙄🙄'
[23:02:55] [UPDATE_CELL] ✅ Updating ChatCell label to: 'Heeyyy'
[23:02:55] [SERVER] Polling - attempting to reconnect...
[23:02:56] [UPDATE_CELL] 🔍 updateMessageCell called for message 4251
[23:02:56] [UPDATE_CELL] Initial targetRowIndex=70
[23:02:56] [UPDATE_CELL] Rebuilt chatRows, count=150
[23:02:56] [UPDATE_CELL] After rebuild targetRowIndex=70
[23:02:56] [UPDATE_CELL] 📝 Message state: isPlayingEvolution=true, evolutionText='Heeyyy🙄', text='Heeyyy🙄🙄'
[23:02:56] [UPDATE_CELL] ✅ Updating ChatCell label to: 'Heeyyy🙄'
[23:02:56] [UPDATE_CELL] 🔍 updateMessageCell called for message 4251
[23:02:56] [UPDATE_CELL] Initial targetRowIndex=70
[23:02:56] [UPDATE_CELL] Rebuilt chatRows, count=150
[23:02:56] [UPDATE_CELL] After rebuild targetRowIndex=70
[23:02:56] [UPDATE_CELL] 📝 Message state: isPlayingEvolution=true, evolutionText='Heeyyy🙄🙄', text='Heeyyy🙄🙄'
[23:02:56] [UPDATE_CELL] ✅ Updating ChatCell label to: 'Heeyyy🙄🙄'
[23:02:56] [UPDATE_CELL] 🔍 updateMessageCell called for message 4251
[23:02:56] [UPDATE_CELL] Initial targetRowIndex=70
[23:02:56] [UPDATE_CELL] Rebuilt chatRows, count=150
[23:02:56] [UPDATE_CELL] After rebuild targetRowIndex=70
[23:02:56] [UPDATE_CELL] 📝 Message state: isPlayingEvolution=false, evolutionText='Heeyyy🙄🙄', text='Heeyyy🙄🙄'
[23:02:56] [UPDATE_CELL] ✅ Updating ChatCell label to: 'Heeyyy🙄🙄'
[23:02:56] [EVOLUTION] ✅ Animation complete for message 4251 - marking as read now
[23:02:57] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:57] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:57] [MENU] 🔍 dismissAnyExistingMenu called
[23:02:57] [MENU] ℹ️ No menu with tag 9999 found
[23:02:57] [MENU] ✅ dismissAnyExistingMenu completed
[23:02:57] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:02:57] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:02:57] [SEARCH] contentOffset.y=6249.666666666667, topInset=40.0, pullDistance=-6289.666666666667
[23:02:57] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:02:57] [SEARCH] topRefresh.isRefreshing=false
[23:02:57] [SEARCH] ❌ Pull distance -6289.666666666667 < threshold 80.0
[23:02:58] [MENU] 🔍 dismissAnyExistingMenu called
[23:02:58] [MENU] ℹ️ No menu with tag 9999 found
[23:02:58] [MENU] ✅ dismissAnyExistingMenu completed
[23:02:58] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:02:58] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:02:58] [SEARCH] contentOffset.y=6206.333333333333, topInset=40.0, pullDistance=-6246.333333333333
[23:02:58] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:02:58] [SEARCH] topRefresh.isRefreshing=false
[23:02:58] [SEARCH] ❌ Pull distance -6246.333333333333 < threshold 80.0
[23:02:59] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:02:59] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:02:59] [MENU] 🔍 dismissAnyExistingMenu called
[23:02:59] [MENU] ℹ️ No menu with tag 9999 found
[23:02:59] [MENU] ✅ dismissAnyExistingMenu completed
[23:02:59] [MENU] 🔨 Created button 'Reply' at index 0, frame: (0.0, 0.0, 120.0, 44.0), userInteraction: true
[23:02:59] [MENU] 🔨 Created button 'Hide' at index 1, frame: (0.0, 44.0, 120.0, 44.0), userInteraction: true
[23:02:59] [MENU] 🔨 Created button 'Delete' at index 2, frame: (0.0, 88.0, 120.0, 44.0), userInteraction: true
[23:02:59] [MENU] 📍 Menu added to view - frame: (172.0, 683.866666666667, 96.0, 105.60000000000002), userInteraction: true
[23:02:59] [MENU] 📍 Menu has 5 subviews (buttons + separators)
[23:03:00] [SERVER] Polling - attempting to reconnect...
[23:03:01] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:01] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:01] [REACTION] add 😁 to message 4253 (alreadyReacted: false)
[23:03:01] [MENU] 🔍 dismissAnyExistingMenu called
[23:03:01] [MENU] 🗑️ Found menu with tag 9999, removing
[23:03:01] [MENU] 🗑️ Removing blur effect
[23:03:01] [MENU] 🗑️ Dismissing emoji picker
[23:03:01] [MENU] 🕐 Recorded dismissal time for debounce
[23:03:01] [MENU] ✅ dismissAnyExistingMenu completed
[23:03:02] [REACTION] ✅ Added 😁 reaction to message 4253
[23:03:03] [MENU] 🔍 dismissAnyExistingMenu called
[23:03:03] [MENU] ℹ️ No menu with tag 9999 found
[23:03:03] [MENU] ✅ dismissAnyExistingMenu completed
[23:03:03] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:03:03] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:03:03] [SEARCH] contentOffset.y=6132.0, topInset=40.0, pullDistance=-6172.0
[23:03:03] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:03:03] [SEARCH] topRefresh.isRefreshing=false
[23:03:03] [SEARCH] ❌ Pull distance -6172.0 < threshold 80.0
[23:03:03] [COMBINED_FETCH] Loaded 3218 read receipts, 384 messages with reactions
[23:03:04] DOWNLOADIIING 1b1a78050ebe099b.jpg
[23:03:04] DOWNLOADIIING bae538c2a3076c11.heic
[23:03:04] DOWNLOADIIING ee42d57ffd8ab767.jpg
[23:03:04] DOWNLOADIIING 5cfd84d52271d308.heic
[23:03:04] DOWNLOADIIING 0f2dda66cccdeadf.heic
[23:03:04] DOWNLOADIIING 2a4c7380908d6595.jpg
[23:03:04] [MENU] 🔍 dismissAnyExistingMenu called
[23:03:04] [MENU] ℹ️ No menu with tag 9999 found
[23:03:04] [MENU] ✅ dismissAnyExistingMenu completed
[23:03:04] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:03:04] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:03:04] [SEARCH] contentOffset.y=6119.333333333333, topInset=40.0, pullDistance=-6159.333333333333
[23:03:04] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:03:04] [SEARCH] topRefresh.isRefreshing=false
[23:03:04] [SEARCH] ❌ Pull distance -6159.333333333333 < threshold 80.0
[23:03:04] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=10dabda8d04dc725.jpg, overlayExists=true
[23:03:04] [CELL_UPLOAD] configure: msgId=4253, file=10dabda8d04dc725.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=false, hasFilename=true, uploadStatus=0
[23:03:04] [CELL_UPLOAD] → not my message, setting complete
[23:03:04] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=10dabda8d04dc725.jpg, overlayExists=true
[23:03:04] [MENU] 🔍 dismissAnyExistingMenu called
[23:03:04] [MENU] ℹ️ No menu with tag 9999 found
[23:03:04] [MENU] ✅ dismissAnyExistingMenu completed
[23:03:04] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:03:04] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:03:04] [SEARCH] contentOffset.y=5855.0, topInset=40.0, pullDistance=-5895.0
[23:03:04] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:03:04] [SEARCH] topRefresh.isRefreshing=false
[23:03:04] [SEARCH] ❌ Pull distance -5895.0 < threshold 80.0
[23:03:04] [MENU] 🔍 dismissAnyExistingMenu called
[23:03:04] [MENU] ℹ️ No menu with tag 9999 found
[23:03:04] [MENU] ✅ dismissAnyExistingMenu completed
[23:03:04] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:03:04] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:03:04] [SEARCH] contentOffset.y=5228.333333333333, topInset=40.0, pullDistance=-5268.333333333333
[23:03:04] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:03:04] [SEARCH] topRefresh.isRefreshing=false
[23:03:04] [SEARCH] ❌ Pull distance -5268.333333333333 < threshold 80.0
[23:03:05] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=10dabda8d04dc725.jpg, overlayExists=true
[23:03:05] [CELL_UPLOAD] configure: msgId=-9, file=c8f0aac386a60643.jpg, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=0
[23:03:05] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[23:03:05] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=c8f0aac386a60643.jpg, overlayExists=true
[23:03:05] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=7f5c64456effb085.png, overlayExists=true
[23:03:05] [CELL_UPLOAD] configure: msgId=4283, file=c8f0aac386a60643.jpg, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=0
[23:03:05] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[23:03:05] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=c8f0aac386a60643.jpg, overlayExists=true
[23:03:05] [MENU] 🔍 dismissAnyExistingMenu called
[23:03:05] [MENU] ℹ️ No menu with tag 9999 found
[23:03:05] [MENU] ✅ dismissAnyExistingMenu completed
[23:03:05] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:03:05] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:03:05] [SEARCH] contentOffset.y=4223.666666666667, topInset=40.0, pullDistance=-4263.666666666667
[23:03:05] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:03:05] [SEARCH] topRefresh.isRefreshing=false
[23:03:05] [SEARCH] ❌ Pull distance -4263.666666666667 < threshold 80.0
[23:03:05] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:05] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:05] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=c8f0aac386a60643.jpg, overlayExists=true
[23:03:05] [CELL_UPLOAD] configure: msgId=4301, file=71742c3d78ed2063.jpg, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=0
[23:03:05] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[23:03:05] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=71742c3d78ed2063.jpg, overlayExists=true
[23:03:05] [MENU] 🔍 dismissAnyExistingMenu called
[23:03:05] [MENU] ℹ️ No menu with tag 9999 found
[23:03:05] [MENU] ✅ dismissAnyExistingMenu completed
[23:03:05] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:03:05] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:03:05] [SEARCH] contentOffset.y=2510.3333333333335, topInset=40.0, pullDistance=-2550.3333333333335
[23:03:05] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:03:05] [SEARCH] topRefresh.isRefreshing=false
[23:03:05] [SEARCH] ❌ Pull distance -2550.3333333333335 < threshold 80.0
[23:03:06] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=c8f0aac386a60643.jpg, overlayExists=true
[23:03:06] [CELL_UPLOAD] configure: msgId=4309, file=7f5c64456effb085.png, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=0
[23:03:06] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[23:03:06] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=7f5c64456effb085.png, overlayExists=true
[23:03:06] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=7f5c64456effb085.png, overlayExists=true
[23:03:06] [CELL_UPLOAD] configure: msgId=4328, file=4204ae439e7ffebc.mov, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=0
[23:03:06] [CELL_UPLOAD] → has active progress=0.30115332930284183, setting uploading
[23:03:06] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.30115332930284183) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:06] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:06] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:06] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:06] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3015379418631348) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:06] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:06] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:06] [CELL_UPLOAD] configure: msgId=4328, file=4204ae439e7ffebc.mov, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=2
[23:03:06] [CELL_UPLOAD] → has active progress=0.3015379418631348, setting uploading
[23:03:06] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3015379418631348) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:06] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:06] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:06] [CELL_UPLOAD] configure: msgId=4328, file=4204ae439e7ffebc.mov, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=2
[23:03:06] [CELL_UPLOAD] → has active progress=0.3015379418631348, setting uploading
[23:03:06] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3015379418631348) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:06] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:06] [MENU] 🔍 dismissAnyExistingMenu called
[23:03:06] [MENU] ℹ️ No menu with tag 9999 found
[23:03:06] [MENU] ✅ dismissAnyExistingMenu completed
[23:03:06] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:03:06] [SEARCH] handleTopRefresh called - tab=0, isSearchBarVisible=false
[23:03:06] [SEARCH] 🔍 First pull on Tab 0 - showing search bar instead of refresh
[23:03:06] [SEARCH] showSearchBar() called - animated=true, isSearchBarVisible=false
[23:03:06] [SEARCH] ✅ Setting isSearchBarVisible = true
[23:03:06] [SEARCH] chatSearchBar is nil? false
[23:03:06] [SEARCH] Applied theme: day
[23:03:06] [SEARCH] Adjusting table contentInset.top by +56.0
[23:03:06] [SEARCH] Table contentInset.top: 40.0 -> 96.0
[23:03:06] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:03:06] [SEARCH] contentOffset.y=-153.33333333333334, topInset=96.0, pullDistance=57.33333333333334
[23:03:06] [SEARCH] threshold=80.0, isSearchBarVisible=true
[23:03:06] [SEARCH] topRefresh.isRefreshing=false
[23:03:06] [SEARCH] ❌ Pull distance 57.33333333333334 < threshold 80.0
[23:03:06] [SEARCH] Focusing search field
[23:03:07] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:07] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:07] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.30192255442342775) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:07] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:07] [SERVER] Polling - attempting to reconnect...
[23:03:07] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:07] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:07] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3023071669837207) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:07] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:08] [MENU] 🔍 dismissAnyExistingMenu called
[23:03:08] [MENU] ℹ️ No menu with tag 9999 found
[23:03:08] [MENU] ✅ dismissAnyExistingMenu completed
[23:03:08] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=true, tab=0
[23:03:08] [SEARCH] 🔽 Hiding search bar (user started scrolling)
[23:03:08] [SEARCH] hideSearchBar() called - animated=true, isSearchBarVisible=true
[23:03:08] [SEARCH] ✅ Setting isSearchBarVisible = false
[23:03:08] [SEARCH] Adjusting table contentInset.top by -56.0
[23:03:08] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:03:08] [SEARCH] contentOffset.y=-7.0, topInset=40.0, pullDistance=-33.0
[23:03:08] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:03:08] [SEARCH] topRefresh.isRefreshing=false
[23:03:08] [SEARCH] ❌ Pull distance -33.0 < threshold 80.0
[23:03:08] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:08] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:08] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.30269177954401366) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:08] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:08] [MENU] 🔍 dismissAnyExistingMenu called
[23:03:08] [MENU] ℹ️ No menu with tag 9999 found
[23:03:08] [MENU] ✅ dismissAnyExistingMenu completed
[23:03:08] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:03:08] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:08] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:08] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3030763921043066) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:08] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:08] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:03:08] [SEARCH] contentOffset.y=77.0, topInset=40.0, pullDistance=-117.0
[23:03:08] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:03:08] [SEARCH] topRefresh.isRefreshing=false
[23:03:08] [SEARCH] ❌ Pull distance -117.0 < threshold 80.0
[23:03:09] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:09] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:09] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3034610046645996) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:09] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:09] [MENU] 🔍 dismissAnyExistingMenu called
[23:03:09] [MENU] ℹ️ No menu with tag 9999 found
[23:03:09] [MENU] ✅ dismissAnyExistingMenu completed
[23:03:09] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:03:09] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:03:09] [SEARCH] contentOffset.y=-47.333333333333336, topInset=40.0, pullDistance=7.333333333333336
[23:03:09] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:03:09] [SEARCH] topRefresh.isRefreshing=false
[23:03:09] [SEARCH] ❌ Pull distance 7.333333333333336 < threshold 80.0
[23:03:09] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:09] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:09] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3038456172248925) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:09] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:09] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:09] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:09] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3042302297851855) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:09] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:09] [MENU] 🔍 dismissAnyExistingMenu called
[23:03:09] [MENU] ℹ️ No menu with tag 9999 found
[23:03:09] [MENU] ✅ dismissAnyExistingMenu completed
[23:03:09] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:03:10] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:03:10] [SEARCH] contentOffset.y=25.333333333333332, topInset=40.0, pullDistance=-65.33333333333333
[23:03:10] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:03:10] [SEARCH] topRefresh.isRefreshing=false
[23:03:10] [SEARCH] ❌ Pull distance -65.33333333333333 < threshold 80.0
[23:03:10] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:10] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:10] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3046148423454784) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:10] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:10] [MENU] 🔍 dismissAnyExistingMenu called
[23:03:10] [MENU] ℹ️ No menu with tag 9999 found
[23:03:10] [MENU] ✅ dismissAnyExistingMenu completed
[23:03:10] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:03:10] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:03:10] [SEARCH] contentOffset.y=107.66666666666667, topInset=40.0, pullDistance=-147.66666666666669
[23:03:10] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:03:10] [SEARCH] topRefresh.isRefreshing=false
[23:03:10] [SEARCH] ❌ Pull distance -147.66666666666669 < threshold 80.0
[23:03:10] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:10] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:10] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3049994549057714) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:10] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:10] [SERVER] Polling - attempting to reconnect...
[23:03:10] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:10] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:10] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.30538406746606434) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:10] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:11] [MENU] 🔍 dismissAnyExistingMenu called
[23:03:11] [MENU] ℹ️ No menu with tag 9999 found
[23:03:11] [MENU] ✅ dismissAnyExistingMenu completed
[23:03:11] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:03:11] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:03:11] [SEARCH] contentOffset.y=51.666666666666664, topInset=40.0, pullDistance=-91.66666666666666
[23:03:11] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:03:11] [SEARCH] topRefresh.isRefreshing=false
[23:03:11] [SEARCH] ❌ Pull distance -91.66666666666666 < threshold 80.0
[23:03:11] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:11] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:11] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3057686800263573) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:11] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:11] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:11] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:11] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.30615329258665025) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:11] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:11] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:11] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:11] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.30653790514694323) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:11] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:11] [MENU] 🔍 dismissAnyExistingMenu called
[23:03:11] [MENU] ℹ️ No menu with tag 9999 found
[23:03:11] [MENU] ✅ dismissAnyExistingMenu completed
[23:03:11] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:03:12] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:12] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:12] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3069225177072362) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:12] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:12] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:03:12] [SEARCH] contentOffset.y=-3.0, topInset=40.0, pullDistance=-37.0
[23:03:12] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:03:12] [SEARCH] topRefresh.isRefreshing=false
[23:03:12] [SEARCH] ❌ Pull distance -37.0 < threshold 80.0
[23:03:13] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:13] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:13] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3073071302675291) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:13] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:14] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:14] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:14] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.30769174282782213) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:14] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:14] [CHUNKED_PROGRESS] 4204ae439e7ffebc.mov: chunk 4/13 - 100% (100.0/100.0 MB)
[23:03:14] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:14] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:14] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3076923076923077) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:14] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:15] [SERVER] Polling - attempting to reconnect...
[23:03:15] [UPLOAD_RESPONSE] Started receiving response for task 5
[23:03:15] [UPLOAD_METRICS] Task 5 metrics:
[23:03:15] [UPLOAD_METRICS] Total time: 66.28s
[23:03:15] [UPLOAD_METRICS] Upload time: 65.50s
[23:03:15] [UPLOAD_METRICS] Response time: 0.00s
[23:03:15] [UPLOAD_METRICS] Network protocol: http/1.1
[23:03:15] [UPLOAD_METRICS] Proxy: no
[23:03:15] [UPLOAD_METRICS] Reused connection: yes
[23:03:15] [UPLOAD_COMPLETE] ========== Task Completed ==========
[23:03:15] [UPLOAD_COMPLETE] Task ID: 5
[23:03:15] [UPLOAD_COMPLETE] Task state: 3 (0=running, 1=suspended, 2=canceling, 3=completed)
[23:03:15] [CHUNKED_COMPLETE] ========== Chunk Task Completed ==========
[23:03:15] [CHUNKED_COMPLETE] Task ID: 5
[23:03:15] [CHUNKED_COMPLETE] Chunk: 4/13
[23:03:15] [CHUNKED_COMPLETE] Filename: 4204ae439e7ffebc.mov
[23:03:15] [CHUNKED_COMPLETE] HTTP Status: 200
[23:03:15] [CHUNKED_COMPLETE] Response: {"ok":true,"chunkIndex":3,"receivedChunks":4,"totalChunks":13,"progress":30.77,"message":"Chunk received"}
[23:03:15] [CHUNKED_COMPLETE] ✅ Chunk 4/13 complete (30.8%)
[23:03:15] [CHUNKED_UPLOAD] ▶️ uploadChunk called: chunk 4/13
[23:03:15] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:15] [CHUNKED_UPLOAD] Uploading chunk 5/13
[23:03:15] [CHUNKED_UPLOAD] Offset: 419430400 bytes
[23:03:15] [CHUNKED_UPLOAD] Size: 104857600 bytes (100.0 MB)
[23:03:15] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:15] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3076923076923077) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:15] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:15] [CHUNKED_RESUME] Saved progress: chunk 4 completed
[23:03:16] [CHUNKED_UPLOAD] 📤 Sending chunk 4 via background session...
[23:03:16] [CHUNKED_UPLOAD] URL: https://crivello.dyndns.org:443/WebRTC/chat/upload_chunked.php
[23:03:16] [CHUNKED_UPLOAD] Body size: 104858370 bytes (100.0 MB)
[23:03:16] [CHUNKED_UPLOAD] Task 6 created for chunk 4
[23:03:16] [CHUNKED_PROGRESS] 4204ae439e7ffebc.mov: chunk 5/13 - 0% (1.0/100.0 MB)
[23:03:16] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:16] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:16] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3084615328128936) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:16] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:16] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:16] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:16] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.30884614537318655) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:16] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:16] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:16] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:16] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.30923075793347954) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:16] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:17] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:17] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:17] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.30961537049377247) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:17] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:17] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:17] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:17] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.30999998305406545) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:17] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:17] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:17] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:17] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3103845956143584) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:17] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:18] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:18] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:18] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.31076920817465137) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:18] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:18] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:18] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:18] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3111538207349443) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:18] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:18] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:18] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:18] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3115384332952373) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:18] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:18] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:18] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:18] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3119230458555302) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:18] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:19] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:19] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:19] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3123076584158232) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:19] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:19] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:19] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:19] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3126922709761161) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:19] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:19] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:19] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:19] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.31307688353640906) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:19] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:19] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:19] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:19] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.31346149609670204) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:19] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:19] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:19] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:19] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.31384610865699497) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:19] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:19] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:19] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:19] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.31423072121728796) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:19] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:20] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:20] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:20] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3146153337775809) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:20] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:20] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:20] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:20] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.31499994633787387) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:20] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:20] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:20] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:20] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3153845588981668) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:20] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:20] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:20] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:20] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3157691714584598) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:20] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:20] [MENU] 🔍 dismissAnyExistingMenu called
[23:03:20] [MENU] ℹ️ No menu with tag 9999 found
[23:03:20] [MENU] ✅ dismissAnyExistingMenu completed
[23:03:20] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:03:20] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:20] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:20] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3161537840187527) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:20] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:20] [SEARCH] handleTopRefresh called - tab=0, isSearchBarVisible=false
[23:03:20] [SEARCH] 🔍 First pull on Tab 0 - showing search bar instead of refresh
[23:03:20] [SEARCH] showSearchBar() called - animated=true, isSearchBarVisible=false
[23:03:20] [SEARCH] ✅ Setting isSearchBarVisible = true
[23:03:20] [SEARCH] chatSearchBar is nil? false
[23:03:20] [SEARCH] Applied theme: day
[23:03:20] [SEARCH] Adjusting table contentInset.top by +56.0
[23:03:20] [SEARCH] Table contentInset.top: 40.0 -> 96.0
[23:03:20] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:20] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:20] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3165383965790457) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:20] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:20] [SEARCH] handleTopRefresh called - tab=0, isSearchBarVisible=true
[23:03:20] [CHAT] top pull-to-refresh triggered on tab 0
[23:03:20] [CHANNEL_SWITCH] 📡 Fetching URL: https://crivello.dyndns.org:443/WebRTC/chat/chat_get_messages.php?viewer=1&session_id=ILUIWU&mark_read=0&viewer_id=EDAD55A1-003F-415D-AA60-672B34B504FE
[23:03:20] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:03:20] [SEARCH] contentOffset.y=-129.0, topInset=156.0, pullDistance=-27.0
[23:03:20] [SEARCH] threshold=80.0, isSearchBarVisible=true
[23:03:20] [SEARCH] topRefresh.isRefreshing=true
[23:03:20] [SEARCH] ❌ Pull distance -27.0 < threshold 80.0
[23:03:20] [SEARCH] Focusing search field
[23:03:20] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:20] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:20] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.31730762169963156) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:20] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:20] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:20] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:20] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3180768468202175) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:20] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:21] [SERVER] Polling - attempting to reconnect...
[23:03:22] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:22] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:22] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3184614593805105) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:22] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:22] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:22] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:22] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3188460719408034) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:22] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:22] [PENDING_UPLOAD] Found pending message: id=4328, file=4204ae439e7ffebc.mov, uploadStatus=2
[23:03:22] [PENDING_UPLOAD] Found pending message: id=-9, file=c8f0aac386a60643.jpg, uploadStatus=2
[23:03:22] [PENDING_UPLOAD] Total pending upload messages: 2
[23:03:22] [PENDING_UPLOAD] Preserved 2 pending messages before server refresh
[23:03:22] [PENDING_UPLOAD] Reinserting 2 pending messages
[23:03:22] [PENDING_UPLOAD] ✅ Reinserted message 4328
[23:03:22] [PENDING_UPLOAD] ✅ Reinserted message -9
[23:03:22] [MENU] 🔍 dismissAnyExistingMenu called
[23:03:22] [MENU] ℹ️ No menu with tag 9999 found
[23:03:22] [MENU] ✅ dismissAnyExistingMenu completed
[23:03:22] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=true, tab=0
[23:03:22] [SEARCH] 🔽 Hiding search bar (user started scrolling)
[23:03:22] [SEARCH] hideSearchBar() called - animated=true, isSearchBarVisible=true
[23:03:22] [SEARCH] ✅ Setting isSearchBarVisible = false
[23:03:22] [SEARCH] Adjusting table contentInset.top by -56.0
[23:03:22] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:22] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:22] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.31923068450109643) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:22] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:22] DOWNLOADIIING t_66e5f4c7c82fef18.jpg
[23:03:22] DOWNLOADIIING t_97828ef5de49a612.jpg
[23:03:23] [CHANNEL_SWITCH] 📊 About to set loaded messages. Count=3218
[23:03:23] [CHANNEL_SWITCH] 📊 Setting allMessagesWithReadBy = 3218 msgs
[23:03:23] [READBY_LOADED] msg 4328: readBy.count=0, readBy=[], isMyMsg=true
[23:03:23] [READBY_LOADED] msg 4327: readBy.count=0, readBy=[], isMyMsg=true
[23:03:23] [READBY_LOADED] msg 4319: readBy.count=0, readBy=[], isMyMsg=true
[23:03:23] [READBY_LOADED] msg 4318: readBy.count=0, readBy=[], isMyMsg=true
[23:03:23] [READBY_LOADED] msg 4317: readBy.count=1, readBy=["EDAD55A1-003F-415D-AA60-672B34B504FE"], isMyMsg=false
[23:03:23] [PENDING_UPLOAD] ⏭️ Skipped pending message id=4328 - already exists in server data
[23:03:23] [PENDING_UPLOAD] ⏭️ Skipped pending message id=-9 - already exists in server data
[23:03:23] [PENDING_UPLOAD] Final merged count: 3218 (server: 3218, kept pending: 0)
[23:03:23] [CHANNEL_SWITCH] 📊 chatRows.count = 3266
[23:03:23] ReloadData 15 (3218 messages loaded, 17 pending media)
[23:03:23] DOWNLOADIIING 1b1a78050ebe099b.jpg
[23:03:23] DOWNLOADIIING bae538c2a3076c11.heic
[23:03:23] DOWNLOADIIING ee42d57ffd8ab767.jpg
[23:03:23] DOWNLOADIIING 5cfd84d52271d308.heic
[23:03:23] DOWNLOADIIING 0f2dda66cccdeadf.heic
[23:03:23] DOWNLOADIIING 2a4c7380908d6595.jpg
[23:03:23] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:23] [CELL_UPLOAD] configure: msgId=4328, file=4204ae439e7ffebc.mov, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=0
[23:03:23] [CELL_UPLOAD] → has active progress=0.31923068450109643, setting uploading
[23:03:23] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.31923068450109643) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:23] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:23] [PULL_REFRESH] Loaded 3218 messages (first page), displaying 3218 for tab 0, hasMore: true
[23:03:23] ReloadData 15 (pull-to-refresh completed)
[23:03:23] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:03:23] [SEARCH] contentOffset.y=-88.66666666666667, topInset=40.0, pullDistance=48.66666666666667
[23:03:23] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:03:23] [SEARCH] topRefresh.isRefreshing=false
[23:03:23] [SEARCH] ❌ Pull distance 48.66666666666667 < threshold 80.0
[23:03:23] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:23] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:23] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.31961529706138936) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:23] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:23] ReloadData 14 (all 17 media thumbnails loaded) - applying tab 0 filtering
[23:03:24] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:24] [CELL_UPLOAD] configure: msgId=4328, file=4204ae439e7ffebc.mov, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=2
[23:03:24] [CELL_UPLOAD] → has active progress=0.31961529706138936, setting uploading
[23:03:24] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.31961529706138936) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:24] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:24] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:24] [CELL_UPLOAD] configure: msgId=4328, file=4204ae439e7ffebc.mov, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=2
[23:03:24] [CELL_UPLOAD] → has active progress=0.31961529706138936, setting uploading
[23:03:24] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.31961529706138936) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:24] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:24] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:24] [CELL_UPLOAD] configure: msgId=4328, file=4204ae439e7ffebc.mov, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=2
[23:03:24] [CELL_UPLOAD] → has active progress=0.31961529706138936, setting uploading
[23:03:24] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.31961529706138936) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:24] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:24] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:24] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:24] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:24] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:24] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.31999990962168234) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:24] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:24] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3203845221819753) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:24] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:24] [MENU] 🔍 dismissAnyExistingMenu called
[23:03:24] [MENU] ℹ️ No menu with tag 9999 found
[23:03:24] [MENU] ✅ dismissAnyExistingMenu completed
[23:03:24] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:03:24] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:03:24] [SEARCH] contentOffset.y=-40.0, topInset=40.0, pullDistance=-0.0
[23:03:24] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:03:24] [SEARCH] topRefresh.isRefreshing=false
[23:03:24] [SEARCH] ❌ Pull distance -0.0 < threshold 80.0
[23:03:24] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:24] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:24] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.32076913474226826) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:24] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:24] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:24] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:24] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3211537473025612) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:24] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:24] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:24] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:24] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3215383598628541) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:24] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:25] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:25] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:25] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3219229724231471) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:25] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:25] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:25] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:25] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.32230758498344003) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:25] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:25] [SERVER] Polling - attempting to reconnect...
[23:03:25] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:25] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:25] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.322692197543733) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:25] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:26] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:26] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:26] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.32307681010402595) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:26] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:26] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:26] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:26] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.32346142266431893) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:26] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:26] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:26] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:26] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.32384603522461186) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:26] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:26] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:26] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:26] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.32423064778490485) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:26] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:27] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:27] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:27] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3246152603451978) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:27] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:27] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:27] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:27] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.32499987290549076) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:27] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:27] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:27] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:27] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3253844854657837) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:27] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:27] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:27] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:27] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3257690980260767) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:27] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:28] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:28] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:28] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3261537105863696) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:28] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:28] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:28] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:28] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.32653832314666253) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:28] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:28] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:28] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:28] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3269229357069555) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:28] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:28] [CHUNKED_PROGRESS] 4204ae439e7ffebc.mov: chunk 5/13 - 25% (25.5/100.0 MB)
[23:03:28] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:28] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:28] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.32730754826724845) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:28] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:29] [CHUNKED_PROGRESS] 4204ae439e7ffebc.mov: chunk 5/13 - 25% (26.0/100.0 MB)
[23:03:29] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:29] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:29] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.32769216082754143) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:29] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:29] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:29] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:29] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.32807677338783436) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:29] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:29] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:29] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:29] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.32846138594812735) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:29] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:29] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:29] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:29] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3288459985084203) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:29] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:29] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:29] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:29] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.32923061106871326) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:29] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:30] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:30] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:30] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3296152236290062) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:30] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:30] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:30] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:30] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3299998361892992) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:30] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:30] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:30] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:30] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3303844487495921) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:30] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:30] [SERVER] Polling - attempting to reconnect...
[23:03:30] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:30] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:30] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.33076906130988515) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:30] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:31] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:31] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:31] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.331153673870178) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:31] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:31] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:31] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:31] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.33153828643047095) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:31] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:32] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:32] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:32] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.331922898990764) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:32] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:33] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:33] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:33] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.33230751155105687) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:33] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:33] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:33] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:33] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3326921241113499) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:33] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:34] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:34] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:34] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.33307673667164284) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:34] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:34] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:34] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:34] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3334613492319358) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:34] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:35] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:35] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:35] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.33384596179222875) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:35] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:35] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:35] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:35] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.33423057435252174) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:35] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:35] [SERVER] Polling - attempting to reconnect...
[23:03:35] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:35] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:35] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.33461518691281467) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:35] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:36] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:36] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:36] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.33499979947310765) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:36] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:36] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:36] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:36] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3353844120334006) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:36] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:36] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:36] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:36] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.33576902459369357) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:36] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:37] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:37] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:37] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3361536371539865) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:37] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:37] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:37] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:37] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3365382497142794) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:37] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:37] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:37] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:37] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3369228622745724) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:37] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:37] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:37] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:37] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.33730747483486534) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:37] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:38] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:38] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:38] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3376920873951583) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:38] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:38] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:38] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:38] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.33807669995545125) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:38] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:38] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:38] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:38] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.33846131251574424) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:38] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:38] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:38] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:38] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.33884592507603717) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:38] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:38] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:38] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:38] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.33923053763633015) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:38] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:38] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:38] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:38] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3396151501966231) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:38] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:39] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:39] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:39] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.339999762756916) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:39] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:39] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:39] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:39] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.340384375317209) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:39] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:39] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:39] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:39] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3407689878775019) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:39] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:39] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:39] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:39] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3411536004377949) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:39] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:39] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:39] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:39] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.34153821299808784) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:39] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:39] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:39] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:39] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.34230743811867376) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:39] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:40] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:40] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:40] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.34307666323925967) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:40] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:40] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:40] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:40] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.34346127579955266) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:40] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:40] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:40] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:40] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3442305009201386) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:40] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:40] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:40] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:40] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3446151134804315) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:40] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:40] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:40] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:40] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.34538433860101747) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:40] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:40] [SERVER] Polling - attempting to reconnect...
[23:03:40] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:40] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:40] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.34576895116131035) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:40] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:40] [CHUNKED_PROGRESS] 4204ae439e7ffebc.mov: chunk 5/13 - 50% (50.5/100.0 MB)
[23:03:40] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:40] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:40] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3465381762818963) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:40] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:41] [CHUNKED_PROGRESS] 4204ae439e7ffebc.mov: chunk 5/13 - 50% (51.0/100.0 MB)
[23:03:41] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:41] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:41] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3469227888421893) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:41] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:41] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:41] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:41] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3476920139627752) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:41] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:41] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:41] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:41] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.34807662652306814) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:41] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:41] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:41] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:41] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.34884585164365406) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:41] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:41] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:41] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:41] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.34923046420394704) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:41] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:41] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:41] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:41] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3499996893245329) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:41] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:41] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:41] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:41] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3503843018848259) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:41] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:42] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:42] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:42] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3511535270054118) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:42] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:42] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:42] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:42] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3519227521259977) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:42] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:42] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:42] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:42] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.35269197724658363) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:42] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:42] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:42] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:42] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.35307658980687656) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:42] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:42] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:42] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:42] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3538458149274625) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:42] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:42] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:42] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:42] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3546150400480484) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:42] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:43] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:43] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:43] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3553842651686343) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:43] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:43] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:43] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:43] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3561534902892202) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:43] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:43] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:43] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:43] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.35692271540980613) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:43] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:43] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:43] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:43] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3576919405303921) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:43] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:43] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:43] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:43] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.358076553090685) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:43] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:43] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:43] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:43] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.35884577821127095) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:43] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:44] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:44] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:44] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.35961500333185686) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:44] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:44] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:44] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:44] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3599996158921498) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:44] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:44] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:44] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:44] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3607688410127357) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:44] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:44] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:44] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:44] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3611534535730287) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:44] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:44] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:44] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:44] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3619226786936146) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:44] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:44] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:44] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:44] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.36230729125390754) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:44] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:45] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:45] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:45] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.36307651637449345) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:45] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:45] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:45] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:45] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3634611289347864) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:45] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:45] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:45] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:45] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3642303540553723) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:45] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:45] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:45] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:45] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3646149666156653) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:45] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:45] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:45] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:45] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3653841917362512) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:45] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:45] [SERVER] Polling - attempting to reconnect...
[23:03:45] [CHUNKED_PROGRESS] 4204ae439e7ffebc.mov: chunk 5/13 - 75% (75.5/100.0 MB)
[23:03:45] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:45] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:45] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3657688042965441) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:45] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:45] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:46] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:46] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.36653802941713004) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:46] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:46] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:46] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:46] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.36730725453771595) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:46] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:46] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:46] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:46] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.36807647965830187) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:46] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:46] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:46] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:46] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3684610922185948) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:46] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:46] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:46] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:46] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3688457047788878) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:46] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:46] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:46] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:46] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3692303173391807) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:46] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:46] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:46] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:46] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.36999954245976663) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:46] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:47] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:47] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:47] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.37076876758035254) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:47] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:47] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:47] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:47] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3711533801406456) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:47] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:47] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:47] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:47] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3719226052612315) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:47] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:47] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:47] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:47] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3723072178215244) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:47] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:47] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:47] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:47] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.37307644294211034) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:47] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:47] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:47] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:47] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.37346105550240327) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:47] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:48] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:48] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:48] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3742302806229892) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:48] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:48] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:48] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:48] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.37461489318328217) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:48] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:48] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:48] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:48] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3753841183038681) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:48] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:48] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:48] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:48] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.376153343424454) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:48] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:48] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:48] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:48] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.37692256854503986) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:48] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:48] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:48] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:48] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.37769179366562583) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:48] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:49] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:49] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:49] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.37807640622591876) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:49] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:49] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:49] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:49] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3784610187862117) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:49] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:49] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:49] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:49] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3792302439067976) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:49] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:49] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:49] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:49] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3799994690273835) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:49] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:49] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:49] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:49] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3803840815876765) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:49] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:49] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:49] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:49] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3811533067082624) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:49] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:50] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:50] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:50] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.38153791926855535) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:50] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:50] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:50] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:50] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.38230714438914126) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:50] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:50] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:50] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:50] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3826917569494342) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:50] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:50] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:50] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:50] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3834609820700201) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:50] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:50] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:50] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:50] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3838455946303131) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:50] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:50] [SERVER] Polling - attempting to reconnect...
[23:03:50] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:50] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:50] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.38461481975089906) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:50] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:50] [CHUNKED_PROGRESS] 4204ae439e7ffebc.mov: chunk 5/13 - 100% (100.0/100.0 MB)
[23:03:50] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:50] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:50] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.38461538461538464) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:50] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:51] [UPLOAD_RESPONSE] Started receiving response for task 6
[23:03:51] [UPLOAD_METRICS] Task 6 metrics:
[23:03:51] [UPLOAD_METRICS] Total time: 35.64s
[23:03:51] [UPLOAD_METRICS] Upload time: 34.92s
[23:03:51] [UPLOAD_METRICS] Response time: 0.00s
[23:03:51] [UPLOAD_METRICS] Network protocol: http/1.1
[23:03:51] [UPLOAD_METRICS] Proxy: no
[23:03:51] [UPLOAD_METRICS] Reused connection: yes
[23:03:51] [UPLOAD_COMPLETE] ========== Task Completed ==========
[23:03:51] [UPLOAD_COMPLETE] Task ID: 6
[23:03:51] [UPLOAD_COMPLETE] Task state: 3 (0=running, 1=suspended, 2=canceling, 3=completed)
[23:03:51] [CHUNKED_COMPLETE] ========== Chunk Task Completed ==========
[23:03:51] [CHUNKED_COMPLETE] Task ID: 6
[23:03:51] [CHUNKED_COMPLETE] Chunk: 5/13
[23:03:51] [CHUNKED_COMPLETE] Filename: 4204ae439e7ffebc.mov
[23:03:51] [CHUNKED_COMPLETE] HTTP Status: 200
[23:03:51] [CHUNKED_COMPLETE] Response: {"ok":true,"chunkIndex":4,"receivedChunks":5,"totalChunks":13,"progress":38.46,"message":"Chunk received"}
[23:03:51] [CHUNKED_COMPLETE] ✅ Chunk 5/13 complete (38.5%)
[23:03:51] [CHUNKED_UPLOAD] ▶️ uploadChunk called: chunk 5/13
[23:03:51] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:51] [CHUNKED_UPLOAD] Uploading chunk 6/13
[23:03:51] [CHUNKED_UPLOAD] Offset: 524288000 bytes
[23:03:51] [CHUNKED_UPLOAD] Size: 104857600 bytes (100.0 MB)
[23:03:51] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:51] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.38461538461538464) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:51] [CHUNKED_RESUME] Saved progress: chunk 5 completed
[23:03:51] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:51] [CHUNKED_UPLOAD] 📤 Sending chunk 5 via background session...
[23:03:51] [CHUNKED_UPLOAD] URL: https://crivello.dyndns.org:443/WebRTC/chat/upload_chunked.php
[23:03:51] [CHUNKED_UPLOAD] Body size: 104858370 bytes (100.0 MB)
[23:03:51] [CHUNKED_UPLOAD] Task 7 created for chunk 5
[23:03:51] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:51] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:51] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3880768976580212) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:51] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:52] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:52] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:52] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3892307353389001) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:52] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:52] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:52] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:52] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.38961534789919305) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:52] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:52] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:52] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:52] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.39038457301977897) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:52] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:53] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:53] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:53] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3919230232609508) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:53] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:53] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:53] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:53] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3923076358212437) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:53] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:53] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:53] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:53] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.39307686094182964) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:53] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:53] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:53] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:53] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3934614735021226) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:53] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:54] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:54] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:54] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.39384608606241556) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:54] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:54] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:54] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:54] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.39461531118300147) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:54] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:54] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:54] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:54] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3953845363035874) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:54] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:54] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:54] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:54] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3957691488638803) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:54] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:54] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:54] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:54] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.39653837398446623) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:54] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:54] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:54] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:54] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.39692298654475927) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:54] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:55] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:55] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:55] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3976922116653452) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:55] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:55] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:55] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:55] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.39846143678593104) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:55] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:55] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:55] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:55] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.39923066190651696) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:55] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:55] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:55] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:55] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.39961527446680994) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:55] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:55] [SERVER] Polling - attempting to reconnect...
[23:03:55] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:55] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:55] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.3999998870271029) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:55] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:55] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:55] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:55] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4007691121476888) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:55] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:56] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:56] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:56] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4011537247079818) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:56] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:56] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:56] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:56] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4015383372682747) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:56] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:56] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:56] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:56] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4019229498285677) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:56] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:56] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:56] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:56] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4023075623888606) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:56] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:56] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:56] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:56] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4026921749491536) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:56] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:56] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:56] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:56] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.40307678750944653) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:56] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:56] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:56] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:56] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.40346140006973946) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:56] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:57] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:57] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:57] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.40384601263003245) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:57] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:57] [CHUNKED_PROGRESS] 4204ae439e7ffebc.mov: chunk 6/13 - 25% (25.5/100.0 MB)
[23:03:57] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:57] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:57] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4042306251903254) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:57] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:57] [CHUNKED_PROGRESS] 4204ae439e7ffebc.mov: chunk 6/13 - 25% (26.0/100.0 MB)
[23:03:57] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:57] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:57] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.40461523775061836) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:57] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:57] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:57] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:57] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4049998503109113) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:57] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:57] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:57] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:57] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4053844628712043) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:57] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:57] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:57] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:57] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4057690754314972) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:57] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:57] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:57] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:57] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4061536879917902) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:57] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:58] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:58] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:58] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4065383005520831) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:58] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:58] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:58] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:58] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.40730752567266904) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:58] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:58] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:58] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:58] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.407692138232962) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:58] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:58] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:58] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:58] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4084613633535479) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:58] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:58] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:58] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:58] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4092305884741338) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:58] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:58] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:58] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:58] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.40961520103442683) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:59] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:59] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:59] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:59] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.41038442615501275) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:59] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:59] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:59] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:59] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4107690387153057) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:59] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:59] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:59] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:59] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4115382638358916) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:59] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:59] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:59] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:59] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4119228763961846) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:59] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:59] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:59] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:59] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4126921015167705) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:59] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:03:59] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:03:59] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:03:59] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4130767140770634) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:03:59] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:00] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:00] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:00] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.41384593919764934) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:00] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:00] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:00] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:00] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.41423055175794227) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:00] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:00] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:00] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:00] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4149997768785282) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:00] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:00] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:00] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:00] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.41538438943882117) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:00] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:00] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:00] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:00] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4161536145594071) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:00] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:00] [SERVER] Polling - attempting to reconnect...
[23:04:00] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:00] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:00] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4165382271197) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:00] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:00] [MENU] 🔍 dismissAnyExistingMenu called
[23:04:00] [MENU] ℹ️ No menu with tag 9999 found
[23:04:00] [MENU] ✅ dismissAnyExistingMenu completed
[23:04:00] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:04:00] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:04:00] [SEARCH] contentOffset.y=0.6666666666666666, topInset=40.0, pullDistance=-40.666666666666664
[23:04:00] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:04:00] [SEARCH] topRefresh.isRefreshing=false
[23:04:00] [SEARCH] ❌ Pull distance -40.666666666666664 < threshold 80.0
[23:04:00] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:00] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:00] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4173074522402859) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:00] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:01] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:01] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:01] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.41769206480057885) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:01] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:01] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:01] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:01] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.41846128992116477) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:01] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:01] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:01] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:01] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.41884590248145775) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:01] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:01] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:01] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:01] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.41961512760204367) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:01] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:01] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:01] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:01] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4199997401623366) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:01] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:01] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:01] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:01] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4207689652829225) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:01] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:01] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:01] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:01] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4211535778432155) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:01] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:02] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:02] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:02] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.42192280296380136) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:02] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:02] [MENU] 🔍 dismissAnyExistingMenu called
[23:04:02] [MENU] ℹ️ No menu with tag 9999 found
[23:04:02] [MENU] ✅ dismissAnyExistingMenu completed
[23:04:02] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:04:02] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:02] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:02] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.42230741552409434) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:02] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:02] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:02] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:02] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4230766406446803) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:02] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:02] [CHUNKED_PROGRESS] 4204ae439e7ffebc.mov: chunk 6/13 - 50% (51.0/100.0 MB)
[23:04:02] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:02] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:02] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4238458657652662) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:02] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:02] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:02] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:02] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.42423047832555916) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:02] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:02] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:04:02] [SEARCH] contentOffset.y=263.0, topInset=40.0, pullDistance=-303.0
[23:04:02] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:04:02] [SEARCH] topRefresh.isRefreshing=false
[23:04:02] [SEARCH] ❌ Pull distance -303.0 < threshold 80.0
[23:04:03] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:03] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:03] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.42499970344614507) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:03] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:03] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:03] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:03] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.42538431600643806) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:03] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:03] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:03] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:03] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.425768928566731) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:03] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:03] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:03] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:03] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.42615354112702397) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:03] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:03] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:03] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:03] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.42692276624760983) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:03] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:03] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:03] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:03] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.42769199136819575) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:03] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:03] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:03] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:03] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.42846121648878166) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:03] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:04] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:04] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:04] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.42884582904907464) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:04] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:04] [MENU] 🔍 dismissAnyExistingMenu called
[23:04:04] [MENU] ℹ️ No menu with tag 9999 found
[23:04:04] [MENU] ✅ dismissAnyExistingMenu completed
[23:04:04] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:04:04] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:04] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:04] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.42961505416966056) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:04] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:04] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:04] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:04] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4299996667299535) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:04] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:04] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:04] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:04] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4303842792902465) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:04] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:04] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:04] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:04] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4311535044108324) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:04] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:04] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:04] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:04] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4315381169711253) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:04] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:04] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:04:04] [SEARCH] contentOffset.y=297.0, topInset=40.0, pullDistance=-337.0
[23:04:04] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:04:04] [SEARCH] topRefresh.isRefreshing=false
[23:04:04] [SEARCH] ❌ Pull distance -337.0 < threshold 80.0
[23:04:05] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:05] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:05] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.43192272953141825) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:05] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:05] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:05] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:05] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.43230734209171123) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:05] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:05] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:05] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:05] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.43269195465200416) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:05] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:05] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:05] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:05] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.43307656721229715) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:05] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:05] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:05] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:05] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4334611797725901) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:05] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:05] [SERVER] Polling - attempting to reconnect...
[23:04:05] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:05] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:05] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.434230404893176) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:05] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:05] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:05] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:05] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.434615017453469) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:05] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:06] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:06] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:06] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4349996300137619) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:06] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:06] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:06] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:06] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.43538424257405484) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:06] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:06] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:06] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:06] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4357688551343478) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:06] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:06] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:06] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:06] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.43615346769464086) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:06] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:06] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:06] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:06] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4365380802549338) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:06] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:06] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:06] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:06] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.43692269281522667) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:06] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:06] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:06] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:06] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4373073053755197) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:06] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:06] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:06] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:06] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.43769191793581264) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:06] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:07] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:07] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:07] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4380765304961056) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:07] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:07] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:07] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:07] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.43846114305639855) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:07] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:07] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:07] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:07] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.43884575561669154) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:07] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:07] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:07] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:07] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.43923036817698446) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:07] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:07] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:07] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:07] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.43961498073727745) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:07] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:07] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:07] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:07] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4399995932975704) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:07] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:07] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:07] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:07] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4403842058578633) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:07] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:08] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:08] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:08] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4407688184181563) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:08] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:08] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:08] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:08] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4411534309784492) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:08] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:08] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:08] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:08] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4415380435387422) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:08] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:08] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:08] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:08] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.44192265609903514) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:08] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:08] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:08] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:08] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4423072686593281) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:08] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:08] [CHUNKED_PROGRESS] 4204ae439e7ffebc.mov: chunk 6/13 - 75% (75.5/100.0 MB)
[23:04:08] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:08] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:08] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.44269188121962105) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:08] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:08] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:08] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:08] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.44346110634020697) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:08] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:09] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:09] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:09] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.44384571890049995) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:09] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:09] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:09] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:09] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.44461494402108587) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:09] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:09] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:09] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:09] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4453841691416717) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:09] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:09] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:09] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:09] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4457687817019647) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:09] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:09] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:09] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:09] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.44615339426225764) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:09] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:09] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:09] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:09] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4465380068225506) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:09] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:10] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:10] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:10] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.44692261938284356) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:10] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:10] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:10] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:10] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.44730723194313654) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:10] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:10] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:10] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:10] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.44769184450342947) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:10] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:10] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:10] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:10] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.44807645706372246) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:10] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:10] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:10] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:10] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4484610696240154) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:10] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:10] [SERVER] Polling - attempting to reconnect...
[23:04:10] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:10] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:10] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4488456821843084) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:10] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:11] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:11] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:11] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4492302947446013) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:11] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:11] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:11] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:11] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.44961490730489434) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:11] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:11] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:11] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:11] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.44999951986518727) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:11] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:11] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:11] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:11] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.45038413242548014) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:11] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:11] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:11] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:11] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4511533575460661) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:11] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:11] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:11] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:11] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4515379701063591) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:11] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:11] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:11] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:11] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.45192258266665203) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:11] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:12] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:12] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:12] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.452307195226945) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:12] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:12] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:12] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:12] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.45269180778723794) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:12] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:12] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:12] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:12] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.45307642034753093) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:12] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:12] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:12] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:12] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.45346103290782386) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:12] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:12] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:12] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:12] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4538456454681168) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:12] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:12] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:12] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:12] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4542302580284098) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:12] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:12] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:12] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:12] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.45461487058870276) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:12] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:12] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:12] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:12] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4549994831489957) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:12] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:12] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:12] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:12] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4553840957092886) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:12] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:13] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:13] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:13] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4557687082695816) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:13] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:13] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:13] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:13] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.45615332082987453) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:13] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:13] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:13] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:13] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4565379333901675) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:13] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:13] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:13] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:13] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.45692254595046045) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:13] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:13] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:13] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:13] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.45730715851075343) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:13] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:13] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:13] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:13] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.45769177107104636) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:13] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:13] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:13] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:13] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.45807638363133935) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:13] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:14] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:14] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:14] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4584609961916323) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:14] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:14] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:14] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:14] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4592302213122182) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:14] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:14] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:14] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:14] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4596148338725111) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:14] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:14] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:14] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:14] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4599994464328041) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:14] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:14] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:14] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:14] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.46038405899309703) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:14] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:14] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:14] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:14] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.46076867155339) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:14] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:14] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:14] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:14] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.46115328411368295) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:14] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:15] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:15] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:15] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.46153789667397593) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:15] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:15] [CHUNKED_PROGRESS] 4204ae439e7ffebc.mov: chunk 6/13 - 100% (100.0/100.0 MB)
[23:04:15] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:15] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:15] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.46153846153846156) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:15] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:15] [SERVER] Polling - attempting to reconnect...
[23:04:16] [UPLOAD_RESPONSE] Started receiving response for task 7
[23:04:16] [UPLOAD_METRICS] Task 7 metrics:
[23:04:16] [UPLOAD_METRICS] Total time: 24.24s
[23:04:16] [UPLOAD_METRICS] Upload time: 23.44s
[23:04:16] [UPLOAD_METRICS] Response time: 0.00s
[23:04:16] [UPLOAD_METRICS] Network protocol: http/1.1
[23:04:16] [UPLOAD_METRICS] Proxy: no
[23:04:16] [UPLOAD_METRICS] Reused connection: yes
[23:04:16] [UPLOAD_COMPLETE] ========== Task Completed ==========
[23:04:16] [UPLOAD_COMPLETE] Task ID: 7
[23:04:16] [UPLOAD_COMPLETE] Task state: 3 (0=running, 1=suspended, 2=canceling, 3=completed)
[23:04:16] [CHUNKED_COMPLETE] ========== Chunk Task Completed ==========
[23:04:16] [CHUNKED_COMPLETE] Task ID: 7
[23:04:16] [CHUNKED_COMPLETE] Chunk: 6/13
[23:04:16] [CHUNKED_COMPLETE] Filename: 4204ae439e7ffebc.mov
[23:04:16] [CHUNKED_COMPLETE] HTTP Status: 200
[23:04:16] [CHUNKED_COMPLETE] Response: {"ok":true,"chunkIndex":5,"receivedChunks":6,"totalChunks":13,"progress":46.15,"message":"Chunk received"}
[23:04:16] [CHUNKED_COMPLETE] ✅ Chunk 6/13 complete (46.2%)
[23:04:16] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:16] [CHUNKED_UPLOAD] ▶️ uploadChunk called: chunk 6/13
[23:04:16] [CHUNKED_UPLOAD] Uploading chunk 7/13
[23:04:16] [CHUNKED_UPLOAD] Offset: 629145600 bytes
[23:04:16] [CHUNKED_UPLOAD] Size: 104857600 bytes (100.0 MB)
[23:04:16] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:16] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.46153846153846156) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:16] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:16] [CHUNKED_RESUME] Saved progress: chunk 6 completed
[23:04:16] [CHUNKED_UPLOAD] 📤 Sending chunk 6 via background session...
[23:04:16] [CHUNKED_UPLOAD] URL: https://crivello.dyndns.org:443/WebRTC/chat/upload_chunked.php
[23:04:16] [CHUNKED_UPLOAD] Body size: 104858370 bytes (100.0 MB)
[23:04:16] [CHUNKED_UPLOAD] Task 8 created for chunk 6
[23:04:16] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:16] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:16] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4630769117796334) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:16] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:16] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:16] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:16] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4634615243399263) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:16] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:16] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:16] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:16] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4638461369002193) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:16] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:16] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:16] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:16] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.46423074946051224) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:16] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:16] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:16] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:16] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4646153620208052) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:16] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:16] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:16] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:16] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.46499997458109815) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:16] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:17] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:17] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:17] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.46538458714139114) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:17] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:17] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:17] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:17] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.46576919970168407) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:17] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:17] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:17] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:17] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.46615381226197705) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:17] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:17] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:17] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:17] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4669230373825629) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:17] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:17] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:17] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:17] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4673076499428559) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:17] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:17] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:17] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:17] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4680768750634418) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:17] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:17] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:17] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:17] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.46846148762373474) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:17] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:18] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:18] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:18] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4688461001840277) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:18] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:18] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:18] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:18] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.46923071274432065) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:18] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:18] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:18] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:18] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.46961532530461364) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:18] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:18] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:18] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:18] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.46999993786490657) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:18] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:18] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:18] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:18] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.47038455042519955) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:18] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:18] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:18] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:18] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4707691629854925) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:18] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:18] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:18] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:18] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4715383881060784) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:18] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:19] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:19] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:19] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.47192300066637133) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:19] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:19] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:19] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:19] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4723076132266643) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:19] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:19] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:19] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:19] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.47269222578695724) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:19] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:19] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:19] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:19] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.47307683834725023) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:19] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:19] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:19] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:19] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.47346145090754316) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:19] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:19] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:19] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:19] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4738460634678362) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:19] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:19] [MENU] 🔍 dismissAnyExistingMenu called
[23:04:19] [MENU] ℹ️ No menu with tag 9999 found
[23:04:19] [MENU] ✅ dismissAnyExistingMenu completed
[23:04:19] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:04:19] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:19] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:19] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4742306760281291) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:19] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:19] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:04:19] [SEARCH] contentOffset.y=235.66666666666666, topInset=40.0, pullDistance=-275.66666666666663
[23:04:19] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:04:19] [SEARCH] topRefresh.isRefreshing=false
[23:04:19] [SEARCH] ❌ Pull distance -275.66666666666663 < threshold 80.0
[23:04:19] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:19] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:19] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4746152885884221) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:19] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:19] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:19] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:19] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.47499990114871504) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:19] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:20] [MENU] 🔍 dismissAnyExistingMenu called
[23:04:20] [MENU] ℹ️ No menu with tag 9999 found
[23:04:20] [MENU] ✅ dismissAnyExistingMenu completed
[23:04:20] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:04:20] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:20] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:20] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4753845137090079) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:20] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:20] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:20] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:20] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4761537388295939) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:20] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:20] [SEARCH] handleTopRefresh called - tab=0, isSearchBarVisible=false
[23:04:20] [SEARCH] 🔍 First pull on Tab 0 - showing search bar instead of refresh
[23:04:20] [SEARCH] showSearchBar() called - animated=true, isSearchBarVisible=false
[23:04:20] [SEARCH] ✅ Setting isSearchBarVisible = true
[23:04:20] [SEARCH] chatSearchBar is nil? false
[23:04:20] [SEARCH] Applied theme: day
[23:04:20] [SEARCH] Adjusting table contentInset.top by +56.0
[23:04:20] [SEARCH] Table contentInset.top: 40.0 -> 96.0
[23:04:20] [SEARCH] Focusing search field
[23:04:20] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:20] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:20] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4769229639501798) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:20] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:20] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:20] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:20] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4776921890707657) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:20] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:20] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:04:20] [SEARCH] contentOffset.y=-73.66666666666667, topInset=96.0, pullDistance=-22.33333333333333
[23:04:20] [SEARCH] threshold=80.0, isSearchBarVisible=true
[23:04:20] [SEARCH] topRefresh.isRefreshing=false
[23:04:20] [SEARCH] ❌ Pull distance -22.33333333333333 < threshold 80.0
[23:04:20] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:20] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:20] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4780768016310587) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:20] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:20] [SERVER] Polling - attempting to reconnect...
[23:04:20] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:20] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:20] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.47846141419135163) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:20] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:21] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:21] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:21] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.47961525187223053) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:21] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:21] [MENU] 🔍 dismissAnyExistingMenu called
[23:04:21] [MENU] ℹ️ No menu with tag 9999 found
[23:04:21] [MENU] ✅ dismissAnyExistingMenu completed
[23:04:21] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=true, tab=0
[23:04:21] [SEARCH] 🔽 Hiding search bar (user started scrolling)
[23:04:21] [SEARCH] hideSearchBar() called - animated=true, isSearchBarVisible=true
[23:04:21] [SEARCH] ✅ Setting isSearchBarVisible = false
[23:04:21] [SEARCH] Adjusting table contentInset.top by -56.0
[23:04:21] [SEARCH] handleTopRefresh called - tab=0, isSearchBarVisible=false
[23:04:21] [SEARCH] 🔍 First pull on Tab 0 - showing search bar instead of refresh
[23:04:21] [SEARCH] showSearchBar() called - animated=true, isSearchBarVisible=false
[23:04:21] [SEARCH] ✅ Setting isSearchBarVisible = true
[23:04:21] [SEARCH] chatSearchBar is nil? false
[23:04:21] [SEARCH] Applied theme: day
[23:04:21] [SEARCH] Adjusting table contentInset.top by +56.0
[23:04:21] [SEARCH] Table contentInset.top: 40.0 -> 96.0
[23:04:21] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:21] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:21] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4803844769928164) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:21] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:21] [SEARCH] handleTopRefresh called - tab=0, isSearchBarVisible=true
[23:04:21] [CHAT] top pull-to-refresh triggered on tab 0
[23:04:21] [CHANNEL_SWITCH] 📡 Fetching URL: https://crivello.dyndns.org:443/WebRTC/chat/chat_get_messages.php?viewer=1&session_id=ILUIWU&mark_read=0&viewer_id=EDAD55A1-003F-415D-AA60-672B34B504FE
[23:04:21] [SEARCH] Focusing search field
[23:04:21] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:04:21] [SEARCH] contentOffset.y=-223.33333333333334, topInset=156.0, pullDistance=67.33333333333334
[23:04:21] [SEARCH] threshold=80.0, isSearchBarVisible=true
[23:04:21] [SEARCH] topRefresh.isRefreshing=true
[23:04:21] [SEARCH] ❌ Pull distance 67.33333333333334 < threshold 80.0
[23:04:21] [CHUNKED_PROGRESS] 4204ae439e7ffebc.mov: chunk 7/13 - 25% (25.5/100.0 MB)
[23:04:21] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:21] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:21] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4811537021134023) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:21] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:21] [CHUNKED_PROGRESS] 4204ae439e7ffebc.mov: chunk 7/13 - 25% (26.0/100.0 MB)
[23:04:21] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:21] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:21] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4815383146736953) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:21] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:22] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:22] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:22] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4819229272339882) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:22] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:22] [MENU] 🔍 dismissAnyExistingMenu called
[23:04:22] [MENU] ℹ️ No menu with tag 9999 found
[23:04:22] [MENU] ✅ dismissAnyExistingMenu completed
[23:04:22] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=true, tab=0
[23:04:22] [SEARCH] 🔽 Hiding search bar (user started scrolling)
[23:04:22] [SEARCH] hideSearchBar() called - animated=true, isSearchBarVisible=true
[23:04:22] [SEARCH] ✅ Setting isSearchBarVisible = false
[23:04:22] [SEARCH] Adjusting table contentInset.top by -56.0
[23:04:22] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:04:22] [SEARCH] contentOffset.y=-125.0, topInset=100.0, pullDistance=25.0
[23:04:22] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:04:22] [SEARCH] topRefresh.isRefreshing=true
[23:04:22] [SEARCH] ❌ Pull distance 25.0 < threshold 80.0
[23:04:23] [PENDING_UPLOAD] Found pending message: id=4328, file=4204ae439e7ffebc.mov, uploadStatus=2
[23:04:23] [PENDING_UPLOAD] Found pending message: id=-9, file=c8f0aac386a60643.jpg, uploadStatus=2
[23:04:23] [PENDING_UPLOAD] Total pending upload messages: 2
[23:04:23] [PENDING_UPLOAD] Preserved 2 pending messages before server refresh
[23:04:23] [PENDING_UPLOAD] Reinserting 2 pending messages
[23:04:23] [PENDING_UPLOAD] ✅ Reinserted message 4328
[23:04:23] [PENDING_UPLOAD] ✅ Reinserted message -9
[23:04:23] [MENU] 🔍 dismissAnyExistingMenu called
[23:04:23] [MENU] ℹ️ No menu with tag 9999 found
[23:04:23] [MENU] ✅ dismissAnyExistingMenu completed
[23:04:23] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:04:23] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:04:23] [SEARCH] contentOffset.y=5.333333333333333, topInset=100.0, pullDistance=-105.33333333333333
[23:04:23] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:04:23] [SEARCH] topRefresh.isRefreshing=true
[23:04:23] [SEARCH] ❌ Pull distance -105.33333333333333 < threshold 80.0
[23:04:23] DOWNLOADIIING t_66e5f4c7c82fef18.jpg
[23:04:23] DOWNLOADIIING t_97828ef5de49a612.jpg
[23:04:23] [CHANNEL_SWITCH] 📊 About to set loaded messages. Count=3218
[23:04:23] [CHANNEL_SWITCH] 📊 Setting allMessagesWithReadBy = 3218 msgs
[23:04:23] [READBY_LOADED] msg 4328: readBy.count=0, readBy=[], isMyMsg=true
[23:04:23] [READBY_LOADED] msg 4327: readBy.count=0, readBy=[], isMyMsg=true
[23:04:23] [READBY_LOADED] msg 4319: readBy.count=0, readBy=[], isMyMsg=true
[23:04:23] [READBY_LOADED] msg 4318: readBy.count=0, readBy=[], isMyMsg=true
[23:04:23] [READBY_LOADED] msg 4317: readBy.count=1, readBy=["EDAD55A1-003F-415D-AA60-672B34B504FE"], isMyMsg=false
[23:04:23] [PENDING_UPLOAD] ⏭️ Skipped pending message id=4328 - already exists in server data
[23:04:23] [PENDING_UPLOAD] ⏭️ Skipped pending message id=-9 - already exists in server data
[23:04:23] [PENDING_UPLOAD] Final merged count: 3218 (server: 3218, kept pending: 0)
[23:04:23] [CHANNEL_SWITCH] 📊 chatRows.count = 3266
[23:04:23] ReloadData 15 (3218 messages loaded, 17 pending media)
[23:04:23] DOWNLOADIIING 1b1a78050ebe099b.jpg
[23:04:23] DOWNLOADIIING bae538c2a3076c11.heic
[23:04:23] DOWNLOADIIING ee42d57ffd8ab767.jpg
[23:04:23] DOWNLOADIIING 5cfd84d52271d308.heic
[23:04:23] DOWNLOADIIING 0f2dda66cccdeadf.heic
[23:04:23] DOWNLOADIIING 2a4c7380908d6595.jpg
[23:04:24] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:24] [CELL_UPLOAD] configure: msgId=4328, file=4204ae439e7ffebc.mov, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=0
[23:04:24] [CELL_UPLOAD] → has active progress=0.4819229272339882, setting uploading
[23:04:24] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4819229272339882) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:24] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:24] [PULL_REFRESH] Loaded 3218 messages (first page), displaying 3218 for tab 0, hasMore: true
[23:04:24] ReloadData 15 (pull-to-refresh completed)
[23:04:24] ReloadData 14 (all 17 media thumbnails loaded) - applying tab 0 filtering
[23:04:24] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:24] [CELL_UPLOAD] configure: msgId=4328, file=4204ae439e7ffebc.mov, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=0
[23:04:24] [CELL_UPLOAD] → has active progress=0.4819229272339882, setting uploading
[23:04:24] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4819229272339882) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:24] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:24] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:24] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:24] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4823075397942812) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:24] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:25] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:25] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:25] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.48269215235457413) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:25] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:25] [SERVER] Polling - attempting to reconnect...
[23:04:25] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:25] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:25] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4830767649148671) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:25] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:27] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:27] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:27] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.48346137747516005) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:27] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:28] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:28] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:28] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.48384599003545303) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:28] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:28] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:28] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:28] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.48423060259574596) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:28] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:29] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:29] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:29] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.48461521515603895) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:29] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:29] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:29] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:29] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4849998277163319) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:29] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:30] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:30] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:30] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4853844402766248) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:30] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:30] [SERVER] Polling - attempting to reconnect...
[23:04:30] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:30] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:30] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4857690528369178) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:30] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:31] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:31] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:31] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4861536653972107) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:31] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:31] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:31] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:31] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4865382779575037) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:31] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:31] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:31] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:31] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.48692289051779664) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:31] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:32] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:32] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:32] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4873075030780897) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:32] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:32] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:32] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:32] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4880767281986756) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:32] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:32] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:32] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:32] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4888459533192615) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:32] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:32] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:32] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:32] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.48923056587955444) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:32] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:32] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:32] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:32] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.48999979100014035) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:32] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:33] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:33] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:33] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4903844035604333) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:33] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:33] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:33] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:33] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4911536286810192) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:33] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:33] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:33] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:33] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4915382412413122) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:33] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:33] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:33] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:33] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4923074663618981) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:33] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:33] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:33] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:33] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.492692078922191) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:33] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:33] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:33] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:33] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.49346130404277694) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:33] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:33] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:33] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:33] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.49384591660306987) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:33] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:34] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:34] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:34] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.49423052916336285) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:34] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:34] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:34] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:34] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.49499975428394877) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:34] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:34] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:34] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:34] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4957689794045347) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:34] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:34] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:34] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:34] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4961535919648276) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:34] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:34] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:34] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:34] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4969228170854135) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:34] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:34] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:34] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:34] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4973074296457065) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:34] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:34] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:34] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:34] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4980766547662924) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:34] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:35] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:35] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:35] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4988458798868783) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:35] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:35] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:35] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:35] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.49923049244717127) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:35] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:35] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:35] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:35] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.4996151050074642) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:35] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:35] [CHUNKED_PROGRESS] 4204ae439e7ffebc.mov: chunk 7/13 - 50% (50.5/100.0 MB)
[23:04:35] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:35] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:35] [VIDEO_DIRECT] 📊 Main upload progress: 50%
[23:04:35] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5003843301280502) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:35] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:35] [CHUNKED_PROGRESS] 4204ae439e7ffebc.mov: chunk 7/13 - 50% (51.0/100.0 MB)
[23:04:35] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:35] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:35] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5007689426883432) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:35] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:35] [SERVER] Polling - attempting to reconnect...
[23:04:35] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:35] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:35] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.501538167808929) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:35] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:36] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:36] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:36] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.501922780369222) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:36] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:36] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:36] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:36] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5026920054898079) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:36] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:36] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:36] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:36] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5030766180501008) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:36] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:36] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:36] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:36] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5038458431706867) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:36] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:36] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:36] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:36] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5042304557309797) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:36] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:36] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:36] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:36] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5046150682912727) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:36] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:37] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:37] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:37] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5053842934118585) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:37] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:37] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:37] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:37] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5057689059721515) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:37] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:37] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:37] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:37] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5065381310927375) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:37] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:37] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:37] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:37] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5069227436530304) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:37] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:37] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:37] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:37] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5076919687736163) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:37] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:37] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:37] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:37] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5084611938942023) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:37] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:38] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:38] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:38] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5088458064544952) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:38] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:38] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:38] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:38] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5096150315750811) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:38] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:38] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:38] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:38] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5099996441353741) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:38] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:38] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:38] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:38] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.51076886925596) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:38] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:38] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:38] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:38] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.511153481816253) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:38] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:38] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:38] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:38] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5119227069368388) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:38] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:39] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:39] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:39] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5126919320574248) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:39] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:39] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:39] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:39] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5130765446177178) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:39] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:39] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:39] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:39] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5138457697383036) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:39] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:39] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:39] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:39] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5142303822985966) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:39] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:39] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:39] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:39] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5149996074191825) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:39] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:39] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:39] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:39] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5157688325397685) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:39] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:40] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:40] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:40] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5165380576603543) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:40] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:40] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:40] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:40] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5169226702206473) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:40] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:40] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:40] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:40] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5173072827809402) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:40] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:40] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:40] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:40] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5180765079015262) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:40] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:40] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:40] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:40] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.518845733022112) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:40] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:40] [SERVER] Polling - attempting to reconnect...
[23:04:40] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:40] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:40] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.519230345582405) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:40] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:41] [CHUNKED_PROGRESS] 4204ae439e7ffebc.mov: chunk 7/13 - 75% (76.0/100.0 MB)
[23:04:41] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:41] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:41] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.519999570702991) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:41] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:41] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:41] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:41] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5207687958235769) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:41] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:41] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:41] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:41] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5215380209441628) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:41] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:41] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:41] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:41] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5223072460647487) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:41] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:41] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:41] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:41] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5226918586250416) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:41] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:41] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:41] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:41] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5234610837456276) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:41] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:42] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:42] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:42] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5238456963059205) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:42] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:42] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:42] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:42] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5246149214265065) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:42] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:42] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:42] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:42] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5249995339867994) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:42] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:42] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:42] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:42] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5257687591073853) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:42] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:42] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:42] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:42] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5261533716676783) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:42] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:42] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:42] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:42] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5269225967882641) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:42] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:43] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:43] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:43] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5273072093485571) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:43] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:43] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:43] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:43] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.528076434469143) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:43] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:43] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:43] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:43] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.528461047029436) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:43] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:43] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:43] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:43] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5292302721500219) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:43] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:43] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:43] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:43] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5296148847103148) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:43] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:43] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:43] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:43] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5303841098309008) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:43] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:43] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:43] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:43] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5307687223911937) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:43] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:44] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:44] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:44] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5315379475117796) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:44] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:44] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:44] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:44] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5319225600720726) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:44] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:44] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:44] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:44] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5326917851926585) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:44] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:44] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:44] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:44] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5334610103132444) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:44] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:44] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:44] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:44] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5342302354338304) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:44] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:44] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:44] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:44] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5349994605544163) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:44] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:45] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:45] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:45] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5353840731147093) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:45] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:45] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:45] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:45] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5361532982352951) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:45] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:45] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:45] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:45] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5365379107955881) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:45] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:45] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:45] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:45] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5369225233558811) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:45] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:45] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:45] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:45] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.537307135916174) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:45] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:45] [SERVER] Polling - attempting to reconnect...
[23:04:45] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:45] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:45] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.537691748476467) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:45] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:45] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:45] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:45] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5384609735970529) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:45] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:46] [CHUNKED_PROGRESS] 4204ae439e7ffebc.mov: chunk 7/13 - 100% (100.0/100.0 MB)
[23:04:46] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:46] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:46] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5384615384615384) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:46] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:50] [UPLOAD_RESPONSE] Started receiving response for task 8
[23:04:50] [UPLOAD_METRICS] Task 8 metrics:
[23:04:50] [UPLOAD_METRICS] Total time: 34.15s
[23:04:50] [UPLOAD_METRICS] Upload time: 29.89s
[23:04:50] [UPLOAD_METRICS] Response time: 0.00s
[23:04:50] [UPLOAD_METRICS] Network protocol: http/1.1
[23:04:50] [UPLOAD_METRICS] Proxy: no
[23:04:50] [UPLOAD_METRICS] Reused connection: yes
[23:04:50] [UPLOAD_COMPLETE] ========== Task Completed ==========
[23:04:50] [UPLOAD_COMPLETE] Task ID: 8
[23:04:50] [UPLOAD_COMPLETE] Task state: 3 (0=running, 1=suspended, 2=canceling, 3=completed)
[23:04:50] [CHUNKED_COMPLETE] ========== Chunk Task Completed ==========
[23:04:50] [CHUNKED_COMPLETE] Task ID: 8
[23:04:50] [CHUNKED_COMPLETE] Chunk: 7/13
[23:04:50] [CHUNKED_COMPLETE] Filename: 4204ae439e7ffebc.mov
[23:04:50] [CHUNKED_COMPLETE] HTTP Status: 200
[23:04:50] [CHUNKED_COMPLETE] Response: {"ok":true,"chunkIndex":6,"receivedChunks":7,"totalChunks":13,"progress":53.85,"message":"Chunk received"}
[23:04:50] [CHUNKED_COMPLETE] ✅ Chunk 7/13 complete (53.8%)
[23:04:50] [CHUNKED_UPLOAD] ▶️ uploadChunk called: chunk 7/13
[23:04:50] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:50] [CHUNKED_UPLOAD] Uploading chunk 8/13
[23:04:50] [CHUNKED_UPLOAD] Offset: 734003200 bytes
[23:04:50] [CHUNKED_UPLOAD] Size: 104857600 bytes (100.0 MB)
[23:04:50] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:50] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5384615384615384) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:50] [CHUNKED_RESUME] Saved progress: chunk 7 completed
[23:04:50] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:50] [CHUNKED_UPLOAD] 📤 Sending chunk 7 via background session...
[23:04:50] [CHUNKED_UPLOAD] URL: https://crivello.dyndns.org:443/WebRTC/chat/upload_chunked.php
[23:04:50] [CHUNKED_UPLOAD] Body size: 104858370 bytes (100.0 MB)
[23:04:50] [CHUNKED_UPLOAD] Task 9 created for chunk 7
[23:04:50] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:50] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:50] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5399999887027103) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:50] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:50] [SERVER] Polling - attempting to reconnect...
[23:04:50] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:50] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:50] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5407692138232962) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:50] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:50] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:50] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:50] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5411538263835891) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:50] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:51] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:51] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:51] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5419230515041751) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:51] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:51] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:51] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:51] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5426922766247609) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:51] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:51] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:51] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:51] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5430768891850539) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:51] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:51] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:51] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:51] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5438461143056398) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:51] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:51] [CENTER_CONTENT] boundsSize: (0.0, 0.0), contentSize: (440.0, 956.0)
[23:04:51] [CENTER_CONTENT] topSafeArea: 0.0, controlsHeight: 76.0, visibleHeight: -76.0
[23:04:51] [CENTER_CONTENT] Content larger than visible - Setting insets: UIEdgeInsets(top: 0.0, left: 0.0, bottom: 76.0, right: 0.0)
[23:04:51] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:51] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:51] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5446153394262258) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:51] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:52] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:52] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:52] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5449999519865187) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:52] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:52] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:52] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:52] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5457691771071047) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:52] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:52] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:52] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:52] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5461537896673976) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:52] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:52] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:52] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:52] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5465384022276906) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:52] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:52] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:52] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:52] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5469230147879836) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:52] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:52] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:52] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:52] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5473076273482765) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:52] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:52] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:52] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:52] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5476922399085694) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:52] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:53] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:53] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:53] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5480768524688624) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:53] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:53] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:53] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:53] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5484614650291554) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:53] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:54] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:54] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:54] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5488460775894483) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:54] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:54] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:54] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:54] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5492306901497412) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:54] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:55] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:55] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:55] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5496153027100342) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:55] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:55] [SERVER] Polling - attempting to reconnect...
[23:04:55] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:55] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:55] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5499999152703272) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:55] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:55] [MENU] 🔍 dismissAnyExistingMenu called
[23:04:55] [MENU] ℹ️ No menu with tag 9999 found
[23:04:55] [MENU] ✅ dismissAnyExistingMenu completed
[23:04:55] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:04:55] [SEARCH] handleTopRefresh called - tab=0, isSearchBarVisible=false
[23:04:55] [SEARCH] 🔍 First pull on Tab 0 - showing search bar instead of refresh
[23:04:55] [SEARCH] showSearchBar() called - animated=true, isSearchBarVisible=false
[23:04:55] [SEARCH] ✅ Setting isSearchBarVisible = true
[23:04:55] [SEARCH] chatSearchBar is nil? false
[23:04:55] [SEARCH] Applied theme: day
[23:04:55] [SEARCH] Adjusting table contentInset.top by +56.0
[23:04:55] [SEARCH] Table contentInset.top: 40.0 -> 96.0
[23:04:55] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:04:55] [SEARCH] contentOffset.y=-170.33333333333334, topInset=96.0, pullDistance=74.33333333333334
[23:04:55] [SEARCH] threshold=80.0, isSearchBarVisible=true
[23:04:55] [SEARCH] topRefresh.isRefreshing=false
[23:04:55] [SEARCH] ❌ Pull distance 74.33333333333334 < threshold 80.0
[23:04:55] [SEARCH] Focusing search field
[23:04:56] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:56] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:56] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5503845278306201) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:56] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:56] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:56] [CELL_UPLOAD] configure: msgId=4328, file=4204ae439e7ffebc.mov, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=2
[23:04:56] [CELL_UPLOAD] → has active progress=0.5503845278306201, setting uploading
[23:04:56] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5503845278306201) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:56] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:56] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:56] [CELL_UPLOAD] configure: msgId=4328, file=4204ae439e7ffebc.mov, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=2
[23:04:56] [CELL_UPLOAD] → has active progress=0.5503845278306201, setting uploading
[23:04:56] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5503845278306201) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:56] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:56] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:56] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:56] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.5507691403909131) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:56] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:57] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:57] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:57] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.551153752951206) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:57] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:57] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:04:57] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:04:57] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.551538365511499) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:04:57] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:04:57] [LIFECYCLE] App resigning active - cleared crash flag
[23:04:57] [SECURITY] sceneDidEnterBackground - isAuthenticated=true
[23:04:57] [SECURITY] Saved background timestamp
[23:04:57] [LIFECYCLE] App entering background - cleared crash flag
[23:04:57] [CLIENT_SIG] Disconnecting
[23:04:57] [LIFECYCLE] App entering background - disconnecting connections and stopping audio
[23:04:57] [WS] stopSignalingAndPeer called - isQueryOnly=true, connectionStr=iosILUIWU, wsState=3
[23:04:57] [WS] Canceling WebSocket for query connection to iosILUIWU
[23:04:57] In cleanupPeer
[23:04:57] In cleanupPeer
[23:04:57] [LIFECYCLE] WebRTC audio disabled
[23:04:57] [LIFECYCLE] AVAudioSession deactivated
[23:04:57] [LIFECYCLE] All connections stopped
[23:04:57] [CLIENT_SIG] WebSocket closed with code 1001
[23:04:57] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1)
[23:04:57] [CLIENT_SIG] Receive error: Error Domain=NSPOSIXErrorDomain Code=57 "Socket is not connected" UserInfo={NSErrorFailingURLStringKey=http://crivello.dyndns.org:8081/, NSErrorFailingURLKey=http://crivello.dyndns.org:8081/}
[23:04:57] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2)
[23:04:57] [SERVER] Stopped reconnect polling
[23:04:57] Will request stop of video 0
[23:04:57] Will request stop of video 0
[23:04:57] [WS] URLSession invalidated successfully
[23:04:57] [PIP] Removing 0 tracks from PiP for connection 0
[23:04:57] [PIP] ✅ All tracks removed for connection 0
[23:04:57] [PIP] Removing 0 tracks from PiP for connection 0
[23:04:57] [PIP] ✅ All tracks removed for connection 0
[23:05:31] [CLIENT_SIG] Connecting to session ILUIWU as Esra (EDAD55A1-003F-415D-AA60-672B34B504FE)
[23:05:31] [PUSH] Silent push received
[23:05:31] [PUSH_EMBED] No embedded message_data in notification
[23:05:31] [PUSH] No embedded data, pre-loading messages from server
[23:05:31] [PUSH_PRELOAD] Fetching messages for instant display cache
[23:05:31] [WS] Connection failed: The operation couldn’t be completed. Software caused connection abort
[23:05:31] [WS] Query connection failed - cleaning up all agent connections and views
[23:05:31] [CLEANUP] ========================================
[23:05:31] [CLEANUP] Cleaning up all agent connections and views
[23:05:31] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:05:31] [CLEANUP] Stopped and removed 0 video connections
[23:05:31] [CLEANUP] Removed 0 video views
[23:05:31] [CLEANUP] Removed 0 feed scroll views
[23:05:31] [CLEANUP] Removed 0 status labels
[23:05:31] [CLEANUP] Reset agent query state
[23:05:31] [CLEANUP] Updated page indicator
[23:05:31] [CLEANUP] Rebuilt video layout
[23:05:31] [CLEANUP] ✅ All agent connections and views cleaned up
[23:05:31] [CLEANUP] ========================================
[23:05:31] [SERVER] Skipping reconnect polling - app is in background
[23:05:31] [CLIENT_SIG] WebSocket opened
[23:05:31] [CLIENT_SIG] HELLO sent as client for session ILUIWU
[23:05:31] [CLIENT_SIG] Connected! clientId=IUjVIpTFnxMQ8Gjl
[23:05:32] [CLIENT_SIG] Received 1 clients for session 'ILUIWU' (my session: 'ILUIWU')
[23:05:32] [CLIENT_SIG] - Esra (EDAD55A1-003F-415D-AA60-672B34B504FE)
[23:05:32] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[23:05:32] [WS] Opening session at ws://crivello.dyndns.org:8081/
[23:05:33] [CLIENT_SIG] Client connected: Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) on session 'ILUIWU' (my session: 'ILUIWU')
[23:05:33] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[23:05:33] HELLO → sent (cached token, role=query)
[23:05:33] [SIG] hello_ok received for query connection - ready to query agents
[23:05:33] [SIG] get_agents request sent for sessionId=ILUIWU
[23:05:33] [SIG] get_agents request sent for sessionId=iosILUIWU
[23:05:33] [SERVER] Stopped reconnect polling
[23:05:33] [SIG] agents_list received: []
[23:05:33] [SIG] agents_list received: []
[23:05:33] [PUSH_PRELOAD] Fetched 3218 messages - caching for instant display
[23:05:37] [PUSH_PRELOAD] ⚡ Pre-cached 3218 messages for instant display
[23:05:38] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[23:05:38] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_id"): 4328, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
[23:05:38] [PUSH] Parsed message_id: 4328
[23:05:38] [PUSH] Parsed operation_type: 3
[23:05:38] [PUSH] Taking direct action: opType=3, messageId=4328
[23:05:38] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=4328
[23:05:45] [UPLOAD] Background session com.eye.background.upload finished
[23:05:45] [WS] WebSocket task completed with error - isQueryOnly=true: The request timed out.
[23:05:45] [WS] Query connection error - cleaning up all agent connections and views
[23:05:45] [CLEANUP] ========================================
[23:05:45] [CLEANUP] Cleaning up all agent connections and views
[23:05:45] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:05:45] [CLEANUP] Stopped and removed 0 video connections
[23:05:45] [CLEANUP] Removed 0 video views
[23:05:45] [CLEANUP] Removed 0 feed scroll views
[23:05:45] [CLEANUP] Removed 0 status labels
[23:05:45] [CLEANUP] Reset agent query state
[23:05:45] [CLEANUP] Updated page indicator
[23:05:45] [CLEANUP] Rebuilt video layout
[23:05:45] [CLEANUP] ✅ All agent connections and views cleaned up
[23:05:45] [CLEANUP] ========================================
[23:05:45] [SERVER] Skipping reconnect polling - app is in background
[23:05:45] [CLIENT_SIG] Receive error: Error Domain=NSPOSIXErrorDomain Code=53 "Software caused connection abort" UserInfo={NSDescription=Software caused connection abort}
[23:05:45] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1)
[23:05:45] [CLIENT_SIG] Task completed with error: Error Domain=NSPOSIXErrorDomain Code=53 "Software caused connection abort" UserInfo={NSDescription=Software caused connection abort, _NSURLErrorRelatedURLSessionTaskErrorKey=(
"LocalWebSocketTask <41381172-0D8D-477F-AE3C-D005BA407B23>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <41381172-0D8D-477F-AE3C-D005BA407B23>.<1>}
[23:05:45] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2)
[23:05:45] [WS] Connection failed: The operation couldn’t be completed. Software caused connection abort
[23:05:45] [WS] Query connection failed - cleaning up all agent connections and views
[23:05:45] [CLEANUP] ========================================
[23:05:45] [CLEANUP] Cleaning up all agent connections and views
[23:05:45] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:05:45] [CLEANUP] Stopped and removed 0 video connections
[23:05:45] [CLEANUP] Removed 0 video views
[23:05:45] [CLEANUP] Removed 0 feed scroll views
[23:05:45] [CLEANUP] Removed 0 status labels
[23:05:45] [CLEANUP] Reset agent query state
[23:05:45] [CLEANUP] Updated page indicator
[23:05:45] [CLEANUP] Rebuilt video layout
[23:05:45] [CLEANUP] ✅ All agent connections and views cleaned up
[23:05:45] [CLEANUP] ========================================
[23:05:45] [SERVER] Skipping reconnect polling - app is in background
[23:05:45] [UPLOAD_RESPONSE] Started receiving response for task 9
[23:05:45] [UPLOAD_METRICS] Task 9 metrics:
[23:05:45] [UPLOAD_METRICS] Total time: 55.28s
[23:05:45] [UPLOAD_METRICS] Upload time: 54.61s
[23:05:45] [UPLOAD_METRICS] Response time: 0.00s
[23:05:45] [UPLOAD_METRICS] Network protocol: http/1.1
[23:05:45] [UPLOAD_METRICS] Proxy: no
[23:05:45] [UPLOAD_METRICS] Reused connection: yes
[23:05:45] [UPLOAD_COMPLETE] ========== Task Completed ==========
[23:05:45] [UPLOAD_COMPLETE] Task ID: 9
[23:05:45] [UPLOAD_COMPLETE] Task state: 3 (0=running, 1=suspended, 2=canceling, 3=completed)
[23:05:45] [CHUNKED_COMPLETE] ========== Chunk Task Completed ==========
[23:05:45] [CHUNKED_COMPLETE] Task ID: 9
[23:05:45] [CHUNKED_COMPLETE] Chunk: 8/13
[23:05:45] [CHUNKED_COMPLETE] Filename: 4204ae439e7ffebc.mov
[23:05:45] [CHUNKED_COMPLETE] HTTP Status: 200
[23:05:45] [CHUNKED_COMPLETE] Response: {"ok":true,"chunkIndex":7,"receivedChunks":8,"totalChunks":13,"progress":61.54,"message":"Chunk received"}
[23:05:45] [CHUNKED_COMPLETE] ✅ Chunk 8/13 complete (61.5%)
[23:05:45] [CHUNKED_UPLOAD] ▶️ uploadChunk called: chunk 8/13
[23:05:45] [CHUNKED_UPLOAD] Uploading chunk 9/13
[23:05:45] [CHUNKED_UPLOAD] Offset: 838860800 bytes
[23:05:45] [CHUNKED_UPLOAD] Size: 104857600 bytes (100.0 MB)
[23:05:45] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:05:45] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:05:45] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.6153846153846154) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:05:45] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:05:45] [CHUNKED_RESUME] Saved progress: chunk 8 completed
[23:05:46] [CHUNKED_UPLOAD] 📤 Sending chunk 8 via background session...
[23:05:46] [CHUNKED_UPLOAD] URL: https://crivello.dyndns.org:443/WebRTC/chat/upload_chunked.php
[23:05:46] [CHUNKED_UPLOAD] Body size: 104858370 bytes (100.0 MB)
[23:05:46] [CHUNKED_UPLOAD] Task 10 created for chunk 8
[23:05:46] [UPLOAD_SESSION] ========== urlSessionDidFinishEvents ==========
[23:05:46] [UPLOAD_SESSION] Background session finished all events
[23:05:46] [UPLOAD_SESSION] Session identifier: com.eye.background.upload
[23:05:46] [UPLOAD_SESSION] Background completion handler called
[23:06:44] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[23:06:44] [WS] Opening session at ws://crivello.dyndns.org:8081/
[23:06:44] [CLIENT_SIG] Connecting to session ILUIWU as Esra (EDAD55A1-003F-415D-AA60-672B34B504FE)
[23:06:44] [PUSH] Silent push received
[23:06:44] [PUSH_EMBED] No embedded message_data in notification
[23:06:44] [PUSH] No embedded data, pre-loading messages from server
[23:06:44] [PUSH_PRELOAD] Fetching messages for instant display cache
[23:06:44] [PUSH] Silent push received
[23:06:44] [PUSH_EMBED] No embedded message_data in notification
[23:06:44] [PUSH] No embedded data, pre-loading messages from server
[23:06:44] [PUSH_PRELOAD] Fetching messages for instant display cache
[23:06:44] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[23:06:44] HELLO → sent (cached token, role=query)
[23:06:44] [CLIENT_SIG] WebSocket opened
[23:06:44] [CLIENT_SIG] HELLO sent as client for session ILUIWU
[23:06:44] [PUSH] Silent push received
[23:06:44] [PUSH_EMBED] No embedded message_data in notification
[23:06:44] [PUSH] No embedded data, pre-loading messages from server
[23:06:44] [PUSH_PRELOAD] Fetching messages for instant display cache
[23:06:44] [SIG] hello_ok received for query connection - ready to query agents
[23:06:44] [SIG] get_agents request sent for sessionId=ILUIWU
[23:06:44] [SIG] get_agents request sent for sessionId=iosILUIWU
[23:06:44] [SERVER] Stopped reconnect polling
[23:06:44] [CLIENT_SIG] Connected! clientId=KVQQhE5qBNnn4XUm
[23:06:44] [SIG] agents_list received: []
[23:06:44] [SIG] agents_list received: []
[23:06:44] [CLIENT_SIG] Received 2 clients for session 'ILUIWU' (my session: 'ILUIWU')
[23:06:44] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[23:06:44] [CLIENT_SIG] - Esra (EDAD55A1-003F-415D-AA60-672B34B504FE)
[23:06:44] [PUSH] Silent push received
[23:06:44] [PUSH_EMBED] No embedded message_data in notification
[23:06:44] [PUSH] No embedded data, pre-loading messages from server
[23:06:44] [PUSH_PRELOAD] Fetching messages for instant display cache
[23:06:50] [PUSH_PRELOAD] Fetched 3218 messages - caching for instant display
[23:06:53] [CLIENT_SIG] Typing start from: Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[23:06:54] [PUSH_PRELOAD] ⚡ Pre-cached 3218 messages for instant display
[23:06:54] [WS] WebSocket task completed with error - isQueryOnly=true: The request timed out.
[23:06:54] [WS] Query connection error - cleaning up all agent connections and views
[23:06:54] [CLEANUP] ========================================
[23:06:54] [CLEANUP] Cleaning up all agent connections and views
[23:06:54] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:06:54] [CLEANUP] Stopped and removed 0 video connections
[23:06:54] [CLEANUP] Removed 0 video views
[23:06:54] [CLEANUP] Removed 0 feed scroll views
[23:06:54] [CLEANUP] Removed 0 status labels
[23:06:54] [CLEANUP] Reset agent query state
[23:06:54] [CLEANUP] Updated page indicator
[23:06:54] [CLEANUP] Rebuilt video layout
[23:06:54] [CLEANUP] ✅ All agent connections and views cleaned up
[23:06:54] [CLEANUP] ========================================
[23:06:54] [SERVER] Skipping reconnect polling - app is in background
[23:06:54] [PUSH_PRELOAD] Fetched 3218 messages - caching for instant display
[23:06:57] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[23:06:57] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("message_id"): 4327, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
[23:06:57] [PUSH] Parsed message_id: 4327
[23:06:57] [PUSH] Parsed operation_type: 3
[23:06:57] [PUSH] Taking direct action: opType=3, messageId=4327
[23:06:57] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=4327
[23:06:58] [PUSH_PRELOAD] ⚡ Pre-cached 3218 messages for instant display
[23:06:58] [PUSH_PRELOAD] Fetched 3218 messages - caching for instant display
[23:07:01] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[23:07:01] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_id"): 4319, AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
[23:07:01] [PUSH] Parsed message_id: 4319
[23:07:01] [PUSH] Parsed operation_type: 3
[23:07:01] [PUSH] Taking direct action: opType=3, messageId=4319
[23:07:01] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=4319
[23:07:02] [PUSH_PRELOAD] ⚡ Pre-cached 3218 messages for instant display
[23:07:02] [PUSH_PRELOAD] Fetched 3218 messages - caching for instant display
[23:07:04] [CLIENT_SIG] Typing stop from: Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[23:07:05] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[23:07:05] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_id"): 4322, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
"content-available" = 1;
}]
[23:07:05] [PUSH] Parsed message_id: 4322
[23:07:05] [PUSH] Parsed operation_type: 3
[23:07:05] [PUSH] Taking direct action: opType=3, messageId=4322
[23:07:05] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=4322
[23:07:05] [PUSH] Silent push received
[23:07:05] [PUSH_EMBED] Processing embedded message: id=4329, type=0, sender=Laurent
[23:07:05] [PUSH_EMBED] Saved message 4329 to local DB
[23:07:05] [PUSH_EMBED] Inserted message into existing cache (now 3219 messages)
[23:07:05] [PUSH_EMBED] Fetching evolution data for message 4329 in background
[23:07:05] [PUSH] Embedded message handled instantly from silent push
[23:07:05] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_id"): 4329, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2025-12-08 20:07:04";
"file_name" = "";
message = "Sounds like a 1-0 conclusion \Ud83d\Ude0a";
"message_id" = 4329;
"message_type" = 0;
"replied_message" = "<null>";
"replied_sender_id" = "<null>";
"replied_sender_name" = "<null>";
"reply_to_id" = 4322;
"sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"sender_name" = Laurent;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
[23:07:05] [PUSH_EMBED_VC] Processing embedded message: id=4329, type=0, sender=Laurent
[23:07:05] [PUSH_EMBED_VC] Inserted message 4329 into allMessagesWithReadBy (now 51 messages)
[23:07:05] [PUSH] ⚡ Embedded message handled directly in ViewController
[23:07:05] [PUSH] Parsed message_id: 4329
[23:07:05] [PUSH] Parsed operation_type: 0
[23:07:05] [PUSH] Taking direct action: opType=0, messageId=4329
[23:07:05] [PUSH] TakeActionFromPush called: OperationType=0, MessageIds=4329
[23:07:05] [PUSH] ⚡ Message 4329 already in memory (embedded push) - skipping server fetch
[23:07:05] [PUSH_EMBED_VC] Saved message 4329 to local DB
[23:07:05] [EVOLUTION_FILTER] 📝 Updated lastSeenMessageId after marking as read: 4328 → 4329
[23:07:05] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:07:05] [CELL_UPLOAD] configure: msgId=4328, file=4204ae439e7ffebc.mov, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=2
[23:07:05] [CELL_UPLOAD] → has active progress=0.6153846153846154, setting uploading
[23:07:05] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.6153846153846154) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:07:05] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:07:05] [ANIMATION] 🎬 Animating 1 new bubbles - scrolling to top to show them
[23:07:05] [AUTO_PLAY] 🎬 autoPlayMessageEvolution called for message 4329
[23:07:05] [AUTO_PLAY] 🚫 Evolution disabled - calling revertEvolutionState for 4329
[23:07:05] [REVERT] 🔄 revertEvolutionState called for message 4329
[23:07:05] [REVERT] 🔍 Looking in chatMessages (count=51)
[23:07:05] [REVERT] ✅ Found at index 0, BEFORE: isPlayingEvolution=false, text='Sounds like a 1-0 conclusion 😊'
[23:07:05] [REVERT] ✅ Also updated allMessagesWithReadBy at index 0
[23:07:05] [REVERT] 🔍 AFTER: isPlayingEvolution=false, text='Sounds like a 1-0 conclusion 😊'
[23:07:05] [UPDATE_CELL] 🔍 updateMessageCell called for message 4329
[23:07:05] [UPDATE_CELL] Initial targetRowIndex=1
[23:07:05] [UPDATE_CELL] Rebuilt chatRows, count=52
[23:07:05] [UPDATE_CELL] After rebuild targetRowIndex=1
[23:07:05] [UPDATE_CELL] 📝 Message state: isPlayingEvolution=false, evolutionText='', text='Sounds like a 1-0 conclusion 😊'
[23:07:05] [UPDATE_CELL] ✅ Updating ChatCell label to: 'Sounds like a 1-0 conclusion 😊'
[23:07:05] [REVERT] ✅ updateMessageCell completed
[23:07:05] [PUSH_PRELOAD] ⚡ Pre-cached 3218 messages for instant display
[23:07:05] [PUSH_EMBED] Got evolution data for message 4329, saving to local DB
[23:07:05] [PUSH_EMBED] Saved evolution data for message 4329
[23:07:05] [CLIENT_SIG] Event received: type=0 messageId=4329
[23:07:05] [WS_EVENT] Received event: type=0, messageId=4329
[23:07:05] [WS_EVENT] New message notification - refreshing
[23:07:05] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 4329
[23:07:06] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[23:07:06] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("message_id"): 4318, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
[23:07:06] [PUSH] Parsed message_id: 4318
[23:07:06] [PUSH] Parsed operation_type: 3
[23:07:06] [PUSH] Taking direct action: opType=3, messageId=4318
[23:07:06] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=4318
[23:07:06] [INCREMENTAL_SYNC] ✅ No new messages
[23:07:07] [PUSH] Silent push received
[23:07:07] [PUSH_EMBED] No embedded message_data in notification
[23:07:07] [PUSH] No embedded data, pre-loading messages from server
[23:07:07] [PUSH_PRELOAD] Fetching messages for instant display cache
[23:07:08] [CLIENT_SIG] Event received: type=3 messageId=4329
[23:07:08] [WS_EVENT] Received event: type=3, messageId=4329
[23:07:08] [WS_EVENT] Read receipt for message 4329 by Esra (EDAD55A1-003F-415D-AA60-672B34B504FE)
[23:07:13] [PUSH_PRELOAD] Fetched 3219 messages - caching for instant display
[23:07:17] [PUSH_PRELOAD] ⚡ Pre-cached 3219 messages for instant display
[23:07:18] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[23:07:18] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("operation_type"): 3, AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("message_id"): 4329, AnyHashable("session_id"): ILUIWU]
[23:07:18] [PUSH] Parsed message_id: 4329
[23:07:18] [PUSH] Parsed operation_type: 3
[23:07:18] [PUSH] Taking direct action: opType=3, messageId=4329
[23:07:18] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=4329
[23:07:27] [UPLOAD] Background session com.eye.background.upload finished
[23:07:27] [CLIENT_SIG] Receive error: Error Domain=NSPOSIXErrorDomain Code=53 "Software caused connection abort" UserInfo={NSDescription=Software caused connection abort}
[23:07:27] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1)
[23:07:27] [CLIENT_SIG] Task completed with error: Error Domain=NSPOSIXErrorDomain Code=53 "Software caused connection abort" UserInfo={NSDescription=Software caused connection abort, _NSURLErrorRelatedURLSessionTaskErrorKey=(
"LocalWebSocketTask <9C117EB5-38AA-4882-8191-D29CBDF1B876>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <9C117EB5-38AA-4882-8191-D29CBDF1B876>.<1>}
[23:07:27] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2)
[23:07:27] [WS] Connection failed: The operation couldn’t be completed. Software caused connection abort
[23:07:27] [WS] Query connection failed - cleaning up all agent connections and views
[23:07:27] [CLEANUP] ========================================
[23:07:27] [CLEANUP] Cleaning up all agent connections and views
[23:07:27] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:07:27] [CLEANUP] Stopped and removed 0 video connections
[23:07:27] [CLEANUP] Removed 0 video views
[23:07:27] [CLEANUP] Removed 0 feed scroll views
[23:07:27] [CLEANUP] Removed 0 status labels
[23:07:27] [CLEANUP] Reset agent query state
[23:07:27] [CLEANUP] Updated page indicator
[23:07:27] [CLEANUP] Rebuilt video layout
[23:07:27] [CLEANUP] ✅ All agent connections and views cleaned up
[23:07:27] [CLEANUP] ========================================
[23:07:27] [SERVER] Skipping reconnect polling - app is in background
[23:07:27] [UPLOAD_RESPONSE] Started receiving response for task 10
[23:07:27] [UPLOAD_METRICS] Task 10 metrics:
[23:07:27] [UPLOAD_METRICS] Total time: 101.40s
[23:07:27] [UPLOAD_METRICS] Upload time: 39.36s
[23:07:27] [UPLOAD_METRICS] Response time: 0.00s
[23:07:27] [UPLOAD_METRICS] Network protocol: http/1.1
[23:07:27] [UPLOAD_METRICS] Proxy: no
[23:07:27] [UPLOAD_METRICS] Reused connection: no
[23:07:27] [UPLOAD_COMPLETE] ========== Task Completed ==========
[23:07:27] [UPLOAD_COMPLETE] Task ID: 10
[23:07:27] [UPLOAD_COMPLETE] Task state: 3 (0=running, 1=suspended, 2=canceling, 3=completed)
[23:07:27] [CHUNKED_COMPLETE] ========== Chunk Task Completed ==========
[23:07:27] [CHUNKED_COMPLETE] Task ID: 10
[23:07:27] [CHUNKED_COMPLETE] Chunk: 9/13
[23:07:27] [CHUNKED_COMPLETE] Filename: 4204ae439e7ffebc.mov
[23:07:27] [CHUNKED_COMPLETE] HTTP Status: 200
[23:07:27] [CHUNKED_COMPLETE] Response: {"ok":true,"chunkIndex":8,"receivedChunks":9,"totalChunks":13,"progress":69.23,"message":"Chunk received"}
[23:07:27] [CHUNKED_COMPLETE] ✅ Chunk 9/13 complete (69.2%)
[23:07:27] [CHUNKED_UPLOAD] ▶️ uploadChunk called: chunk 9/13
[23:07:27] [CHUNKED_UPLOAD] Uploading chunk 10/13
[23:07:27] [CHUNKED_UPLOAD] Offset: 943718400 bytes
[23:07:27] [CHUNKED_UPLOAD] Size: 104857600 bytes (100.0 MB)
[23:07:27] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:07:27] [CHUNKED_RESUME] Saved progress: chunk 9 completed
[23:07:27] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:07:27] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.6923076923076923) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:07:27] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:07:27] [CHUNKED_UPLOAD] 📤 Sending chunk 9 via background session...
[23:07:27] [CHUNKED_UPLOAD] URL: https://crivello.dyndns.org:443/WebRTC/chat/upload_chunked.php
[23:07:27] [CHUNKED_UPLOAD] Body size: 104858370 bytes (100.0 MB)
[23:07:27] [CHUNKED_UPLOAD] Task 11 created for chunk 9
[23:07:27] [UPLOAD_SESSION] ========== urlSessionDidFinishEvents ==========
[23:07:27] [UPLOAD_SESSION] Background session finished all events
[23:07:27] [UPLOAD_SESSION] Session identifier: com.eye.background.upload
[23:07:27] [UPLOAD_SESSION] Background completion handler called
[23:07:37] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[23:07:37] [WS] Opening session at ws://crivello.dyndns.org:8081/
[23:07:37] [CLIENT_SIG] Connecting to session ILUIWU as Esra (EDAD55A1-003F-415D-AA60-672B34B504FE)
[23:07:37] [PUSH] Silent push received
[23:07:37] [PUSH_EMBED] No embedded message_data in notification
[23:07:37] [PUSH] No embedded data, pre-loading messages from server
[23:07:37] [PUSH_PRELOAD] Fetching messages for instant display cache
[23:07:37] [CLIENT_SIG] WebSocket opened
[23:07:37] [CLIENT_SIG] HELLO sent as client for session ILUIWU
[23:07:37] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[23:07:37] HELLO → sent (cached token, role=query)
[23:07:37] [CLIENT_SIG] Connected! clientId=RwJigqteZS1qP_eF
[23:07:37] [SIG] hello_ok received for query connection - ready to query agents
[23:07:37] [SIG] get_agents request sent for sessionId=ILUIWU
[23:07:37] [SIG] get_agents request sent for sessionId=iosILUIWU
[23:07:37] [SERVER] Stopped reconnect polling
[23:07:37] [CLIENT_SIG] Received 2 clients for session 'ILUIWU' (my session: 'ILUIWU')
[23:07:37] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[23:07:37] [CLIENT_SIG] - Esra (EDAD55A1-003F-415D-AA60-672B34B504FE)
[23:07:37] [SIG] agents_list received: []
[23:07:37] [SIG] agents_list received: []
[23:07:38] [PUSH_PRELOAD] Fetched 3218 messages - caching for instant display
[23:07:44] [CLIENT_SIG] Typing start from: Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[23:07:45] [PUSH_PRELOAD] ⚡ Pre-cached 3218 messages for instant display
[23:07:46] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[23:07:46] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 4329, AnyHashable("operation_type"): 1, AnyHashable("aps"): {
"content-available" = 1;
}]
[23:07:46] [PUSH] Parsed message_id: 4329
[23:07:46] [PUSH] Parsed operation_type: 1
[23:07:46] [PUSH] Taking direct action: opType=1, messageId=4329
[23:07:46] [PUSH] TakeActionFromPush called: OperationType=1, MessageIds=4329
[23:07:46] [PUSH] Removed message 4329 from chatMessages
[23:07:46] [PUSH] Removed message 4329 from allMessagesWithReadBy
[23:07:46] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:07:46] [CELL_UPLOAD] configure: msgId=4328, file=4204ae439e7ffebc.mov, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=2
[23:07:46] [CELL_UPLOAD] → has active progress=0.6923076923076923, setting uploading
[23:07:46] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.6923076923076923) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:07:46] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:07:52] [WS] WebSocket task completed with error - isQueryOnly=true: The request timed out.
[23:07:52] [WS] Query connection error - cleaning up all agent connections and views
[23:07:52] [CLEANUP] ========================================
[23:07:52] [CLEANUP] Cleaning up all agent connections and views
[23:07:52] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:07:52] [CLEANUP] Stopped and removed 0 video connections
[23:07:52] [CLEANUP] Removed 0 video views
[23:07:52] [CLEANUP] Removed 0 feed scroll views
[23:07:52] [CLEANUP] Removed 0 status labels
[23:07:52] [CLEANUP] Reset agent query state
[23:07:52] [CLEANUP] Updated page indicator
[23:07:52] [CLEANUP] Rebuilt video layout
[23:07:52] [CLEANUP] ✅ All agent connections and views cleaned up
[23:07:52] [CLEANUP] ========================================
[23:07:52] [SERVER] Skipping reconnect polling - app is in background
[23:07:58] [CLIENT_SIG] Typing stop from: Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[23:08:02] [CLIENT_SIG] Client disconnected: Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) on session 'ILUIWU' (my session: 'ILUIWU')
[23:08:02] [CLIENT_SIG] Client disconnected: Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) on session 'ILUIWU' (my session: 'ILUIWU')
[23:08:02] [CLIENT_SIG] Client connected: Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) on session 'ILUIWU' (my session: 'ILUIWU')
[23:08:03] [CLIENT_SIG] Client disconnected: Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) on session 'ILUIWU' (my session: 'ILUIWU')
[23:08:03] [CLIENT_SIG] Client disconnected: Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) on session 'ILUIWU' (my session: 'ILUIWU')
[23:10:05] [PUSH] Silent push received
[23:10:05] [PUSH_EMBED] Processing embedded message: id=4330, type=0, sender=Laurent
[23:10:05] [PUSH_EMBED] Saved message 4330 to local DB
[23:10:05] [PUSH_EMBED] Inserted message into existing cache (now 3219 messages)
[23:10:05] [PUSH_EMBED] Fetching evolution data for message 4330 in background
[23:10:05] [PUSH] Embedded message handled instantly from silent push
[23:10:05] [WS] Connection failed: The operation couldn’t be completed. Software caused connection abort
[23:10:05] [WS] Query connection failed - cleaning up all agent connections and views
[23:10:05] [CLIENT_SIG] Receive error: Error Domain=NSPOSIXErrorDomain Code=53 "Software caused connection abort" UserInfo={NSDescription=Software caused connection abort}
[23:10:05] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1)
[23:10:05] [CLIENT_SIG] Task completed with error: Error Domain=NSPOSIXErrorDomain Code=53 "Software caused connection abort" UserInfo={NSDescription=Software caused connection abort, _NSURLErrorRelatedURLSessionTaskErrorKey=(
"LocalWebSocketTask <F829530F-E2F6-4FB4-A414-64B5A7D068E7>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <F829530F-E2F6-4FB4-A414-64B5A7D068E7>.<1>}
[23:10:05] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2)
[23:10:05] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_id"): 4330, AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2025-12-08 20:10:04";
"file_name" = "";
message = "Looking at log now";
"message_id" = 4330;
"message_type" = 0;
"sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"sender_name" = Laurent;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU]
[23:10:05] [PUSH_EMBED_VC] Processing embedded message: id=4330, type=0, sender=Laurent
[23:10:05] [PUSH_EMBED_VC] Inserted message 4330 into allMessagesWithReadBy (now 51 messages)
[23:10:05] [PUSH] ⚡ Embedded message handled directly in ViewController
[23:10:05] [PUSH] Parsed message_id: 4330
[23:10:05] [PUSH] Parsed operation_type: 0
[23:10:05] [PUSH] Taking direct action: opType=0, messageId=4330
[23:10:05] [PUSH] TakeActionFromPush called: OperationType=0, MessageIds=4330
[23:10:05] [PUSH] ⚡ Message 4330 already in memory (embedded push) - skipping server fetch
[23:10:05] [CLEANUP] ========================================
[23:10:05] [CLEANUP] Cleaning up all agent connections and views
[23:10:05] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:10:05] [CLEANUP] Stopped and removed 0 video connections
[23:10:05] [CLEANUP] Removed 0 video views
[23:10:05] [CLEANUP] Removed 0 feed scroll views
[23:10:05] [CLEANUP] Removed 0 status labels
[23:10:05] [CLEANUP] Reset agent query state
[23:10:05] [CLEANUP] Updated page indicator
[23:10:05] [CLEANUP] Rebuilt video layout
[23:10:05] [CLEANUP] ✅ All agent connections and views cleaned up
[23:10:05] [CLEANUP] ========================================
[23:10:05] [SERVER] Skipping reconnect polling - app is in background
[23:10:05] [PUSH_EMBED_VC] Saved message 4330 to local DB
[23:10:05] [EVOLUTION_FILTER] 📝 Updated lastSeenMessageId after marking as read: 4329 → 4330
[23:10:05] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:10:05] [CELL_UPLOAD] configure: msgId=4328, file=4204ae439e7ffebc.mov, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=2
[23:10:05] [CELL_UPLOAD] → has active progress=0.6923076923076923, setting uploading
[23:10:05] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.6923076923076923) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:10:05] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:10:05] [ANIMATION] 🎬 Animating 1 new bubbles - scrolling to top to show them
[23:10:05] [PUSH_EMBED] Got evolution data for message 4330, saving to local DB
[23:10:05] [PUSH_EMBED] Saved evolution data for message 4330
[23:10:05] [AUTO_PLAY] 🎬 autoPlayMessageEvolution called for message 4330
[23:10:05] [AUTO_PLAY] 🚫 Evolution disabled - calling revertEvolutionState for 4330
[23:10:05] [REVERT] 🔄 revertEvolutionState called for message 4330
[23:10:05] [REVERT] 🔍 Looking in chatMessages (count=51)
[23:10:05] [REVERT] ✅ Found at index 0, BEFORE: isPlayingEvolution=false, text='Looking at log now'
[23:10:05] [REVERT] ✅ Also updated allMessagesWithReadBy at index 0
[23:10:05] [REVERT] 🔍 AFTER: isPlayingEvolution=false, text='Looking at log now'
[23:10:05] [UPDATE_CELL] 🔍 updateMessageCell called for message 4330
[23:10:05] [UPDATE_CELL] Initial targetRowIndex=1
[23:10:05] [UPDATE_CELL] Rebuilt chatRows, count=52
[23:10:05] [UPDATE_CELL] After rebuild targetRowIndex=1
[23:10:05] [UPDATE_CELL] 📝 Message state: isPlayingEvolution=false, evolutionText='', text='Looking at log now'
[23:10:05] [UPDATE_CELL] ✅ Updating ChatCell label to: 'Looking at log now'
[23:10:05] [REVERT] ✅ updateMessageCell completed
[23:10:06] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[23:10:06] [WS] Opening session at ws://crivello.dyndns.org:8081/
[23:10:06] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[23:10:06] HELLO → sent (cached token, role=query)
[23:10:06] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[23:10:06] [WS] Query connection failed - cleaning up all agent connections and views
[23:10:06] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[23:10:06] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[23:10:06] [CLEANUP] ========================================
[23:10:06] [CLEANUP] Cleaning up all agent connections and views
[23:10:06] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:10:06] [CLEANUP] Stopped and removed 0 video connections
[23:10:06] [CLEANUP] Removed 0 video views
[23:10:06] [CLEANUP] Removed 0 feed scroll views
[23:10:06] [CLEANUP] Removed 0 status labels
[23:10:06] [CLEANUP] Reset agent query state
[23:10:06] [CLEANUP] Updated page indicator
[23:10:06] [CLEANUP] Rebuilt video layout
[23:10:06] [CLEANUP] ✅ All agent connections and views cleaned up
[23:10:06] [CLEANUP] ========================================
[23:10:06] [SERVER] Skipping reconnect polling - app is in background
[23:10:06] [CLEANUP] ========================================
[23:10:06] [CLEANUP] Cleaning up all agent connections and views
[23:10:06] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:10:06] [CLEANUP] Stopped and removed 0 video connections
[23:10:06] [CLEANUP] Removed 0 video views
[23:10:06] [CLEANUP] Removed 0 feed scroll views
[23:10:06] [CLEANUP] Removed 0 status labels
[23:10:06] [CLEANUP] Reset agent query state
[23:10:06] [CLEANUP] Updated page indicator
[23:10:06] [CLEANUP] Rebuilt video layout
[23:10:06] [CLEANUP] ✅ All agent connections and views cleaned up
[23:10:06] [CLEANUP] ========================================
[23:10:06] [SERVER] Skipping reconnect polling - app is in background
[23:10:07] [PUSH] Silent push received
[23:10:07] [PUSH_EMBED] No embedded message_data in notification
[23:10:07] [PUSH] No embedded data, pre-loading messages from server
[23:10:07] [PUSH_PRELOAD] Fetching messages for instant display cache
[23:10:08] [PUSH_PRELOAD] Fetched 3219 messages - caching for instant display
[23:10:08] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[23:10:08] [WS] Opening session at ws://crivello.dyndns.org:8081/
[23:10:08] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[23:10:08] HELLO → sent (cached token, role=query)
[23:10:08] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[23:10:08] [WS] Query connection failed - cleaning up all agent connections and views
[23:10:08] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[23:10:08] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[23:10:08] [CLEANUP] ========================================
[23:10:08] [CLEANUP] Cleaning up all agent connections and views
[23:10:08] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:10:08] [CLEANUP] Stopped and removed 0 video connections
[23:10:08] [CLEANUP] Removed 0 video views
[23:10:08] [CLEANUP] Removed 0 feed scroll views
[23:10:08] [CLEANUP] Removed 0 status labels
[23:10:08] [CLEANUP] Reset agent query state
[23:10:08] [CLEANUP] Updated page indicator
[23:10:08] [CLEANUP] Rebuilt video layout
[23:10:08] [CLEANUP] ✅ All agent connections and views cleaned up
[23:10:08] [CLEANUP] ========================================
[23:10:08] [SERVER] Skipping reconnect polling - app is in background
[23:10:08] [CLEANUP] ========================================
[23:10:08] [CLEANUP] Cleaning up all agent connections and views
[23:10:08] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:10:08] [CLEANUP] Stopped and removed 0 video connections
[23:10:08] [CLEANUP] Removed 0 video views
[23:10:08] [CLEANUP] Removed 0 feed scroll views
[23:10:08] [CLEANUP] Removed 0 status labels
[23:10:08] [CLEANUP] Reset agent query state
[23:10:08] [CLEANUP] Updated page indicator
[23:10:08] [CLEANUP] Rebuilt video layout
[23:10:08] [CLEANUP] ✅ All agent connections and views cleaned up
[23:10:08] [CLEANUP] ========================================
[23:10:08] [SERVER] Skipping reconnect polling - app is in background
[23:10:09] [CLIENT_SIG] Connecting to session ILUIWU as Esra (EDAD55A1-003F-415D-AA60-672B34B504FE)
[23:10:09] [CLIENT_SIG] WebSocket opened
[23:10:09] [CLIENT_SIG] HELLO sent as client for session ILUIWU
[23:10:09] [CLIENT_SIG] Connected! clientId=ziQhRcp70n8KK7kr
[23:10:09] [CLIENT_SIG] Received 1 clients for session 'ILUIWU' (my session: 'ILUIWU')
[23:10:09] [CLIENT_SIG] - Esra (EDAD55A1-003F-415D-AA60-672B34B504FE)
[23:10:10] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[23:10:10] [WS] Opening session at ws://crivello.dyndns.org:8081/
[23:10:10] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[23:10:10] HELLO → sent (cached token, role=query)
[23:10:10] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[23:10:10] [WS] Query connection failed - cleaning up all agent connections and views
[23:10:10] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[23:10:10] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[23:10:10] [CLEANUP] ========================================
[23:10:10] [CLEANUP] Cleaning up all agent connections and views
[23:10:10] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:10:10] [CLEANUP] Stopped and removed 0 video connections
[23:10:10] [CLEANUP] Removed 0 video views
[23:10:10] [CLEANUP] Removed 0 feed scroll views
[23:10:10] [CLEANUP] Removed 0 status labels
[23:10:10] [CLEANUP] Reset agent query state
[23:10:10] [CLEANUP] Updated page indicator
[23:10:10] [CLEANUP] Rebuilt video layout
[23:10:10] [CLEANUP] ✅ All agent connections and views cleaned up
[23:10:10] [CLEANUP] ========================================
[23:10:10] [SERVER] Skipping reconnect polling - app is in background
[23:10:10] [CLEANUP] ========================================
[23:10:10] [CLEANUP] Cleaning up all agent connections and views
[23:10:10] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:10:10] [CLEANUP] Stopped and removed 0 video connections
[23:10:10] [CLEANUP] Removed 0 video views
[23:10:10] [CLEANUP] Removed 0 feed scroll views
[23:10:10] [CLEANUP] Removed 0 status labels
[23:10:10] [CLEANUP] Reset agent query state
[23:10:10] [CLEANUP] Updated page indicator
[23:10:10] [CLEANUP] Rebuilt video layout
[23:10:10] [CLEANUP] ✅ All agent connections and views cleaned up
[23:10:10] [CLEANUP] ========================================
[23:10:10] [SERVER] Skipping reconnect polling - app is in background
[23:10:12] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[23:10:12] [WS] Opening session at ws://crivello.dyndns.org:8081/
[23:10:12] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[23:10:12] HELLO → sent (cached token, role=query)
[23:10:12] [PUSH_PRELOAD] ⚡ Pre-cached 3219 messages for instant display
[23:10:12] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[23:10:12] [WS] Query connection failed - cleaning up all agent connections and views
[23:10:12] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[23:10:12] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[23:10:12] [CLEANUP] ========================================
[23:10:12] [CLEANUP] Cleaning up all agent connections and views
[23:10:12] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:10:12] [CLEANUP] Stopped and removed 0 video connections
[23:10:12] [CLEANUP] Removed 0 video views
[23:10:12] [CLEANUP] Removed 0 feed scroll views
[23:10:12] [CLEANUP] Removed 0 status labels
[23:10:12] [CLEANUP] Reset agent query state
[23:10:12] [CLEANUP] Updated page indicator
[23:10:12] [CLEANUP] Rebuilt video layout
[23:10:12] [CLEANUP] ✅ All agent connections and views cleaned up
[23:10:12] [CLEANUP] ========================================
[23:10:12] [SERVER] Skipping reconnect polling - app is in background
[23:10:12] [CLEANUP] ========================================
[23:10:12] [CLEANUP] Cleaning up all agent connections and views
[23:10:12] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:10:12] [CLEANUP] Stopped and removed 0 video connections
[23:10:12] [CLEANUP] Removed 0 video views
[23:10:12] [CLEANUP] Removed 0 feed scroll views
[23:10:12] [CLEANUP] Removed 0 status labels
[23:10:12] [CLEANUP] Reset agent query state
[23:10:12] [CLEANUP] Updated page indicator
[23:10:12] [CLEANUP] Rebuilt video layout
[23:10:12] [CLEANUP] ✅ All agent connections and views cleaned up
[23:10:12] [CLEANUP] ========================================
[23:10:12] [SERVER] Skipping reconnect polling - app is in background
[23:10:12] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[23:10:12] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("operation_type"): 3, AnyHashable("message_id"): 4330, AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
[23:10:12] [PUSH] Parsed message_id: 4330
[23:10:12] [PUSH] Parsed operation_type: 3
[23:10:12] [PUSH] Taking direct action: opType=3, messageId=4330
[23:10:12] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=4330
[23:10:13] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[23:10:13] [WS] Opening session at ws://crivello.dyndns.org:8081/
[23:10:14] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[23:10:14] HELLO → sent (cached token, role=query)
[23:10:14] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[23:10:14] [WS] Query connection failed - cleaning up all agent connections and views
[23:10:14] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[23:10:14] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[23:10:14] [CLEANUP] ========================================
[23:10:14] [CLEANUP] Cleaning up all agent connections and views
[23:10:14] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:10:14] [CLEANUP] Stopped and removed 0 video connections
[23:10:14] [CLEANUP] Removed 0 video views
[23:10:14] [CLEANUP] Removed 0 feed scroll views
[23:10:14] [CLEANUP] Removed 0 status labels
[23:10:14] [CLEANUP] Reset agent query state
[23:10:14] [CLEANUP] Updated page indicator
[23:10:14] [CLEANUP] Rebuilt video layout
[23:10:14] [CLEANUP] ✅ All agent connections and views cleaned up
[23:10:14] [CLEANUP] ========================================
[23:10:14] [SERVER] Skipping reconnect polling - app is in background
[23:10:14] [CLEANUP] ========================================
[23:10:14] [CLEANUP] Cleaning up all agent connections and views
[23:10:14] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:10:14] [CLEANUP] Stopped and removed 0 video connections
[23:10:14] [CLEANUP] Removed 0 video views
[23:10:14] [CLEANUP] Removed 0 feed scroll views
[23:10:14] [CLEANUP] Removed 0 status labels
[23:10:14] [CLEANUP] Reset agent query state
[23:10:14] [CLEANUP] Updated page indicator
[23:10:14] [CLEANUP] Rebuilt video layout
[23:10:14] [CLEANUP] ✅ All agent connections and views cleaned up
[23:10:14] [CLEANUP] ========================================
[23:10:14] [SERVER] Skipping reconnect polling - app is in background
[23:10:15] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[23:10:15] [WS] Opening session at ws://crivello.dyndns.org:8081/
[23:10:15] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[23:10:15] HELLO → sent (cached token, role=query)
[23:10:15] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[23:10:15] [WS] Query connection failed - cleaning up all agent connections and views
[23:10:15] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[23:10:15] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[23:10:15] [CLEANUP] ========================================
[23:10:15] [CLEANUP] Cleaning up all agent connections and views
[23:10:15] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:10:15] [CLEANUP] Stopped and removed 0 video connections
[23:10:15] [CLEANUP] Removed 0 video views
[23:10:15] [CLEANUP] Removed 0 feed scroll views
[23:10:15] [CLEANUP] Removed 0 status labels
[23:10:15] [CLEANUP] Reset agent query state
[23:10:15] [CLEANUP] Updated page indicator
[23:10:15] [CLEANUP] Rebuilt video layout
[23:10:15] [CLEANUP] ✅ All agent connections and views cleaned up
[23:10:15] [CLEANUP] ========================================
[23:10:15] [SERVER] Skipping reconnect polling - app is in background
[23:10:15] [CLEANUP] ========================================
[23:10:15] [CLEANUP] Cleaning up all agent connections and views
[23:10:15] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:10:15] [CLEANUP] Stopped and removed 0 video connections
[23:10:15] [CLEANUP] Removed 0 video views
[23:10:15] [CLEANUP] Removed 0 feed scroll views
[23:10:15] [CLEANUP] Removed 0 status labels
[23:10:15] [CLEANUP] Reset agent query state
[23:10:15] [CLEANUP] Updated page indicator
[23:10:15] [CLEANUP] Rebuilt video layout
[23:10:15] [CLEANUP] ✅ All agent connections and views cleaned up
[23:10:15] [CLEANUP] ========================================
[23:10:15] [SERVER] Skipping reconnect polling - app is in background
[23:10:53] [UPLOAD] Background session com.eye.background.upload finished
[23:10:53] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[23:10:53] [WS] Opening session at ws://crivello.dyndns.org:8081/
[23:10:53] [UPLOAD_RESPONSE] Started receiving response for task 11
[23:10:53] [UPLOAD_METRICS] Task 11 metrics:
[23:10:53] [UPLOAD_METRICS] Total time: 205.54s
[23:10:53] [UPLOAD_METRICS] Upload time: 53.96s
[23:10:53] [UPLOAD_METRICS] Response time: 0.00s
[23:10:53] [UPLOAD_METRICS] Network protocol: http/1.1
[23:10:53] [UPLOAD_METRICS] Proxy: no
[23:10:53] [UPLOAD_METRICS] Reused connection: no
[23:10:53] [UPLOAD_COMPLETE] ========== Task Completed ==========
[23:10:53] [UPLOAD_COMPLETE] Task ID: 11
[23:10:53] [UPLOAD_COMPLETE] Task state: 3 (0=running, 1=suspended, 2=canceling, 3=completed)
[23:10:53] [CHUNKED_COMPLETE] ========== Chunk Task Completed ==========
[23:10:53] [CHUNKED_COMPLETE] Task ID: 11
[23:10:53] [CHUNKED_COMPLETE] Chunk: 10/13
[23:10:53] [CHUNKED_COMPLETE] Filename: 4204ae439e7ffebc.mov
[23:10:53] [CHUNKED_COMPLETE] HTTP Status: 200
[23:10:53] [CHUNKED_COMPLETE] Response: {"ok":true,"chunkIndex":9,"receivedChunks":10,"totalChunks":13,"progress":76.92,"message":"Chunk received"}
[23:10:53] [CHUNKED_COMPLETE] ✅ Chunk 10/13 complete (76.9%)
[23:10:53] [VIDEO_DIRECT] 📊 Main upload progress: 76%
[23:10:53] [CHUNKED_UPLOAD] ▶️ uploadChunk called: chunk 10/13
[23:10:53] [CHUNKED_UPLOAD] Uploading chunk 11/13
[23:10:53] [CHUNKED_UPLOAD] Offset: 1048576000 bytes
[23:10:53] [CHUNKED_UPLOAD] Size: 104857600 bytes (100.0 MB)
[23:10:53] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:10:53] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:10:53] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.7692307692307693) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:10:53] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:10:53] [CHUNKED_RESUME] Saved progress: chunk 10 completed
[23:10:53] [CHUNKED_UPLOAD] 📤 Sending chunk 10 via background session...
[23:10:53] [CHUNKED_UPLOAD] URL: https://crivello.dyndns.org:443/WebRTC/chat/upload_chunked.php
[23:10:53] [CHUNKED_UPLOAD] Body size: 104858372 bytes (100.0 MB)
[23:10:53] [CHUNKED_UPLOAD] Task 12 created for chunk 10
[23:10:53] [UPLOAD_SESSION] ========== urlSessionDidFinishEvents ==========
[23:10:53] [UPLOAD_SESSION] Background session finished all events
[23:10:53] [UPLOAD_SESSION] Session identifier: com.eye.background.upload
[23:10:53] [UPLOAD_SESSION] Background completion handler called
[23:10:53] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[23:10:53] HELLO → sent (cached token, role=query)
[23:10:53] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[23:10:53] [WS] Query connection failed - cleaning up all agent connections and views
[23:10:53] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[23:10:53] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[23:10:53] [CLEANUP] ========================================
[23:10:53] [CLEANUP] Cleaning up all agent connections and views
[23:10:53] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:10:53] [CLEANUP] Stopped and removed 0 video connections
[23:10:53] [CLEANUP] Removed 0 video views
[23:10:53] [CLEANUP] Removed 0 feed scroll views
[23:10:53] [CLEANUP] Removed 0 status labels
[23:10:53] [CLEANUP] Reset agent query state
[23:10:53] [CLEANUP] Updated page indicator
[23:10:53] [CLEANUP] Rebuilt video layout
[23:10:53] [CLEANUP] ✅ All agent connections and views cleaned up
[23:10:53] [CLEANUP] ========================================
[23:10:53] [SERVER] Skipping reconnect polling - app is in background
[23:10:53] [CLEANUP] ========================================
[23:10:53] [CLEANUP] Cleaning up all agent connections and views
[23:10:53] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:10:53] [CLEANUP] Stopped and removed 0 video connections
[23:10:53] [CLEANUP] Removed 0 video views
[23:10:53] [CLEANUP] Removed 0 feed scroll views
[23:10:53] [CLEANUP] Removed 0 status labels
[23:10:53] [CLEANUP] Reset agent query state
[23:10:53] [CLEANUP] Updated page indicator
[23:10:53] [CLEANUP] Rebuilt video layout
[23:10:53] [CLEANUP] ✅ All agent connections and views cleaned up
[23:10:53] [CLEANUP] ========================================
[23:10:53] [SERVER] Skipping reconnect polling - app is in background
[23:12:25] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[23:12:25] [WS] Opening session at ws://crivello.dyndns.org:8081/
[23:12:25] [PUSH] Silent push received
[23:12:25] [PUSH_EMBED] Processing embedded message: id=4331, type=0, sender=Laurent
[23:12:25] [PUSH_EMBED] Saved message 4331 to local DB
[23:12:25] [PUSH_EMBED] Inserted message into existing cache (now 3220 messages)
[23:12:25] [PUSH_EMBED] Fetching evolution data for message 4331 in background
[23:12:25] [PUSH] Embedded message handled instantly from silent push
[23:12:25] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_id"): 4331, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2025-12-08 20:12:24";
"file_name" = "";
message = "Oh seemingly log was done with old version. Waiting for outcome.";
"message_id" = 4331;
"message_type" = 0;
"sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"sender_name" = Laurent;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
[23:12:25] [PUSH_EMBED_VC] Processing embedded message: id=4331, type=0, sender=Laurent
[23:12:25] [PUSH_EMBED_VC] Inserted message 4331 into allMessagesWithReadBy (now 52 messages)
[23:12:25] [PUSH] ⚡ Embedded message handled directly in ViewController
[23:12:25] [PUSH] Parsed message_id: 4331
[23:12:25] [PUSH] Parsed operation_type: 0
[23:12:25] [PUSH] Taking direct action: opType=0, messageId=4331
[23:12:25] [PUSH] TakeActionFromPush called: OperationType=0, MessageIds=4331
[23:12:25] [PUSH] ⚡ Message 4331 already in memory (embedded push) - skipping server fetch
[23:12:25] [PUSH_EMBED_VC] Saved message 4331 to local DB
[23:12:25] [EVOLUTION_FILTER] 📝 Updated lastSeenMessageId after marking as read: 4330 → 4331
[23:12:25] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:12:25] [CELL_UPLOAD] configure: msgId=4328, file=4204ae439e7ffebc.mov, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=2
[23:12:25] [CELL_UPLOAD] → has active progress=0.7692307692307693, setting uploading
[23:12:25] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.7692307692307693) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:12:25] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:12:25] [ANIMATION] 🎬 Animating 1 new bubbles - scrolling to top to show them
[23:12:25] [AUTO_PLAY] 🎬 autoPlayMessageEvolution called for message 4331
[23:12:25] [AUTO_PLAY] 🚫 Evolution disabled - calling revertEvolutionState for 4331
[23:12:25] [REVERT] 🔄 revertEvolutionState called for message 4331
[23:12:25] [PUSH_EMBED] Got evolution data for message 4331, saving to local DB
[23:12:25] [PUSH_EMBED] Saved evolution data for message 4331
[23:12:25] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[23:12:25] HELLO → sent (cached token, role=query)
[23:12:25] [REVERT] 🔍 Looking in chatMessages (count=52)
[23:12:25] [REVERT] ✅ Found at index 0, BEFORE: isPlayingEvolution=false, text='Oh seemingly log was done with'
[23:12:25] [REVERT] ✅ Also updated allMessagesWithReadBy at index 0
[23:12:25] [REVERT] 🔍 AFTER: isPlayingEvolution=false, text='Oh seemingly log was done with'
[23:12:25] [UPDATE_CELL] 🔍 updateMessageCell called for message 4331
[23:12:25] [UPDATE_CELL] Initial targetRowIndex=1
[23:12:25] [UPDATE_CELL] Rebuilt chatRows, count=53
[23:12:25] [UPDATE_CELL] After rebuild targetRowIndex=1
[23:12:25] [UPDATE_CELL] 📝 Message state: isPlayingEvolution=false, evolutionText='', text='Oh seemingly log was done with'
[23:12:25] [UPDATE_CELL] ✅ Updating ChatCell label to: 'Oh seemingly log was done with'
[23:12:25] [REVERT] ✅ updateMessageCell completed
[23:12:25] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[23:12:25] [WS] Query connection failed - cleaning up all agent connections and views
[23:12:25] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[23:12:25] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[23:12:25] [CLEANUP] ========================================
[23:12:25] [CLEANUP] Cleaning up all agent connections and views
[23:12:25] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:12:25] [CLEANUP] Stopped and removed 0 video connections
[23:12:25] [CLEANUP] Removed 0 video views
[23:12:25] [CLEANUP] Removed 0 feed scroll views
[23:12:25] [CLEANUP] Removed 0 status labels
[23:12:25] [CLEANUP] Reset agent query state
[23:12:25] [CLEANUP] Updated page indicator
[23:12:25] [CLEANUP] Rebuilt video layout
[23:12:25] [CLEANUP] ✅ All agent connections and views cleaned up
[23:12:25] [CLEANUP] ========================================
[23:12:25] [SERVER] Skipping reconnect polling - app is in background
[23:12:25] [CLEANUP] ========================================
[23:12:25] [CLEANUP] Cleaning up all agent connections and views
[23:12:25] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:12:25] [CLEANUP] Stopped and removed 0 video connections
[23:12:25] [CLEANUP] Removed 0 video views
[23:12:25] [CLEANUP] Removed 0 feed scroll views
[23:12:25] [CLEANUP] Removed 0 status labels
[23:12:25] [CLEANUP] Reset agent query state
[23:12:25] [CLEANUP] Updated page indicator
[23:12:25] [CLEANUP] Rebuilt video layout
[23:12:25] [CLEANUP] ✅ All agent connections and views cleaned up
[23:12:25] [CLEANUP] ========================================
[23:12:25] [SERVER] Skipping reconnect polling - app is in background
[23:12:26] [PUSH] Silent push received
[23:12:26] [PUSH_EMBED] No embedded message_data in notification
[23:12:26] [PUSH] No embedded data, pre-loading messages from server
[23:12:26] [PUSH_PRELOAD] Fetching messages for instant display cache
[23:12:27] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[23:12:27] [WS] Opening session at ws://crivello.dyndns.org:8081/
[23:12:27] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[23:12:27] HELLO → sent (cached token, role=query)
[23:12:27] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[23:12:27] [WS] Query connection failed - cleaning up all agent connections and views
[23:12:27] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[23:12:27] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[23:12:27] [CLEANUP] ========================================
[23:12:27] [CLEANUP] Cleaning up all agent connections and views
[23:12:27] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:12:27] [CLEANUP] Stopped and removed 0 video connections
[23:12:27] [CLEANUP] Removed 0 video views
[23:12:27] [CLEANUP] Removed 0 feed scroll views
[23:12:27] [CLEANUP] Removed 0 status labels
[23:12:27] [CLEANUP] Reset agent query state
[23:12:27] [CLEANUP] Updated page indicator
[23:12:27] [CLEANUP] Rebuilt video layout
[23:12:27] [CLEANUP] ✅ All agent connections and views cleaned up
[23:12:27] [CLEANUP] ========================================
[23:12:27] [SERVER] Skipping reconnect polling - app is in background
[23:12:27] [CLEANUP] ========================================
[23:12:27] [CLEANUP] Cleaning up all agent connections and views
[23:12:27] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:12:27] [CLEANUP] Stopped and removed 0 video connections
[23:12:27] [CLEANUP] Removed 0 video views
[23:12:27] [CLEANUP] Removed 0 feed scroll views
[23:12:27] [CLEANUP] Removed 0 status labels
[23:12:27] [CLEANUP] Reset agent query state
[23:12:27] [CLEANUP] Updated page indicator
[23:12:27] [CLEANUP] Rebuilt video layout
[23:12:27] [CLEANUP] ✅ All agent connections and views cleaned up
[23:12:27] [CLEANUP] ========================================
[23:12:27] [SERVER] Skipping reconnect polling - app is in background
[23:12:28] [PUSH_PRELOAD] Fetched 3220 messages - caching for instant display
[23:12:28] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[23:12:28] [WS] Opening session at ws://crivello.dyndns.org:8081/
[23:12:33] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[23:12:33] HELLO → sent (cached token, role=query)
[23:12:33] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[23:12:33] [WS] Query connection failed - cleaning up all agent connections and views
[23:12:33] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[23:12:33] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[23:12:33] [CLEANUP] ========================================
[23:12:33] [CLEANUP] Cleaning up all agent connections and views
[23:12:33] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:12:33] [CLEANUP] Stopped and removed 0 video connections
[23:12:33] [CLEANUP] Removed 0 video views
[23:12:33] [CLEANUP] Removed 0 feed scroll views
[23:12:33] [CLEANUP] Removed 0 status labels
[23:12:33] [CLEANUP] Reset agent query state
[23:12:33] [CLEANUP] Updated page indicator
[23:12:33] [CLEANUP] Rebuilt video layout
[23:12:33] [CLEANUP] ✅ All agent connections and views cleaned up
[23:12:33] [CLEANUP] ========================================
[23:12:33] [SERVER] Skipping reconnect polling - app is in background
[23:12:33] [CLEANUP] ========================================
[23:12:33] [CLEANUP] Cleaning up all agent connections and views
[23:12:33] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:12:33] [CLEANUP] Stopped and removed 0 video connections
[23:12:33] [CLEANUP] Removed 0 video views
[23:12:33] [CLEANUP] Removed 0 feed scroll views
[23:12:33] [CLEANUP] Removed 0 status labels
[23:12:33] [CLEANUP] Reset agent query state
[23:12:33] [CLEANUP] Updated page indicator
[23:12:33] [CLEANUP] Rebuilt video layout
[23:12:33] [CLEANUP] ✅ All agent connections and views cleaned up
[23:12:33] [CLEANUP] ========================================
[23:12:33] [SERVER] Skipping reconnect polling - app is in background
[23:12:34] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[23:12:34] [WS] Opening session at ws://crivello.dyndns.org:8081/
[23:12:35] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[23:12:35] HELLO → sent (cached token, role=query)
[23:12:35] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[23:12:35] [WS] Query connection failed - cleaning up all agent connections and views
[23:12:35] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[23:12:35] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[23:12:35] [CLEANUP] ========================================
[23:12:35] [CLEANUP] Cleaning up all agent connections and views
[23:12:35] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:12:35] [CLEANUP] Stopped and removed 0 video connections
[23:12:35] [CLEANUP] Removed 0 video views
[23:12:35] [CLEANUP] Removed 0 feed scroll views
[23:12:35] [CLEANUP] Removed 0 status labels
[23:12:35] [CLEANUP] Reset agent query state
[23:12:35] [CLEANUP] Updated page indicator
[23:12:35] [CLEANUP] Rebuilt video layout
[23:12:35] [CLEANUP] ✅ All agent connections and views cleaned up
[23:12:35] [CLEANUP] ========================================
[23:12:35] [SERVER] Skipping reconnect polling - app is in background
[23:12:35] [CLEANUP] ========================================
[23:12:35] [CLEANUP] Cleaning up all agent connections and views
[23:12:35] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:12:35] [CLEANUP] Stopped and removed 0 video connections
[23:12:35] [CLEANUP] Removed 0 video views
[23:12:35] [CLEANUP] Removed 0 feed scroll views
[23:12:35] [CLEANUP] Removed 0 status labels
[23:12:35] [CLEANUP] Reset agent query state
[23:12:35] [CLEANUP] Updated page indicator
[23:12:35] [CLEANUP] Rebuilt video layout
[23:12:35] [CLEANUP] ✅ All agent connections and views cleaned up
[23:12:35] [CLEANUP] ========================================
[23:12:35] [SERVER] Skipping reconnect polling - app is in background
[23:13:03] [PUSH_PRELOAD] ⚡ Pre-cached 3220 messages for instant display
[23:13:04] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[23:13:04] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_id"): 4331, AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
[23:13:04] [PUSH] Parsed message_id: 4331
[23:13:04] [PUSH] Parsed operation_type: 3
[23:13:04] [PUSH] Taking direct action: opType=3, messageId=4331
[23:13:04] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=4331
[23:13:04] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[23:13:04] [WS] Opening session at ws://crivello.dyndns.org:8081/
[23:13:04] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[23:13:04] HELLO → sent (cached token, role=query)
[23:13:04] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[23:13:04] [WS] Query connection failed - cleaning up all agent connections and views
[23:13:04] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[23:13:04] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[23:13:04] [CLEANUP] ========================================
[23:13:04] [CLEANUP] Cleaning up all agent connections and views
[23:13:04] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:13:04] [CLEANUP] Stopped and removed 0 video connections
[23:13:04] [CLEANUP] Removed 0 video views
[23:13:04] [CLEANUP] Removed 0 feed scroll views
[23:13:04] [CLEANUP] Removed 0 status labels
[23:13:04] [CLEANUP] Reset agent query state
[23:13:04] [CLEANUP] Updated page indicator
[23:13:04] [CLEANUP] Rebuilt video layout
[23:13:04] [CLEANUP] ✅ All agent connections and views cleaned up
[23:13:04] [CLEANUP] ========================================
[23:13:04] [SERVER] Skipping reconnect polling - app is in background
[23:13:04] [CLEANUP] ========================================
[23:13:04] [CLEANUP] Cleaning up all agent connections and views
[23:13:04] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:13:04] [CLEANUP] Stopped and removed 0 video connections
[23:13:04] [CLEANUP] Removed 0 video views
[23:13:04] [CLEANUP] Removed 0 feed scroll views
[23:13:04] [CLEANUP] Removed 0 status labels
[23:13:04] [CLEANUP] Reset agent query state
[23:13:04] [CLEANUP] Updated page indicator
[23:13:04] [CLEANUP] Rebuilt video layout
[23:13:04] [CLEANUP] ✅ All agent connections and views cleaned up
[23:13:04] [CLEANUP] ========================================
[23:13:04] [SERVER] Skipping reconnect polling - app is in background
[23:13:06] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[23:13:06] [WS] Opening session at ws://crivello.dyndns.org:8081/
[23:13:06] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[23:13:06] HELLO → sent (cached token, role=query)
[23:13:06] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[23:13:06] [WS] Query connection failed - cleaning up all agent connections and views
[23:13:06] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[23:13:06] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[23:13:06] [CLEANUP] ========================================
[23:13:06] [CLEANUP] Cleaning up all agent connections and views
[23:13:06] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:13:06] [CLEANUP] Stopped and removed 0 video connections
[23:13:06] [CLEANUP] Removed 0 video views
[23:13:06] [CLEANUP] Removed 0 feed scroll views
[23:13:06] [CLEANUP] Removed 0 status labels
[23:13:06] [CLEANUP] Reset agent query state
[23:13:06] [CLEANUP] Updated page indicator
[23:13:06] [CLEANUP] Rebuilt video layout
[23:13:06] [CLEANUP] ✅ All agent connections and views cleaned up
[23:13:06] [CLEANUP] ========================================
[23:13:06] [SERVER] Skipping reconnect polling - app is in background
[23:13:06] [CLEANUP] ========================================
[23:13:06] [CLEANUP] Cleaning up all agent connections and views
[23:13:06] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:13:06] [CLEANUP] Stopped and removed 0 video connections
[23:13:06] [CLEANUP] Removed 0 video views
[23:13:06] [CLEANUP] Removed 0 feed scroll views
[23:13:06] [CLEANUP] Removed 0 status labels
[23:13:06] [CLEANUP] Reset agent query state
[23:13:06] [CLEANUP] Updated page indicator
[23:13:06] [CLEANUP] Rebuilt video layout
[23:13:06] [CLEANUP] ✅ All agent connections and views cleaned up
[23:13:06] [CLEANUP] ========================================
[23:13:06] [SERVER] Skipping reconnect polling - app is in background
[23:15:48] [UPLOAD] Background session com.eye.background.upload finished
[23:15:48] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[23:15:48] [WS] Opening session at ws://crivello.dyndns.org:8081/
[23:15:48] [UPLOAD_RESPONSE] Started receiving response for task 12
[23:15:48] [UPLOAD_METRICS] Task 12 metrics:
[23:15:48] [UPLOAD_METRICS] Total time: 295.12s
[23:15:48] [UPLOAD_METRICS] Upload time: 40.00s
[23:15:48] [UPLOAD_METRICS] Response time: 0.00s
[23:15:48] [UPLOAD_METRICS] Network protocol: http/1.1
[23:15:48] [UPLOAD_METRICS] Proxy: no
[23:15:48] [UPLOAD_METRICS] Reused connection: no
[23:15:48] [UPLOAD_COMPLETE] ========== Task Completed ==========
[23:15:48] [UPLOAD_COMPLETE] Task ID: 12
[23:15:48] [UPLOAD_COMPLETE] Task state: 3 (0=running, 1=suspended, 2=canceling, 3=completed)
[23:15:48] [CHUNKED_COMPLETE] ========== Chunk Task Completed ==========
[23:15:48] [CHUNKED_COMPLETE] Task ID: 12
[23:15:48] [CHUNKED_COMPLETE] Chunk: 11/13
[23:15:48] [CHUNKED_COMPLETE] Filename: 4204ae439e7ffebc.mov
[23:15:48] [CHUNKED_COMPLETE] HTTP Status: 200
[23:15:48] [CHUNKED_COMPLETE] Response: {"ok":true,"chunkIndex":10,"receivedChunks":11,"totalChunks":13,"progress":84.62,"message":"Chunk received"}
[23:15:48] [CHUNKED_COMPLETE] ✅ Chunk 11/13 complete (84.6%)
[23:15:48] [CHUNKED_UPLOAD] ▶️ uploadChunk called: chunk 11/13
[23:15:48] [CHUNKED_UPLOAD] Uploading chunk 12/13
[23:15:48] [CHUNKED_UPLOAD] Offset: 1153433600 bytes
[23:15:48] [CHUNKED_UPLOAD] Size: 104857600 bytes (100.0 MB)
[23:15:48] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:15:48] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:15:48] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.8461538461538461) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:15:48] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:15:48] [CHUNKED_RESUME] Saved progress: chunk 11 completed
[23:15:48] [CHUNKED_UPLOAD] 📤 Sending chunk 11 via background session...
[23:15:48] [CHUNKED_UPLOAD] URL: https://crivello.dyndns.org:443/WebRTC/chat/upload_chunked.php
[23:15:48] [CHUNKED_UPLOAD] Body size: 104858372 bytes (100.0 MB)
[23:15:48] [CHUNKED_UPLOAD] Task 13 created for chunk 11
[23:15:48] [UPLOAD_SESSION] ========== urlSessionDidFinishEvents ==========
[23:15:48] [UPLOAD_SESSION] Background session finished all events
[23:15:48] [UPLOAD_SESSION] Session identifier: com.eye.background.upload
[23:15:48] [UPLOAD_SESSION] Background completion handler called
[23:15:48] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[23:15:48] HELLO → sent (cached token, role=query)
[23:15:49] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[23:15:49] [WS] Query connection failed - cleaning up all agent connections and views
[23:15:49] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[23:15:49] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[23:15:49] [CLEANUP] ========================================
[23:15:49] [CLEANUP] Cleaning up all agent connections and views
[23:15:49] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:15:49] [CLEANUP] Stopped and removed 0 video connections
[23:15:49] [CLEANUP] Removed 0 video views
[23:15:49] [CLEANUP] Removed 0 feed scroll views
[23:15:49] [CLEANUP] Removed 0 status labels
[23:15:49] [CLEANUP] Reset agent query state
[23:15:49] [CLEANUP] Updated page indicator
[23:15:49] [CLEANUP] Rebuilt video layout
[23:15:49] [CLEANUP] ✅ All agent connections and views cleaned up
[23:15:49] [CLEANUP] ========================================
[23:15:49] [SERVER] Skipping reconnect polling - app is in background
[23:15:49] [CLEANUP] ========================================
[23:15:49] [CLEANUP] Cleaning up all agent connections and views
[23:15:49] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:15:49] [CLEANUP] Stopped and removed 0 video connections
[23:15:49] [CLEANUP] Removed 0 video views
[23:15:49] [CLEANUP] Removed 0 feed scroll views
[23:15:49] [CLEANUP] Removed 0 status labels
[23:15:49] [CLEANUP] Reset agent query state
[23:15:49] [CLEANUP] Updated page indicator
[23:15:49] [CLEANUP] Rebuilt video layout
[23:15:49] [CLEANUP] ✅ All agent connections and views cleaned up
[23:15:49] [CLEANUP] ========================================
[23:15:49] [SERVER] Skipping reconnect polling - app is in background
[23:25:33] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU
[23:25:33] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[23:25:33] [LIFECYCLE] App entering foreground - restoring connections
[23:25:33] [UPLOAD_RETRY] No pending uploads to retry
[23:25:33] [LIFECYCLE] Merged 385 reactions from local DB
[23:25:33] [LIFECYCLE] Near top with 52 messages - trimming to 50
[23:25:33] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:25:33] [CELL_UPLOAD] configure: msgId=4328, file=4204ae439e7ffebc.mov, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=2
[23:25:33] [CELL_UPLOAD] → has active progress=0.8461538461538461, setting uploading
[23:25:33] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.8461538461538461) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:25:33] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:25:33] [LIFECYCLE] WebRTC audio re-enabled
[23:25:33] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone)
[23:25:33] [VIEWER] Reconnecting after background - querying agents
[23:25:33] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[23:25:33] [WS] Opening session at ws://crivello.dyndns.org:8081/
[23:25:33] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:25:33] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:25:33] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.9107687550506404) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:25:33] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:25:33] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[23:25:33] HELLO → sent (cached token, role=query)
[23:25:33] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[23:25:33] [WS] Query connection failed - cleaning up all agent connections and views
[23:25:33] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[23:25:33] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[23:25:33] [CLEANUP] ========================================
[23:25:33] [CLEANUP] Cleaning up all agent connections and views
[23:25:33] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:25:33] [CLEANUP] Stopped and removed 0 video connections
[23:25:33] [CLEANUP] Removed 0 video views
[23:25:33] [CLEANUP] Removed 0 feed scroll views
[23:25:33] [CLEANUP] Removed 0 status labels
[23:25:33] [CLEANUP] Reset agent query state
[23:25:33] [CLEANUP] Updated page indicator
[23:25:33] [CLEANUP] Rebuilt video layout
[23:25:33] [CLEANUP] ✅ All agent connections and views cleaned up
[23:25:33] [CLEANUP] ========================================
[23:25:33] [SERVER] Starting reconnect polling (5s interval)
[23:25:33] [CLEANUP] ========================================
[23:25:33] [CLEANUP] Cleaning up all agent connections and views
[23:25:33] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:25:33] [CLEANUP] Stopped and removed 0 video connections
[23:25:33] [CLEANUP] Removed 0 video views
[23:25:33] [CLEANUP] Removed 0 feed scroll views
[23:25:33] [CLEANUP] Removed 0 status labels
[23:25:33] [CLEANUP] Reset agent query state
[23:25:33] [CLEANUP] Updated page indicator
[23:25:33] [CLEANUP] Rebuilt video layout
[23:25:33] [CLEANUP] ✅ All agent connections and views cleaned up
[23:25:33] [CLEANUP] ========================================
[23:25:33] [SERVER] Starting reconnect polling (5s interval)
[23:25:33] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:25:33] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:25:33] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.9111533676035974) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:25:33] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:25:34] [SECURITY] sceneDidBecomeActive - isAuthenticated=true, didEnterBackground=true
[23:25:34] [SECURITY] Timeout exceeded - requiring re-authentication
[23:25:34] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow
[23:25:34] [PUSH] handlePollEventsNotification userInfo: [:]
[23:25:34] [PUSH] No message_id in userInfo
[23:25:34] [PUSH] No operation_type in userInfo
[23:25:34] [FAST_REFRESH] Evolution disabled - performing incremental sync
[23:25:34] [FAST_REFRESH] Already have 50 messages - skipping local DB load
[23:25:34] [FAST_REFRESH] About to call reloadMessagesForCurrentTab(), isMainThread=true, viewLoaded=true
[23:25:34] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:25:34] [CELL_UPLOAD] configure: msgId=4328, file=4204ae439e7ffebc.mov, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=2
[23:25:34] [CELL_UPLOAD] → has active progress=0.9111533676035974, setting uploading
[23:25:34] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.9111533676035974) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:25:34] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:25:34] [FAST_REFRESH] reloadMessagesForCurrentTab() called successfully
[23:25:34] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 4331
[23:25:34] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:25:34] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:25:34] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.9115379801565546) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:25:34] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:25:34] [INCREMENTAL_SYNC] ✅ No new messages
[23:25:34] [FAST_REFRESH] Incremental sync complete - 50 messages
[23:25:34] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:25:34] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:25:34] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.9119225927095117) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:25:34] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:25:35] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:25:35] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:25:35] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.9123072052624688) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:25:35] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:25:35] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[23:25:35] [WS] Opening session at ws://crivello.dyndns.org:8081/
[23:25:35] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[23:25:35] HELLO → sent (cached token, role=query)
[23:25:35] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[23:25:35] [WS] Query connection failed - cleaning up all agent connections and views
[23:25:35] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[23:25:35] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[23:25:35] [CLEANUP] ========================================
[23:25:35] [CLEANUP] Cleaning up all agent connections and views
[23:25:35] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:25:35] [CLEANUP] Stopped and removed 0 video connections
[23:25:35] [CLEANUP] Removed 0 video views
[23:25:35] [CLEANUP] Removed 0 feed scroll views
[23:25:35] [CLEANUP] Removed 0 status labels
[23:25:35] [CLEANUP] Reset agent query state
[23:25:35] [CLEANUP] Updated page indicator
[23:25:35] [CLEANUP] Rebuilt video layout
[23:25:35] [CLEANUP] ✅ All agent connections and views cleaned up
[23:25:35] [CLEANUP] ========================================
[23:25:35] [SERVER] Starting reconnect polling (5s interval)
[23:25:35] [CLEANUP] ========================================
[23:25:35] [CLEANUP] Cleaning up all agent connections and views
[23:25:35] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:25:35] [CLEANUP] Stopped and removed 0 video connections
[23:25:35] [CLEANUP] Removed 0 video views
[23:25:35] [CLEANUP] Removed 0 feed scroll views
[23:25:35] [CLEANUP] Removed 0 status labels
[23:25:35] [CLEANUP] Reset agent query state
[23:25:35] [CLEANUP] Updated page indicator
[23:25:35] [CLEANUP] Rebuilt video layout
[23:25:35] [CLEANUP] ✅ All agent connections and views cleaned up
[23:25:35] [CLEANUP] ========================================
[23:25:35] [SERVER] Starting reconnect polling (5s interval)
[23:25:35] [COMBINED_FETCH] Loaded 3220 read receipts, 385 messages with reactions
[23:25:35] [FAST_REFRESH] Enriched 50 messages with readBy data
[23:25:35] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:25:35] [CELL_UPLOAD] configure: msgId=4328, file=4204ae439e7ffebc.mov, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=2
[23:25:35] [CELL_UPLOAD] → has active progress=0.9123072052624688, setting uploading
[23:25:35] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.9123072052624688) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:25:35] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:25:36] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:25:36] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:25:36] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.912691817815426) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:25:36] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:25:37] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[23:25:37] [WS] Opening session at ws://crivello.dyndns.org:8081/
[23:25:37] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:25:37] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:25:37] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.9130764303683829) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:25:37] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:25:37] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[23:25:37] HELLO → sent (cached token, role=query)
[23:25:37] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[23:25:37] [WS] Query connection failed - cleaning up all agent connections and views
[23:25:37] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[23:25:37] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[23:25:37] [CLEANUP] ========================================
[23:25:37] [CLEANUP] Cleaning up all agent connections and views
[23:25:37] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:25:37] [CLEANUP] Stopped and removed 0 video connections
[23:25:37] [CLEANUP] Removed 0 video views
[23:25:37] [CLEANUP] Removed 0 feed scroll views
[23:25:37] [CLEANUP] Removed 0 status labels
[23:25:37] [CLEANUP] Reset agent query state
[23:25:37] [CLEANUP] Updated page indicator
[23:25:37] [CLEANUP] Rebuilt video layout
[23:25:37] [CLEANUP] ✅ All agent connections and views cleaned up
[23:25:37] [CLEANUP] ========================================
[23:25:37] [SERVER] Starting reconnect polling (5s interval)
[23:25:37] [CLEANUP] ========================================
[23:25:37] [CLEANUP] Cleaning up all agent connections and views
[23:25:37] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:25:37] [CLEANUP] Stopped and removed 0 video connections
[23:25:37] [CLEANUP] Removed 0 video views
[23:25:37] [CLEANUP] Removed 0 feed scroll views
[23:25:37] [CLEANUP] Removed 0 status labels
[23:25:37] [CLEANUP] Reset agent query state
[23:25:37] [CLEANUP] Updated page indicator
[23:25:37] [CLEANUP] Rebuilt video layout
[23:25:37] [CLEANUP] ✅ All agent connections and views cleaned up
[23:25:37] [CLEANUP] ========================================
[23:25:37] [SERVER] Starting reconnect polling (5s interval)
[23:25:37] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:25:37] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:25:37] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.91346104292134) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:25:37] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:25:38] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:25:38] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:25:38] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.9138456554742972) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:25:38] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:25:38] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:25:38] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:25:38] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.9142302680272543) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:25:38] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:25:38] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[23:25:38] [WS] Opening session at ws://crivello.dyndns.org:8081/
[23:25:39] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[23:25:39] HELLO → sent (cached token, role=query)
[23:25:39] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[23:25:39] [WS] Query connection failed - cleaning up all agent connections and views
[23:25:39] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[23:25:39] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[23:25:39] [CLEANUP] ========================================
[23:25:39] [CLEANUP] Cleaning up all agent connections and views
[23:25:39] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:25:39] [CLEANUP] Stopped and removed 0 video connections
[23:25:39] [CLEANUP] Removed 0 video views
[23:25:39] [CLEANUP] Removed 0 feed scroll views
[23:25:39] [CLEANUP] Removed 0 status labels
[23:25:39] [CLEANUP] Reset agent query state
[23:25:39] [CLEANUP] Updated page indicator
[23:25:39] [CLEANUP] Rebuilt video layout
[23:25:39] [CLEANUP] ✅ All agent connections and views cleaned up
[23:25:39] [CLEANUP] ========================================
[23:25:39] [SERVER] Starting reconnect polling (5s interval)
[23:25:39] [CLEANUP] ========================================
[23:25:39] [CLEANUP] Cleaning up all agent connections and views
[23:25:39] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:25:39] [CLEANUP] Stopped and removed 0 video connections
[23:25:39] [CLEANUP] Removed 0 video views
[23:25:39] [CLEANUP] Removed 0 feed scroll views
[23:25:39] [CLEANUP] Removed 0 status labels
[23:25:39] [CLEANUP] Reset agent query state
[23:25:39] [CLEANUP] Updated page indicator
[23:25:39] [CLEANUP] Rebuilt video layout
[23:25:39] [CLEANUP] ✅ All agent connections and views cleaned up
[23:25:39] [CLEANUP] ========================================
[23:25:39] [SERVER] Starting reconnect polling (5s interval)
[23:25:39] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:25:39] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:25:39] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.9146148805802115) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:25:39] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:25:39] [PIN_AUTH] Correct PIN
[23:25:39] [SECURITY] Restored real session: ILUIWU
[23:25:39] [SECURITY] Restored real session: ILUIWU
[23:25:39] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:25:39] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:25:39] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.9149994931331685) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:25:39] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:25:39] [LOCK] ✅ PIN auth callback - setting isAuthenticated = true
[23:25:40] [FAKE MODE] Exiting fake mode, restoring real session
[23:25:40] [SECURITY] Restored real session: ILUIWU
[23:25:40] [SECURITY] Saved real session: ILUIWU
[23:25:40] [FAKE MODE] ✅ Restored real session: ILUIWU
[23:25:40] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:25:40] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:25:40] DOWNLOADIIING 1b1a78050ebe099b.jpg
[23:25:40] DOWNLOADIIING bae538c2a3076c11.heic
[23:25:40] DOWNLOADIIING ee42d57ffd8ab767.jpg
[23:25:40] DOWNLOADIIING 5cfd84d52271d308.heic
[23:25:40] DOWNLOADIIING 0f2dda66cccdeadf.heic
[23:25:40] DOWNLOADIIING 2a4c7380908d6595.jpg
[23:25:41] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:25:41] [CELL_UPLOAD] configure: msgId=4328, file=4204ae439e7ffebc.mov, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=EDAD55A1-003F-415D-AA60-672B34B504FE, isMyMessage=true, hasFilename=true, uploadStatus=0
[23:25:41] [CELL_UPLOAD] → has active progress=0.9153841056861256, setting uploading
[23:25:41] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.9153841056861256) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:25:41] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:25:41] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.9153841056861256) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:25:41] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:25:41] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:25:41] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:25:41] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[23:25:41] [WS] Opening session at ws://crivello.dyndns.org:8081/
[23:25:41] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:25:41] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:25:41] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.9157687182390828) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:25:41] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:25:41] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.9161533307920399) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:25:41] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:25:41] [MENU] 🔍 dismissAnyExistingMenu called
[23:25:41] [MENU] ℹ️ No menu with tag 9999 found
[23:25:41] [MENU] ✅ dismissAnyExistingMenu completed
[23:25:41] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=true, tab=0
[23:25:41] [SEARCH] 🔽 Hiding search bar (user started scrolling)
[23:25:41] [SEARCH] hideSearchBar() called - animated=true, isSearchBarVisible=true
[23:25:41] [SEARCH] ✅ Setting isSearchBarVisible = false
[23:25:41] [SEARCH] Adjusting table contentInset.top by -56.0
[23:25:41] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[23:25:41] HELLO → sent (cached token, role=query)
[23:25:41] [SEARCH] handleTopRefresh called - tab=0, isSearchBarVisible=false
[23:25:41] [SEARCH] 🔍 First pull on Tab 0 - showing search bar instead of refresh
[23:25:41] [SEARCH] showSearchBar() called - animated=true, isSearchBarVisible=false
[23:25:41] [SEARCH] ✅ Setting isSearchBarVisible = true
[23:25:41] [SEARCH] chatSearchBar is nil? false
[23:25:41] [SEARCH] Applied theme: day
[23:25:41] [SEARCH] Adjusting table contentInset.top by +56.0
[23:25:41] [SEARCH] Table contentInset.top: 40.0 -> 96.0
[23:25:41] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:25:41] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:25:41] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.9165379433449969) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:25:41] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:25:41] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[23:25:41] [WS] Query connection failed - cleaning up all agent connections and views
[23:25:41] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[23:25:41] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[23:25:41] [CLEANUP] ========================================
[23:25:41] [CLEANUP] Cleaning up all agent connections and views
[23:25:41] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:25:41] [CLEANUP] Stopped and removed 0 video connections
[23:25:41] [CLEANUP] Removed 0 video views
[23:25:41] [CLEANUP] Removed 0 feed scroll views
[23:25:41] [CLEANUP] Removed 0 status labels
[23:25:41] [CLEANUP] Reset agent query state
[23:25:41] [CLEANUP] Updated page indicator
[23:25:41] [CLEANUP] Rebuilt video layout
[23:25:41] [CLEANUP] ✅ All agent connections and views cleaned up
[23:25:41] [CLEANUP] ========================================
[23:25:41] [SERVER] Starting reconnect polling (5s interval)
[23:25:41] [CLEANUP] ========================================
[23:25:41] [CLEANUP] Cleaning up all agent connections and views
[23:25:41] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:25:41] [CLEANUP] Stopped and removed 0 video connections
[23:25:41] [CLEANUP] Removed 0 video views
[23:25:41] [CLEANUP] Removed 0 feed scroll views
[23:25:41] [CLEANUP] Removed 0 status labels
[23:25:41] [CLEANUP] Reset agent query state
[23:25:41] [CLEANUP] Updated page indicator
[23:25:41] [CLEANUP] Rebuilt video layout
[23:25:41] [CLEANUP] ✅ All agent connections and views cleaned up
[23:25:41] [CLEANUP] ========================================
[23:25:41] [SERVER] Starting reconnect polling (5s interval)
[23:25:41] [SEARCH] Focusing search field
[23:25:41] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:25:41] [SEARCH] contentOffset.y=-107.33333333333333, topInset=96.0, pullDistance=11.333333333333329
[23:25:41] [SEARCH] threshold=80.0, isSearchBarVisible=true
[23:25:41] [SEARCH] topRefresh.isRefreshing=false
[23:25:41] [SEARCH] ❌ Pull distance 11.333333333333329 < threshold 80.0
[23:25:41] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:25:41] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:25:41] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.9169225558979541) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:25:41] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:25:41] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:25:41] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:25:41] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.9173071684509112) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:25:41] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:25:42] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:25:42] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:25:42] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.9176917810038682) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:25:42] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:25:42] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:25:42] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:25:42] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.9180763935568254) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:25:42] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:25:42] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:25:42] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:25:42] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.9184610061097824) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:25:42] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:25:42] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[23:25:42] [WS] Opening session at ws://crivello.dyndns.org:8081/
[23:25:43] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[23:25:43] HELLO → sent (cached token, role=query)
[23:25:43] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:25:43] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:25:43] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.9188456186627396) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:25:43] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:25:43] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[23:25:43] [WS] Query connection failed - cleaning up all agent connections and views
[23:25:43] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[23:25:43] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[23:25:43] [CLEANUP] ========================================
[23:25:43] [CLEANUP] Cleaning up all agent connections and views
[23:25:43] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:25:43] [CLEANUP] Stopped and removed 0 video connections
[23:25:43] [CLEANUP] Removed 0 video views
[23:25:43] [CLEANUP] Removed 0 feed scroll views
[23:25:43] [CLEANUP] Removed 0 status labels
[23:25:43] [CLEANUP] Reset agent query state
[23:25:43] [CLEANUP] Updated page indicator
[23:25:43] [CLEANUP] Rebuilt video layout
[23:25:43] [CLEANUP] ✅ All agent connections and views cleaned up
[23:25:43] [CLEANUP] ========================================
[23:25:43] [SERVER] Starting reconnect polling (5s interval)
[23:25:43] [CLEANUP] ========================================
[23:25:43] [CLEANUP] Cleaning up all agent connections and views
[23:25:43] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:25:43] [CLEANUP] Stopped and removed 0 video connections
[23:25:43] [CLEANUP] Removed 0 video views
[23:25:43] [CLEANUP] Removed 0 feed scroll views
[23:25:43] [CLEANUP] Removed 0 status labels
[23:25:43] [CLEANUP] Reset agent query state
[23:25:43] [CLEANUP] Updated page indicator
[23:25:43] [CLEANUP] Rebuilt video layout
[23:25:43] [CLEANUP] ✅ All agent connections and views cleaned up
[23:25:43] [CLEANUP] ========================================
[23:25:43] [SERVER] Starting reconnect polling (5s interval)
[23:25:43] [MENU] 🔍 dismissAnyExistingMenu called
[23:25:43] [MENU] ℹ️ No menu with tag 9999 found
[23:25:43] [MENU] ✅ dismissAnyExistingMenu completed
[23:25:43] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=true, tab=0
[23:25:43] [SEARCH] 🔽 Hiding search bar (user started scrolling)
[23:25:43] [SEARCH] hideSearchBar() called - animated=true, isSearchBarVisible=true
[23:25:43] [SEARCH] ✅ Setting isSearchBarVisible = false
[23:25:43] [SEARCH] Adjusting table contentInset.top by -56.0
[23:25:43] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:25:43] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:25:43] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.9192302312156967) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:25:43] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:25:43] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:25:43] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:25:43] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.9196148437686538) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:25:43] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:25:43] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:25:43] [SEARCH] contentOffset.y=26.0, topInset=40.0, pullDistance=-66.0
[23:25:43] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:25:43] [SEARCH] topRefresh.isRefreshing=false
[23:25:43] [SEARCH] ❌ Pull distance -66.0 < threshold 80.0
[23:25:44] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:25:44] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:25:44] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.919999456321611) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:25:44] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:25:44] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:25:44] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:25:44] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.920384068874568) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:25:44] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:25:44] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[23:25:44] [WS] Opening session at ws://crivello.dyndns.org:8081/
[23:25:44] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:25:44] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:25:44] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.9207686814275251) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:25:44] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:25:44] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[23:25:44] HELLO → sent (cached token, role=query)
[23:25:44] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[23:25:44] [WS] Query connection failed - cleaning up all agent connections and views
[23:25:44] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[23:25:44] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[23:25:44] [CLEANUP] ========================================
[23:25:44] [CLEANUP] Cleaning up all agent connections and views
[23:25:44] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:25:44] [CLEANUP] Stopped and removed 0 video connections
[23:25:44] [CLEANUP] Removed 0 video views
[23:25:44] [CLEANUP] Removed 0 feed scroll views
[23:25:44] [CLEANUP] Removed 0 status labels
[23:25:44] [CLEANUP] Reset agent query state
[23:25:44] [CLEANUP] Updated page indicator
[23:25:44] [CLEANUP] Rebuilt video layout
[23:25:44] [CLEANUP] ✅ All agent connections and views cleaned up
[23:25:44] [CLEANUP] ========================================
[23:25:44] [SERVER] Starting reconnect polling (5s interval)
[23:25:44] [CLEANUP] ========================================
[23:25:44] [CLEANUP] Cleaning up all agent connections and views
[23:25:44] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:25:44] [CLEANUP] Stopped and removed 0 video connections
[23:25:44] [CLEANUP] Removed 0 video views
[23:25:44] [CLEANUP] Removed 0 feed scroll views
[23:25:44] [CLEANUP] Removed 0 status labels
[23:25:44] [CLEANUP] Reset agent query state
[23:25:44] [CLEANUP] Updated page indicator
[23:25:44] [CLEANUP] Rebuilt video layout
[23:25:44] [CLEANUP] ✅ All agent connections and views cleaned up
[23:25:44] [CLEANUP] ========================================
[23:25:44] [SERVER] Starting reconnect polling (5s interval)
[23:25:45] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:25:45] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:25:45] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.9211532939804823) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:25:45] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:25:45] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:25:45] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:25:45] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.9215379065334394) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:25:45] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:25:45] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:25:45] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:25:45] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.9219225190863966) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:25:45] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:25:45] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:25:45] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:25:45] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.9223071316393536) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:25:45] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:25:46] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:25:46] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:25:46] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.9226917441923107) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:25:46] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:25:46] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:25:46] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:25:46] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.9230763567452679) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:25:46] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:25:46] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[23:25:46] [WS] Opening session at ws://crivello.dyndns.org:8081/
[23:25:46] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[23:25:46] HELLO → sent (cached token, role=query)
[23:25:46] [CHUNKED_PROGRESS] 4204ae439e7ffebc.mov: chunk 12/13 - 100% (100.0/100.0 MB)
[23:25:46] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:25:46] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:25:46] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.9230769230769231) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:25:46] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:25:46] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[23:25:46] [WS] Query connection failed - cleaning up all agent connections and views
[23:25:46] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[23:25:46] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[23:25:46] [CLEANUP] ========================================
[23:25:46] [CLEANUP] Cleaning up all agent connections and views
[23:25:46] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:25:46] [CLEANUP] Stopped and removed 0 video connections
[23:25:46] [CLEANUP] Removed 0 video views
[23:25:46] [CLEANUP] Removed 0 feed scroll views
[23:25:46] [CLEANUP] Removed 0 status labels
[23:25:46] [CLEANUP] Reset agent query state
[23:25:46] [CLEANUP] Updated page indicator
[23:25:46] [CLEANUP] Rebuilt video layout
[23:25:46] [CLEANUP] ✅ All agent connections and views cleaned up
[23:25:46] [CLEANUP] ========================================
[23:25:46] [SERVER] Starting reconnect polling (5s interval)
[23:25:46] [CLEANUP] ========================================
[23:25:46] [CLEANUP] Cleaning up all agent connections and views
[23:25:46] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:25:46] [CLEANUP] Stopped and removed 0 video connections
[23:25:46] [CLEANUP] Removed 0 video views
[23:25:46] [CLEANUP] Removed 0 feed scroll views
[23:25:46] [CLEANUP] Removed 0 status labels
[23:25:46] [CLEANUP] Reset agent query state
[23:25:46] [CLEANUP] Updated page indicator
[23:25:46] [CLEANUP] Rebuilt video layout
[23:25:46] [CLEANUP] ✅ All agent connections and views cleaned up
[23:25:46] [CLEANUP] ========================================
[23:25:46] [SERVER] Starting reconnect polling (5s interval)
[23:25:48] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[23:25:48] [WS] Opening session at ws://crivello.dyndns.org:8081/
[23:25:48] [MENU] 🔍 dismissAnyExistingMenu called
[23:25:48] [MENU] ℹ️ No menu with tag 9999 found
[23:25:48] [MENU] ✅ dismissAnyExistingMenu completed
[23:25:48] [SEARCH] scrollViewWillBeginDragging - isSearchBarVisible=false, tab=0
[23:25:48] [SEARCH] scrollViewDidEndDragging - scrollView=messagesTable, tab=0
[23:25:48] [SEARCH] contentOffset.y=9.666666666666666, topInset=40.0, pullDistance=-49.666666666666664
[23:25:48] [SEARCH] threshold=80.0, isSearchBarVisible=false
[23:25:48] [SEARCH] topRefresh.isRefreshing=false
[23:25:48] [SEARCH] ❌ Pull distance -49.666666666666664 < threshold 80.0
[23:25:48] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[23:25:48] HELLO → sent (cached token, role=query)
[23:25:48] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[23:25:48] [WS] Query connection failed - cleaning up all agent connections and views
[23:25:48] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[23:25:48] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[23:25:48] [CLEANUP] ========================================
[23:25:48] [CLEANUP] Cleaning up all agent connections and views
[23:25:48] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:25:48] [CLEANUP] Stopped and removed 0 video connections
[23:25:48] [CLEANUP] Removed 0 video views
[23:25:48] [CLEANUP] Removed 0 feed scroll views
[23:25:48] [CLEANUP] Removed 0 status labels
[23:25:48] [CLEANUP] Reset agent query state
[23:25:48] [CLEANUP] Updated page indicator
[23:25:48] [CLEANUP] Rebuilt video layout
[23:25:48] [CLEANUP] ✅ All agent connections and views cleaned up
[23:25:48] [CLEANUP] ========================================
[23:25:48] [SERVER] Starting reconnect polling (5s interval)
[23:25:48] [CLEANUP] ========================================
[23:25:48] [CLEANUP] Cleaning up all agent connections and views
[23:25:48] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:25:48] [CLEANUP] Stopped and removed 0 video connections
[23:25:48] [CLEANUP] Removed 0 video views
[23:25:48] [CLEANUP] Removed 0 feed scroll views
[23:25:48] [CLEANUP] Removed 0 status labels
[23:25:48] [CLEANUP] Reset agent query state
[23:25:48] [CLEANUP] Updated page indicator
[23:25:48] [CLEANUP] Rebuilt video layout
[23:25:48] [CLEANUP] ✅ All agent connections and views cleaned up
[23:25:48] [CLEANUP] ========================================
[23:25:48] [SERVER] Starting reconnect polling (5s interval)
[23:25:49] [UPLOAD_RESPONSE] Started receiving response for task 13
[23:25:49] [UPLOAD_METRICS] Task 13 metrics:
[23:25:49] [UPLOAD_METRICS] Total time: 600.71s
[23:25:49] [UPLOAD_METRICS] Upload time: 61.82s
[23:25:49] [UPLOAD_METRICS] Response time: 0.00s
[23:25:49] [UPLOAD_METRICS] Network protocol: http/1.1
[23:25:49] [UPLOAD_METRICS] Proxy: no
[23:25:49] [UPLOAD_METRICS] Reused connection: no
[23:25:49] [UPLOAD_COMPLETE] ========== Task Completed ==========
[23:25:49] [UPLOAD_COMPLETE] Task ID: 13
[23:25:49] [UPLOAD_COMPLETE] Task state: 3 (0=running, 1=suspended, 2=canceling, 3=completed)
[23:25:49] [CHUNKED_COMPLETE] ========== Chunk Task Completed ==========
[23:25:49] [CHUNKED_COMPLETE] Task ID: 13
[23:25:49] [CHUNKED_COMPLETE] Chunk: 12/13
[23:25:49] [CHUNKED_COMPLETE] Filename: 4204ae439e7ffebc.mov
[23:25:49] [CHUNKED_COMPLETE] HTTP Status: 200
[23:25:49] [CHUNKED_COMPLETE] Response: {"ok":true,"chunkIndex":11,"receivedChunks":12,"totalChunks":13,"progress":92.31,"message":"Chunk received"}
[23:25:49] [CHUNKED_COMPLETE] ✅ Chunk 12/13 complete (92.3%)
[23:25:49] [CHUNKED_UPLOAD] ▶️ uploadChunk called: chunk 12/13
[23:25:49] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:25:49] [CHUNKED_UPLOAD] Uploading chunk 13/13
[23:25:49] [CHUNKED_UPLOAD] Offset: 1258291200 bytes
[23:25:49] [CHUNKED_UPLOAD] Size: 9680917 bytes (9.2 MB)
[23:25:49] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:25:49] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.9230769230769231) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:25:49] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:25:49] [CHUNKED_UPLOAD] 📤 Sending chunk 12 via background session...
[23:25:49] [CHUNKED_UPLOAD] URL: https://crivello.dyndns.org:443/WebRTC/chat/upload_chunked.php
[23:25:49] [CHUNKED_UPLOAD] Body size: 9681689 bytes (9.2 MB)
[23:25:49] [CHUNKED_RESUME] Saved progress: chunk 12 completed
[23:25:49] [CHUNKED_UPLOAD] Task 14 created for chunk 12
[23:25:49] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:25:49] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:25:49] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.9314080822690529) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:25:49] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:25:50] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[23:25:50] [WS] Opening session at ws://crivello.dyndns.org:8081/
[23:25:50] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[23:25:50] HELLO → sent (cached token, role=query)
[23:25:50] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[23:25:50] [WS] Query connection failed - cleaning up all agent connections and views
[23:25:50] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[23:25:50] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[23:25:50] [CLEANUP] ========================================
[23:25:50] [CLEANUP] Cleaning up all agent connections and views
[23:25:50] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:25:50] [CLEANUP] Stopped and removed 0 video connections
[23:25:50] [CLEANUP] Removed 0 video views
[23:25:50] [CLEANUP] Removed 0 feed scroll views
[23:25:50] [CLEANUP] Removed 0 status labels
[23:25:50] [CLEANUP] Reset agent query state
[23:25:50] [CLEANUP] Updated page indicator
[23:25:50] [CLEANUP] Rebuilt video layout
[23:25:50] [CLEANUP] ✅ All agent connections and views cleaned up
[23:25:50] [CLEANUP] ========================================
[23:25:50] [SERVER] Starting reconnect polling (5s interval)
[23:25:50] [CLEANUP] ========================================
[23:25:50] [CLEANUP] Cleaning up all agent connections and views
[23:25:50] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:25:50] [CLEANUP] Stopped and removed 0 video connections
[23:25:50] [CLEANUP] Removed 0 video views
[23:25:50] [CLEANUP] Removed 0 feed scroll views
[23:25:50] [CLEANUP] Removed 0 status labels
[23:25:50] [CLEANUP] Reset agent query state
[23:25:50] [CLEANUP] Updated page indicator
[23:25:50] [CLEANUP] Rebuilt video layout
[23:25:50] [CLEANUP] ✅ All agent connections and views cleaned up
[23:25:50] [CLEANUP] ========================================
[23:25:50] [SERVER] Starting reconnect polling (5s interval)
[23:25:52] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[23:25:52] [WS] Opening session at ws://crivello.dyndns.org:8081/
[23:25:52] [UPLOAD_STATUS] Updated in-memory status=2 for file: 4204ae439e7ffebc.mov
[23:25:52] [UPLOAD_STATUS] Updated status=2 for file: 4204ae439e7ffebc.mov
[23:25:52] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.9355736618651178) for file=4204ae439e7ffebc.mov, overlayExists=true
[23:25:52] [CELL_UPLOAD] → uploading: progressBar.isHidden=false, overlay.isHidden=false, alpha=0.699999988079071
[23:25:52] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[23:25:52] HELLO → sent (cached token, role=query)
[23:25:52] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[23:25:52] [WS] Query connection failed - cleaning up all agent connections and views
[23:25:52] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[23:25:52] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[23:25:52] [CLEANUP] ========================================
[23:25:52] [CLEANUP] Cleaning up all agent connections and views
[23:25:52] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:25:52] [CLEANUP] Stopped and removed 0 video connections
[23:25:52] [CLEANUP] Removed 0 video views
[23:25:52] [CLEANUP] Removed 0 feed scroll views
[23:25:52] [CLEANUP] Removed 0 status labels
[23:25:52] [CLEANUP] Reset agent query state
[23:25:52] [CLEANUP] Updated page indicator
[23:25:52] [CLEANUP] Rebuilt video layout
[23:25:52] [CLEANUP] ✅ All agent connections and views cleaned up
[23:25:52] [CLEANUP] ========================================
[23:25:52] [SERVER] Starting reconnect polling (5s interval)
[23:25:52] [CLEANUP] ========================================
[23:25:52] [CLEANUP] Cleaning up all agent connections and views
[23:25:52] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[23:25:52] [CLEANUP] Stopped and removed 0 video connections
[23:25:52] [CLEANUP] Removed 0 video views
[23:25:52] [CLEANUP] Removed 0 feed scroll views
[23:25:52] [CLEANUP] Removed 0 status labels
[23:25:52] [CLEANUP] Reset agent query state
[23:25:52] [CLEANUP] Updated page indicator
[23:25:52] [CLEANUP] Rebuilt video layout
[23:25:52] [CLEANUP] ✅ All agent connections and views cleaned up
[23:25:52] [CLEANUP] ========================================
[23:25:52] [SERVER] Starting reconnect polling (5s interval)