← Back to list | Download | viewer_ILUIWU_viewer_2025-12-05_10-06-58.log (5,268,184 bytes)
=== EYE VIEWER COMBINED LOG DUMP ===
Timestamp: 2025-12-05 10:06:57 +0000
iOS Version: 26.1
Device: iPhone
Number of log files: 2
=====================================



========== viewer_debug.log ==========
=== Eye Viewer Log Cleared at 2025-12-05 10:06:08 +0000 ===
[11:06:08] [CRASH] No crash detected - clearing logs
[11:06:08] [FONT] Roboto fonts loaded successfully: Roboto-Regular
[11:06:08] [FONT] ChatFont.regular(18) returns: Roboto-Regular, family: Roboto
[11:06:08] [GIPHY] SDK not available - using REST API fallback
[11:06:08] [BACKGROUND] Background fetch enabled
[11:06:08] [PRELOAD] ⚑ Starting message pre-load during authentication...
[11:06:08] [SECURITY] Initial launch - timeout exceeded (228.41476607322693s > 120.0s)
[11:06:08] [SECURITY] Saved real session: ILUIWU
[11:06:08] [SCENE] Launched directly to chat view with sessionId: ILUIWU
[11:06:08] [LIFECYCLE] ViewController deallocated
[11:06:08] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:06:08] Documents Directory: /var/mobile/Containers/Data/Application/CACFB43A-12C0-48BA-8368-3073665CEB5E/Documents
[11:06:08] [MEDIA_DEBUG] ========== MEDIA CACHE CONTENTS ==========
[11:06:08] [MEDIA_DEBUG] Directory: /var/mobile/Containers/Data/Application/CACFB43A-12C0-48BA-8368-3073665CEB5E/Documents/MediaCache
[11:06:08] [MEDIA_DEBUG] 1. πŸ–ΌοΈ t_1c0713032a0b2d7d.jpg
[11:06:08] [MEDIA_DEBUG]    Size: 0.01 MB
[11:06:08] [MEDIA_DEBUG]    Modified: 2025-12-05 10:55:30
[11:06:08] [MEDIA_DEBUG] 2. 🎬 1c0713032a0b2d7d.mov
[11:06:08] [MEDIA_DEBUG]    Size: 2.20 MB
[11:06:08] [MEDIA_DEBUG]    Modified: 2025-12-05 10:55:21
[11:06:08] [MEDIA_DEBUG] 3. πŸ–ΌοΈ e9a27a34e2625c3d.jpg
[11:06:08] [MEDIA_DEBUG]    Size: 0.51 MB
[11:06:08] [MEDIA_DEBUG]    Modified: 2025-12-05 10:24:11
[11:06:08] [MEDIA_DEBUG] 4. πŸ–ΌοΈ t_e9a27a34e2625c3d.jpg
[11:06:08] [MEDIA_DEBUG]    Size: 0.01 MB
[11:06:08] [MEDIA_DEBUG]    Modified: 2025-12-05 10:24:09
[11:06:08] [MEDIA_DEBUG] 5. πŸ–ΌοΈ 551980bdd1384bb8.jpg
[11:06:08] [MEDIA_DEBUG]    Size: 5.03 MB
[11:06:08] [MEDIA_DEBUG]    Modified: 2025-12-05 10:04:33
[11:06:08] [MEDIA_DEBUG] 6. πŸ–ΌοΈ 08fdc161309680e2.jpg
[11:06:08] [MEDIA_DEBUG]    Size: 5.60 MB
[11:06:08] [MEDIA_DEBUG]    Modified: 2025-12-05 10:04:32
[11:06:08] [MEDIA_DEBUG] 7. πŸ–ΌοΈ e75a4dfe36e48d00.jpg
[11:06:08] [MEDIA_DEBUG]    Size: 3.26 MB
[11:06:08] [MEDIA_DEBUG]    Modified: 2025-12-05 10:04:32
[11:06:08] [MEDIA_DEBUG] 8. πŸ–ΌοΈ b66ec4a8cf99d971.jpg
[11:06:08] [MEDIA_DEBUG]    Size: 3.27 MB
[11:06:08] [MEDIA_DEBUG]    Modified: 2025-12-05 10:04:32
[11:06:08] [MEDIA_DEBUG] 9. πŸ–ΌοΈ 7489ee09abff6d2e.jpg
[11:06:08] [MEDIA_DEBUG]    Size: 2.78 MB
[11:06:08] [MEDIA_DEBUG]    Modified: 2025-12-05 10:04:32
[11:06:08] [MEDIA_DEBUG] 10. πŸ–ΌοΈ f6ad546846eed078.jpg
[11:06:08] [MEDIA_DEBUG]    Size: 1.89 MB
[11:06:08] [MEDIA_DEBUG]    Modified: 2025-12-05 10:04:32
[11:06:08] [MEDIA_DEBUG] 11. πŸ–ΌοΈ de8ae19840824a2b.jpg
[11:06:08] [MEDIA_DEBUG]    Size: 1.82 MB
[11:06:08] [MEDIA_DEBUG]    Modified: 2025-12-05 10:04:32
[11:06:08] [MEDIA_DEBUG] 12. πŸ–ΌοΈ a802259f746a0e9d.jpg
[11:06:08] [MEDIA_DEBUG]    Size: 1.88 MB
[11:06:08] [MEDIA_DEBUG]    Modified: 2025-12-05 10:04:32
[11:06:08] [MEDIA_DEBUG] 13. πŸ–ΌοΈ d1e3499478f3d34f.jpg
[11:06:08] [MEDIA_DEBUG]    Size: 1.17 MB
[11:06:08] [MEDIA_DEBUG]    Modified: 2025-12-05 10:04:32
[11:06:08] [MEDIA_DEBUG] 14. πŸ–ΌοΈ 8b34b23570e8f7b6.jpg
[11:06:08] [MEDIA_DEBUG]    Size: 1.95 MB
[11:06:08] [MEDIA_DEBUG]    Modified: 2025-12-05 10:04:32
[11:06:08] [MEDIA_DEBUG] 15. πŸ–ΌοΈ df64b89cd58fdabb.jpg
[11:06:08] [MEDIA_DEBUG]    Size: 1.72 MB
[11:06:08] [MEDIA_DEBUG]    Modified: 2025-12-05 10:04:32
[11:06:08] [MEDIA_DEBUG] 16. πŸ–ΌοΈ 964339e879287ae8.jpg
[11:06:08] [MEDIA_DEBUG]    Size: 1.69 MB
[11:06:08] [MEDIA_DEBUG]    Modified: 2025-12-05 10:04:31
[11:06:08] [MEDIA_DEBUG] 17. πŸ–ΌοΈ 5271cfd22a294a3a.jpg
[11:06:08] [MEDIA_DEBUG]    Size: 2.20 MB
[11:06:08] [MEDIA_DEBUG]    Modified: 2025-12-05 10:04:31
[11:06:08] [MEDIA_DEBUG] 18. πŸ–ΌοΈ 5544b93674432abf.jpg
[11:06:08] [MEDIA_DEBUG]    Size: 1.28 MB
[11:06:08] [MEDIA_DEBUG]    Modified: 2025-12-05 10:04:31
[11:06:08] [MEDIA_DEBUG] 19. πŸ–ΌοΈ cc85a7eabfa8ba33.jpg
[11:06:08] [MEDIA_DEBUG]    Size: 0.96 MB
[11:06:08] [MEDIA_DEBUG]    Modified: 2025-12-05 10:04:31
[11:06:08] [MEDIA_DEBUG] 20. πŸ–ΌοΈ ab9512181ee0b1be.jpg
[11:06:08] [MEDIA_DEBUG]    Size: 2.77 MB
[11:06:08] [MEDIA_DEBUG]    Modified: 2025-12-05 10:04:31
[11:06:08] [MEDIA_DEBUG] 21. πŸ–ΌοΈ 0594af535b2841c4.jpg
[11:06:08] [MEDIA_DEBUG]    Size: 2.79 MB
[11:06:08] [MEDIA_DEBUG]    Modified: 2025-12-05 10:04:29
[11:06:08] [MEDIA_DEBUG] 22. πŸ–ΌοΈ 1c62aaa685a43557.jpg
[11:06:08] [MEDIA_DEBUG]    Size: 1.93 MB
[11:06:08] [MEDIA_DEBUG]    Modified: 2025-12-05 10:04:27
[11:06:08] [MEDIA_DEBUG] 23. πŸ–ΌοΈ t_55489a439799d641.jpg
[11:06:08] [MEDIA_DEBUG]    Size: 0.01 MB
[11:06:08] [MEDIA_DEBUG]    Modified: 2025-12-05 10:02:51
[11:06:08] [MEDIA_DEBUG] 24. πŸ–ΌοΈ 55489a439799d641.jpg
[11:06:08] [MEDIA_DEBUG]    Size: 0.33 MB
[11:06:08] [MEDIA_DEBUG]    Modified: 2025-12-05 10:02:41
[11:06:08] [MEDIA_DEBUG] 25. 🎬 a219ca5ae2862816.mp4
[11:06:08] [MEDIA_DEBUG]    Size: 9.98 MB
[11:06:08] [MEDIA_DEBUG]    Modified: 2025-12-05 09:55:09
[11:06:08] [MEDIA_DEBUG] 26. πŸ–ΌοΈ t_a219ca5ae2862816.jpg
[11:06:08] [MEDIA_DEBUG]    Size: 0.01 MB
[11:06:08] [MEDIA_DEBUG]    Modified: 2025-12-05 09:54:49
[11:06:08] [MEDIA_DEBUG] 27. πŸ–ΌοΈ t_3300b70385236d4f.jpg
[11:06:08] [MEDIA_DEBUG]    Size: 0.02 MB
[11:06:08] [MEDIA_DEBUG]    Modified: 2025-12-05 09:06:31
[11:06:08] [MEDIA_DEBUG] 28. πŸ–ΌοΈ 3300b70385236d4f.jpg
[11:06:08] [MEDIA_DEBUG]    Size: 2.18 MB
[11:06:08] [MEDIA_DEBUG]    Modified: 2025-12-05 09:06:29
[11:06:08] [MEDIA_DEBUG] 29. πŸ–ΌοΈ t_dfd9523c3c543910.jpg
[11:06:08] [MEDIA_DEBUG]    Size: 0.02 MB
[11:06:08] [MEDIA_DEBUG]    Modified: 2025-12-05 09:06:14
[11:06:08] [MEDIA_DEBUG] 30. πŸ–ΌοΈ dfd9523c3c543910.jpg
[11:06:08] [MEDIA_DEBUG]    Size: 1.93 MB
[11:06:08] [MEDIA_DEBUG]    Modified: 2025-12-05 09:06:12
[11:06:08] [MEDIA_DEBUG] ... and 242 more files
[11:06:08] [MEDIA_DEBUG] ----------------------------------------
[11:06:08] [MEDIA_DEBUG] Total: 272 files (2 videos, 28 images)
[11:06:08] [MEDIA_DEBUG] Total size: 61.20 MB
[11:06:08] [MEDIA_DEBUG] ==========================================
[11:06:08] [THEME] Applying current theme
[11:06:08] [CHAT] Applied day theme (mode: day)
[11:06:08] [SECURITY] Saved real session: ILUIWU
[11:06:08] [SUMMARY] Already showed summary today (2025-12-05)
[11:06:08] Did transition
[11:06:08] [MODE] πŸ” updateModeUI called - currentTabIndex=0, isSlaveMode=false, sessionId=ILUIWU
[11:06:08] [VIEWER] Screen lock enabled - normal idle behavior
[11:06:08] [QUERY] πŸ” Checking tab - currentTabIndex=0
[11:06:08] [QUERY] πŸ”΅ [TAB 0] No query connection needed
[11:06:08] [QUERY] βœ… [TAB 0] Initialized without query connection
[11:06:09] [TAB 0] Skipping reconnect polling - only needed for tab 1
[11:06:09] [VIEWER_INIT] No messages loaded yet - fetching from server
[11:06:09] [CHANNEL_SWITCH] πŸ“‘ refreshAllFromServer: sessionId='ILUIWU', baseSessionId='ILUIWU'
[11:06:09] [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=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:06:09] [EVENT_POLL] Starting periodic event polling for viewer mode (5s interval)
[11:06:09] [ORIENTATION] Updated pagingScrollView height to 247.5 for width 440.0
[11:06:09] [SUMMARY] Already showed summary today (2025-12-05)
[11:06:09] Did transition
[11:06:09] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[11:06:09] [FAST_LOAD] No pre-cache available - loading from local DB
[11:06:09] [USER] βœ… User registered successfully
[11:06:09] [USER] User registration successful
[11:06:09] [PRELOAD] Fetched 2359 messages
[11:06:09] [PAGINATION_SCROLL] offset=-12.0, contentHeight=108.0, distFromBottom=120.0, dragging=false, decel=false, isLoading=false, cooldown=63900698769.20994s
[11:06:09] [PAGINATION_SCROLL] offset=0.0, contentHeight=108.0, distFromBottom=-650.0, dragging=false, decel=false, isLoading=false, cooldown=63900698769.211784s
[11:06:09] [FAST_LOAD] Merged 304 message reactions from local DB
[11:06:09] [PUSH_DEBUG] 🟒 App became ACTIVE - resetting badges and triggering pollEventsNow
[11:06:09] [PUSH] handlePollEventsNotification userInfo: [:]
[11:06:09] [PUSH] No message_id in userInfo
[11:06:09] [PUSH] No operation_type in userInfo
[11:06:09] [FAST_REFRESH] Evolution disabled - performing incremental sync
[11:06:09] [FAST_REFRESH] Already have 2359 messages - skipping local DB load
[11:06:09] [FAST_REFRESH] About to call reloadMessagesForCurrentTab(), isMainThread=true, viewLoaded=true
[11:06:09] [MIGRATION] No messages need sender_name backfill
[11:06:09] [EMOJI] βœ… Loaded 451 emoji-to-GIF mappings
[11:06:09] DOWNLOADIIING 7d6b5bea4a8d7456.jpg
[11:06:09] [UPLOAD_DEBUG] ========== UPLOAD QUEUE STATUS ==========
[11:06:09] [UPLOAD_DEBUG] ----------------------------------------
[11:06:09] [UPLOAD_DEBUG] ID: 206
[11:06:09] [UPLOAD_DEBUG] Status: completed
[11:06:09] [UPLOAD_DEBUG] File: 1c0713032a0b2d7d.mov
[11:06:09] [UPLOAD_DEBUG] Path: /var/mobile/Containers/Data/Application/CE0C7C7A-C6A6-4E04-A0DD-5253E1B463D2/Documents/MediaCache/1c0713032a0b2d7d.mov
[11:06:09] [UPLOAD_DEBUG] File exists: false, Size: N/A
[11:06:09] [UPLOAD_DEBUG] Session: ILUIWU
[11:06:09] [UPLOAD_DEBUG] Retries: 0
[11:06:09] [UPLOAD_DEBUG] Created: 2025-12-05 09:55:31
[11:06:09] [UPLOAD_DEBUG] Error: none
[11:06:09] [UPLOAD_DEBUG] ----------------------------------------
[11:06:09] [UPLOAD_DEBUG] ID: 205
[11:06:09] [UPLOAD_DEBUG] Status: completed
[11:06:09] [UPLOAD_DEBUG] File: t_1c0713032a0b2d7d.jpg
[11:06:09] [UPLOAD_DEBUG] Path: /var/mobile/Containers/Data/Application/CE0C7C7A-C6A6-4E04-A0DD-5253E1B463D2/Documents/MediaCache/t_1c0713032a0b2d7d.jpg
[11:06:09] [UPLOAD_DEBUG] File exists: false, Size: N/A
[11:06:09] [UPLOAD_DEBUG] Session: ILUIWU
[11:06:09] [UPLOAD_DEBUG] Retries: 0
[11:06:09] [UPLOAD_DEBUG] Created: 2025-12-05 09:55:30
[11:06:09] [UPLOAD_DEBUG] Error: none
[11:06:09] [UPLOAD_DEBUG] ----------------------------------------
[11:06:09] [UPLOAD_DEBUG] ID: 204
[11:06:09] [UPLOAD_DEBUG] Status: completed
[11:06:09] [UPLOAD_DEBUG] File: 55489a439799d641.jpg
[11:06:09] [UPLOAD_DEBUG] Path: /var/mobile/Containers/Data/Application/12DC3F67-3B00-4864-9E11-BDD91440BB98/Documents/MediaCache/55489a439799d641.jpg
[11:06:09] [UPLOAD_DEBUG] File exists: false, Size: N/A
[11:06:09] [UPLOAD_DEBUG] Session: ILUIWU
[11:06:09] [UPLOAD_DEBUG] Retries: 0
[11:06:09] [UPLOAD_DEBUG] Created: 2025-12-05 09:02:54
[11:06:09] [UPLOAD_DEBUG] Error: none
[11:06:09] [UPLOAD_DEBUG] ----------------------------------------
[11:06:09] [UPLOAD_DEBUG] ID: 203
[11:06:09] [UPLOAD_DEBUG] Status: completed
[11:06:09] [UPLOAD_DEBUG] File: t_55489a439799d641.jpg
[11:06:09] [UPLOAD_DEBUG] Path: /var/mobile/Containers/Data/Application/12DC3F67-3B00-4864-9E11-BDD91440BB98/Documents/MediaCache/t_55489a439799d641.jpg
[11:06:09] [UPLOAD_DEBUG] File exists: false, Size: N/A
[11:06:09] [UPLOAD_DEBUG] Session: ILUIWU
[11:06:09] [UPLOAD_DEBUG] Retries: 0
[11:06:09] [UPLOAD_DEBUG] Created: 2025-12-05 09:02:52
[11:06:09] [UPLOAD_DEBUG] Error: none
[11:06:09] [UPLOAD_DEBUG] ----------------------------------------
[11:06:09] [UPLOAD_DEBUG] ID: 202
[11:06:09] [UPLOAD_DEBUG] Status: uploading_chunked
[11:06:09] [UPLOAD_DEBUG] File: ed8c0c1ea3754849.mov
[11:06:09] [UPLOAD_DEBUG] Path: /var/mobile/Containers/Data/Application/E4E9846F-B0F9-4FBF-984F-1BCEDE496114/Documents/MediaCache/ed8c0c1ea3754849.mov
[11:06:09] [UPLOAD_DEBUG] File exists: false, Size: N/A
[11:06:09] [UPLOAD_DEBUG] Session: ILUIWU
[11:06:09] [UPLOAD_DEBUG] Retries: 3
[11:06:09] [UPLOAD_DEBUG] Created: 2025-12-05 08:20:45
[11:06:09] [UPLOAD_DEBUG] Error: none
[11:06:09] [UPLOAD_DEBUG] ----------------------------------------
[11:06:09] [UPLOAD_DEBUG] ID: 201
[11:06:09] [UPLOAD_DEBUG] Status: completed
[11:06:09] [UPLOAD_DEBUG] File: t_ed8c0c1ea3754849.jpg
[11:06:09] [UPLOAD_DEBUG] Path: /var/mobile/Containers/Data/Application/E4E9846F-B0F9-4FBF-984F-1BCEDE496114/Documents/MediaCache/t_ed8c0c1ea3754849.jpg
[11:06:09] [UPLOAD_DEBUG] File exists: false, Size: N/A
[11:06:09] [UPLOAD_DEBUG] Session: ILUIWU
[11:06:09] [UPLOAD_DEBUG] Retries: 0
[11:06:09] [UPLOAD_DEBUG] Created: 2025-12-05 08:20:45
[11:06:09] [UPLOAD_DEBUG] Error: none
[11:06:09] [UPLOAD_DEBUG] ----------------------------------------
[11:06:09] [UPLOAD_DEBUG] ID: 200
[11:06:09] [UPLOAD_DEBUG] Status: failed
[11:06:09] [UPLOAD_DEBUG] File: ed8c0c1ea3754849.mov
[11:06:09] [UPLOAD_DEBUG] Path: /var/mobile/Containers/Data/Application/5360180E-6624-4ABA-A020-CA2C182ACAEB/Documents/MediaCache/ed8c0c1ea3754849.mov
[11:06:09] [UPLOAD_DEBUG] File exists: false, Size: N/A
[11:06:09] [UPLOAD_DEBUG] Session: ILUIWU
[11:06:09] [UPLOAD_DEBUG] Retries: 7
[11:06:09] [UPLOAD_DEBUG] Created: 2025-12-05 08:13:46
[11:06:09] [UPLOAD_DEBUG] Error: Local file not found
[11:06:09] [UPLOAD_DEBUG] ----------------------------------------
[11:06:09] [UPLOAD_DEBUG] ID: 199
[11:06:09] [UPLOAD_DEBUG] Status: completed
[11:06:09] [UPLOAD_DEBUG] File: t_ed8c0c1ea3754849.jpg
[11:06:09] [UPLOAD_DEBUG] Path: /var/mobile/Containers/Data/Application/5360180E-6624-4ABA-A020-CA2C182ACAEB/Documents/MediaCache/t_ed8c0c1ea3754849.jpg
[11:06:09] [UPLOAD_DEBUG] File exists: false, Size: N/A
[11:06:09] [UPLOAD_DEBUG] Session: ILUIWU
[11:06:09] [UPLOAD_DEBUG] Retries: 0
[11:06:09] [UPLOAD_DEBUG] Created: 2025-12-05 08:13:46
[11:06:09] [UPLOAD_DEBUG] Error: none
[11:06:09] [UPLOAD_DEBUG] ----------------------------------------
[11:06:09] [UPLOAD_DEBUG] ID: 198
[11:06:09] [UPLOAD_DEBUG] Status: completed
[11:06:09] [UPLOAD_DEBUG] File: 3300b70385236d4f.jpg
[11:06:09] DOWNLOADIIING 437db7e992f28170.mov
[11:06:09] [UPLOAD_DEBUG] Path: /var/mobile/Containers/Data/Application/D8B704CD-9383-4CF0-82E4-963BCD33CFB5/Documents/MediaCache/3300b70385236d4f.jpg
[11:06:09] [UPLOAD_DEBUG] File exists: false, Size: N/A
[11:06:09] [UPLOAD_DEBUG] Session: ILUIWU
[11:06:09] [UPLOAD_DEBUG] Retries: 0
[11:06:09] [UPLOAD_DEBUG] Created: 2025-12-05 08:06:32
[11:06:09] [UPLOAD_DEBUG] Error: none
[11:06:09] [UPLOAD_DEBUG] ----------------------------------------
[11:06:09] [UPLOAD_DEBUG] ID: 197
[11:06:09] [UPLOAD_DEBUG] Status: completed
[11:06:09] [UPLOAD_DEBUG] File: t_3300b70385236d4f.jpg
[11:06:09] [UPLOAD_DEBUG] Path: /var/mobile/Containers/Data/Application/D8B704CD-9383-4CF0-82E4-963BCD33CFB5/Documents/MediaCache/t_3300b70385236d4f.jpg
[11:06:09] [UPLOAD_DEBUG] File exists: false, Size: N/A
[11:06:09] [UPLOAD_DEBUG] Session: ILUIWU
[11:06:09] [UPLOAD_DEBUG] Retries: 0
[11:06:09] [UPLOAD_DEBUG] Created: 2025-12-05 08:06:31
[11:06:09] [UPLOAD_DEBUG] Error: none
[11:06:09] [UPLOAD_DEBUG] ----------------------------------------
[11:06:09] [UPLOAD_DEBUG] ID: 196
[11:06:09] [UPLOAD_DEBUG] Status: completed
[11:06:09] [UPLOAD_DEBUG] File: dfd9523c3c543910.jpg
[11:06:09] [UPLOAD_DEBUG] Path: /var/mobile/Containers/Data/Application/D8B704CD-9383-4CF0-82E4-963BCD33CFB5/Documents/MediaCache/dfd9523c3c543910.jpg
[11:06:09] [UPLOAD_DEBUG] File exists: false, Size: N/A
[11:06:09] [UPLOAD_DEBUG] Session: ILUIWU
[11:06:09] [UPLOAD_DEBUG] Retries: 0
[11:06:09] [UPLOAD_DEBUG] Created: 2025-12-05 08:06:15
[11:06:09] [UPLOAD_DEBUG] Error: none
[11:06:09] [UPLOAD_DEBUG] ----------------------------------------
[11:06:09] [UPLOAD_DEBUG] ID: 195
[11:06:09] [UPLOAD_DEBUG] Status: completed
[11:06:09] [UPLOAD_DEBUG] File: t_dfd9523c3c543910.jpg
[11:06:09] [UPLOAD_DEBUG] Path: /var/mobile/Containers/Data/Application/D8B704CD-9383-4CF0-82E4-963BCD33CFB5/Documents/MediaCache/t_dfd9523c3c543910.jpg
[11:06:09] [UPLOAD_DEBUG] File exists: false, Size: N/A
[11:06:09] [UPLOAD_DEBUG] Session: ILUIWU
[11:06:09] [UPLOAD_DEBUG] Retries: 0
[11:06:09] [UPLOAD_DEBUG] Created: 2025-12-05 08:06:14
[11:06:09] [UPLOAD_DEBUG] Error: none
[11:06:09] [UPLOAD_DEBUG] ----------------------------------------
[11:06:09] [UPLOAD_DEBUG] ID: 194
[11:06:09] [UPLOAD_DEBUG] Status: failed
[11:06:09] [UPLOAD_DEBUG] File: ed8c0c1ea3754849.mov
[11:06:09] [UPLOAD_DEBUG] Path: /var/mobile/Containers/Data/Application/D8B704CD-9383-4CF0-82E4-963BCD33CFB5/Documents/MediaCache/ed8c0c1ea3754849.mov
[11:06:09] [UPLOAD_DEBUG] File exists: false, Size: N/A
[11:06:09] [UPLOAD_DEBUG] Session: ILUIWU
[11:06:09] [UPLOAD_DEBUG] Retries: 7
[11:06:09] [UPLOAD_DEBUG] Created: 2025-12-05 07:58:55
[11:06:09] [UPLOAD_DEBUG] Error: Local file not found
[11:06:09] [UPLOAD_DEBUG] ----------------------------------------
[11:06:09] [UPLOAD_DEBUG] ID: 193
[11:06:09] [UPLOAD_DEBUG] Status: completed
[11:06:09] [UPLOAD_DEBUG] File: t_ed8c0c1ea3754849.jpg
[11:06:09] [UPLOAD_DEBUG] Path: /var/mobile/Containers/Data/Application/D8B704CD-9383-4CF0-82E4-963BCD33CFB5/Documents/MediaCache/t_ed8c0c1ea3754849.jpg
[11:06:09] [UPLOAD_DEBUG] File exists: false, Size: N/A
[11:06:09] [UPLOAD_DEBUG] Session: ILUIWU
[11:06:09] [UPLOAD_DEBUG] Retries: 0
[11:06:09] [UPLOAD_DEBUG] Created: 2025-12-05 07:58:55
[11:06:09] [UPLOAD_DEBUG] Error: none
[11:06:09] [UPLOAD_DEBUG] ----------------------------------------
[11:06:09] [UPLOAD_DEBUG] ID: 192
[11:06:09] [UPLOAD_DEBUG] Status: completed
[11:06:09] [UPLOAD_DEBUG] File: 88d4ccae36a52977.mov
[11:06:09] [UPLOAD_DEBUG] Path: /var/mobile/Containers/Data/Application/D8B704CD-9383-4CF0-82E4-963BCD33CFB5/Documents/MediaCache/88d4ccae36a52977.mov
[11:06:09] [UPLOAD_DEBUG] File exists: false, Size: N/A
[11:06:09] [UPLOAD_DEBUG] Session: ILUIWU
[11:06:09] [UPLOAD_DEBUG] Retries: 0
[11:06:09] [UPLOAD_DEBUG] Created: 2025-12-05 05:35:21
[11:06:09] [UPLOAD_DEBUG] Error: none
[11:06:09] [UPLOAD_DEBUG] ----------------------------------------
[11:06:09] [UPLOAD_DEBUG] ID: 191
[11:06:09] [UPLOAD_DEBUG] Status: completed
[11:06:09] [UPLOAD_DEBUG] File: t_88d4ccae36a52977.jpg
[11:06:09] [UPLOAD_DEBUG] Path: /var/mobile/Containers/Data/Application/D8B704CD-9383-4CF0-82E4-963BCD33CFB5/Documents/MediaCache/t_88d4ccae36a52977.jpg
[11:06:09] [UPLOAD_DEBUG] File exists: false, Size: N/A
[11:06:09] [UPLOAD_DEBUG] Session: ILUIWU
[11:06:09] [UPLOAD_DEBUG] Retries: 0
[11:06:09] [UPLOAD_DEBUG] Created: 2025-12-05 05:35:20
[11:06:09] [UPLOAD_DEBUG] Error: none
[11:06:09] [UPLOAD_DEBUG] ----------------------------------------
[11:06:09] [UPLOAD_DEBUG] ID: 190
[11:06:09] [UPLOAD_DEBUG] Status: completed
[11:06:09] [UPLOAD_DEBUG] File: 1a00b49a482ae669.jpg
[11:06:09] [UPLOAD_DEBUG] Path: /var/mobile/Containers/Data/Application/D8B704CD-9383-4CF0-82E4-963BCD33CFB5/Documents/MediaCache/1a00b49a482ae669.jpg
[11:06:09] [UPLOAD_DEBUG] File exists: false, Size: N/A
[11:06:09] [UPLOAD_DEBUG] Session: ILUIWU
[11:06:09] [UPLOAD_DEBUG] Retries: 0
[11:06:09] [UPLOAD_DEBUG] Created: 2025-12-04 17:27:52
[11:06:09] [UPLOAD_DEBUG] Error: none
[11:06:09] [UPLOAD_DEBUG] ----------------------------------------
[11:06:09] [UPLOAD_DEBUG] ID: 189
[11:06:09] [UPLOAD_DEBUG] Status: completed
[11:06:09] [UPLOAD_DEBUG] File: t_1a00b49a482ae669.jpg
[11:06:09] [UPLOAD_DEBUG] Path: /var/mobile/Containers/Data/Application/D8B704CD-9383-4CF0-82E4-963BCD33CFB5/Documents/MediaCache/t_1a00b49a482ae669.jpg
[11:06:09] [UPLOAD_DEBUG] File exists: false, Size: N/A
[11:06:09] [UPLOAD_DEBUG] Session: ILUIWU
[11:06:09] [UPLOAD_DEBUG] Retries: 0
[11:06:09] [UPLOAD_DEBUG] Created: 2025-12-04 17:27:52
[11:06:09] [UPLOAD_DEBUG] Error: none
[11:06:09] [UPLOAD_DEBUG] ----------------------------------------
[11:06:09] [UPLOAD_DEBUG] ID: 188
[11:06:09] [UPLOAD_DEBUG] Status: completed
[11:06:09] [UPLOAD_DEBUG] File: c7e90f91b4f198e8.jpg
[11:06:09] [UPLOAD_DEBUG] Path: /var/mobile/Containers/Data/Application/D8B704CD-9383-4CF0-82E4-963BCD33CFB5/Documents/MediaCache/c7e90f91b4f198e8.jpg
[11:06:09] [UPLOAD_DEBUG] File exists: false, Size: N/A
[11:06:09] [UPLOAD_DEBUG] Session: ILUIWU
[11:06:09] [UPLOAD_DEBUG] Retries: 0
[11:06:09] [UPLOAD_DEBUG] Created: 2025-12-04 15:02:19
[11:06:09] [UPLOAD_DEBUG] Error: none
[11:06:09] [UPLOAD_DEBUG] ----------------------------------------
[11:06:09] [UPLOAD_DEBUG] ID: 187
[11:06:09] [UPLOAD_DEBUG] Status: completed
[11:06:09] [UPLOAD_DEBUG] File: t_c7e90f91b4f198e8.jpg
[11:06:09] [UPLOAD_DEBUG] Path: /var/mobile/Containers/Data/Application/D8B704CD-9383-4CF0-82E4-963BCD33CFB5/Documents/MediaCache/t_c7e90f91b4f198e8.jpg
[11:06:09] [UPLOAD_DEBUG] File exists: false, Size: N/A
[11:06:09] [UPLOAD_DEBUG] Session: ILUIWU
[11:06:09] [UPLOAD_DEBUG] Retries: 0
[11:06:09] [UPLOAD_DEBUG] Created: 2025-12-04 15:02:19
[11:06:09] [UPLOAD_DEBUG] Error: none
[11:06:09] [UPLOAD_DEBUG] Total: 20 uploads shown
[11:06:09] [UPLOAD_DEBUG] ==========================================
[11:06:09] [UPLOAD_QUEUE] Found 0 pending uploads to resume
[11:06:09] DOWNLOADIIING 9b574aa9b7b32fc1.jpg
[11:06:09] DOWNLOADIIING adfb454fe083f2df.heic
[11:06:09] DOWNLOADIIING f3ec1be21b2df3b2.jpg
[11:06:09] [PRELOAD] ⚑ Cached 2359 messages for instant display
[11:06:09] [FAST_REFRESH] reloadMessagesForCurrentTab() called successfully
[11:06:09] DOWNLOADIIING t_1b1a78050ebe099b.jpg
[11:06:09] DOWNLOADIIING t_bae538c2a3076c11.jpg
[11:06:09] DOWNLOADIIING t_ee42d57ffd8ab767.jpg
[11:06:09] DOWNLOADIIING t_5cfd84d52271d308.jpg
[11:06:09] DOWNLOADIIING t_919f4df51be24b2c.jpg
[11:06:09] DOWNLOADIIING t_0f2dda66cccdeadf.jpg
[11:06:09] DOWNLOADIIING t_32675c319a37fee7.jpg
[11:06:09] DOWNLOADIIING t_37322d9a370bcae5.jpg
[11:06:09] DOWNLOADIIING t_a45f085b5a2c50aa.jpg
[11:06:09] DOWNLOADIIING t_7cd3ce3d7797eb3c.jpg
[11:06:09] DOWNLOADIIING t_abb65f630e55dc61.jpg
[11:06:09] DOWNLOADIIING t_02028194e32e5339.jpg
[11:06:09] DOWNLOADIIING t_2a4c7380908d6595.jpg
[11:06:09] DOWNLOADIIING t_1ee77a72ee5013e0.jpg
[11:06:09] DOWNLOADIIING t_02f48c94671cc64e.jpg
[11:06:09] DOWNLOADIIING t_d0fd8cabebf807d5.jpg
[11:06:09] DOWNLOADIIING t_364b0669ed2f3378.jpg
[11:06:09] DOWNLOADIIING t_2cbc8cd48820f4f6.jpg
[11:06:09] DOWNLOADIIING t_7f3c34ff05eb7c95.jpg
[11:06:09] DOWNLOADIIING t_66e5f4c7c82fef18.jpg
[11:06:09] DOWNLOADIIING t_f4d9bbe2fc21d5ae.jpg
[11:06:09] DOWNLOADIIING t_e1d06c52c18e20ce.jpg
[11:06:09] DOWNLOADIIING t_722d39e0d91dd954.jpg
[11:06:09] DOWNLOADIIING t_97828ef5de49a612.jpg
[11:06:09] DOWNLOADIIING t_98986cbb2cd2ae48.jpg
[11:06:09] [FAST_LOAD] Displayed 2359 messages from local DB instantly
[11:06:09] [PURGE] ⚠️ Media cache purge DISABLED for debugging
[11:06:09] [FAST_LOAD] Incremental sync complete - 2359 total messages
[11:06:09] [CHANNEL_SWITCH] πŸ“Š About to set loaded messages. Count=2359
[11:06:09] [UPLOAD_RECOVERY] Checking for missing uploads...
[11:06:09] [UPLOAD_RECOVERY] Checking 49 media files on server...
[11:06:09] [FAST_REFRESH] Incremental sync complete - 2359 messages
[11:06:09] [PUSH] APNs token: 6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c
[11:06:09] [CHANNEL_SWITCH] πŸ“Š Setting allMessagesWithReadBy = 2359 msgs, VM1=727
[11:06:09] [TIMER] Timer already expired for message 934
[11:06:09] [CHANNEL_SWITCH] πŸ“Š chatRows.count = 2403
[11:06:09] ReloadData 15 (2359 messages loaded, 40 pending media)
[11:06:09] DOWNLOADIIING 7d6b5bea4a8d7456.jpg
[11:06:09] DOWNLOADIIING 437db7e992f28170.mov
[11:06:09] [UPLOAD_RECOVERY] βœ… All media files verified on server
[11:06:09] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":0,"removed_from_other_channels":0}
[11:06:09] DOWNLOADIIING 9b574aa9b7b32fc1.jpg
[11:06:10] DOWNLOADIIING adfb454fe083f2df.heic
[11:06:10] DOWNLOADIIING f3ec1be21b2df3b2.jpg
[11:06:10] [VIEWER_INIT] Loaded 2359 messages with read receipts
[11:06:14] [EVENT_POLL] Timer tick - polling for events
[11:06:14] ReloadData 14 (all 40 media thumbnails loaded) - applying tab 0 filtering
[11:06:19] [EVENT_POLL] Timer tick - polling for events
[11:06:22] [LOG_GESTURE] handleLongPress called, state=1, isToday=true
[11:06:22] [LOG_GESTURE] Long press on Today detected! Triggering log upload...
[11:06:22] [LOG] Long-press on 'Today' detected - uploading combined logs
[11:06:22] [LOG] Uploading combined logs (5.3 MB) to server...
[11:06:23] [LOG_GESTURE] handleLongPress called, state=4, isToday=true
[11:06:23] [LOG] Upload HTTP status: 500
[11:06:23] [LOG] Upload failed with status 500: {"error":"save_failed","message":"Failed to save uploaded file","debug":"move_uploaded_file(): Unable to move "\/tmp\/phpd0euje0hqd7rbdd90qR" to "\/var\/www\/html\/WebRTC\/public\/..\/logs\/viewer_ILUIWU_viewer_2025-12-05_10-06-23.log""}
[11:06:24] [EVENT_POLL] Timer tick - polling for events
[11:06:29] [EVENT_POLL] Timer tick - polling for events
[11:06:34] [EVENT_POLL] Timer tick - polling for events
[11:06:39] [EVENT_POLL] Timer tick - polling for events
[11:06:44] [EVENT_POLL] Timer tick - polling for events
[11:06:49] [EVENT_POLL] Timer tick - polling for events
[11:06:54] [EVENT_POLL] Timer tick - polling for events
[11:06:57] [LOG_GESTURE] handleLongPress called, state=1, isToday=true

========== END viewer_debug.log ==========


========== viewer_debug.old.log ==========
=== Eye Viewer Log Cleared at 2025-11-16 10:02:23 +0000 ===
[11:02:23] [CRASH] No crash detected - clearing logs
[11:02:23] [GIPHY] SDK not available - using REST API fallback
[11:02:23] [SECURITY] Initial launch - timeout exceeded (185.64188599586487s > 120.0s)
[11:02:23] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:02:23] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:02:23] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:02:23] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:02:23] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:02:23] [SCENE] Launched directly to chat view with sessionId: ILUIWU2
[11:02:23] [PUSH] APNs token: 6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c
[11:02:24] [PUSH] Device role updated to 'viewer': HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:02:24] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:02:25] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:02:25] Documents Directory: /var/mobile/Containers/Data/Application/970085F8-17D5-4B7C-A925-9861083CCF2C/Documents
[11:02:25] [NOTIFICATION] πŸ”” Notification button created and added to topNavBar
[11:02:25] [NOTIFICATION] πŸ”” Button tintColor: grey (0.5, 0.5, 0.5)
[11:02:25] [NOTIFICATION] πŸ”” Button isUserInteractionEnabled: true
[11:02:25] [INFO_PAGE] InformationViewController viewDidLoad called
[11:02:25] [INFO_PAGE] Actions configured (bell button is external)
[11:02:25] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:02:25] [INFO_PAGE] Successfully opened database at /var/mobile/Containers/Data/Application/970085F8-17D5-4B7C-A925-9861083CCF2C/Documents/chat_local_viewer.db
[11:02:25] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:02:25] [INFO_PAGE] Found 409 messages for session 'ILUIWU2'
[11:02:25] [INFO_PAGE] Total messages in database: 1175
[11:02:25] [INFO_PAGE] InformationViewController setup complete
[11:02:25] [INFO_PAGE] ℹ️ Information page added to tab 3
[11:02:25] [THEME] Applying current theme
[11:02:25] [CHAT] Applied day theme (mode: day)
[11:02:25] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:02:25] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:02:25] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:02:25] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:02:25] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:02:25] [SUMMARY] Already showed summary today (2025-11-16)
[11:02:25] Did transition
[11:02:25] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:02:25] [VIEWER] Screen lock enabled - normal idle behavior
[11:02:25] [QUERY] πŸ” Checking tab - currentTabIndex=0
[11:02:25] [QUERY] πŸ”΅ [TAB 0] No query connection needed
[11:02:25] [QUERY] βœ… [TAB 0] Initialized without query connection
[11:02:25] [LOCATION] Started location updates for distance calculation (already authorized)
[11:02:25] [TAB 0] Skipping reconnect polling - only needed for tab 1
[11:02:25] [VIEWER_INIT] Loading messages with read receipts from server
[11:02:25] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:02:25] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:02:25] [DB]   msg[0] id=1594, isMyMessage=false, readBy.count=0
[11:02:25] [DB]   msg[1] id=1593, isMyMessage=false, readBy.count=0
[11:02:25] [DB]   msg[2] id=1592, isMyMessage=false, readBy.count=0
[11:02:25] [EVOLUTION] πŸ” Found 0 NEW unread messages from local DB before fetching read receipts (lastSeenMessageId=1594): []
[11:02:25] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1594, readBy=[]", "id=1593, readBy=[]", "id=1592, readBy=[]"]
[11:02:25] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:02:25] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:02:25] [DB]   msg[0] id=1594, isMyMessage=false, readBy.count=0
[11:02:25] [DB]   msg[1] id=1593, isMyMessage=false, readBy.count=0
[11:02:25] [DB]   msg[2] id=1592, isMyMessage=false, readBy.count=0
[11:02:25] [EVENT_POLL] Starting periodic event polling for viewer mode (5s interval)
[11:02:25] [ORIENTATION] Updated pagingScrollView height to 247.5 for width 440.0
[11:02:25] [SUMMARY] Already showed summary today (2025-11-16)
[11:02:25] Did transition
[11:02:25] [NOTIFICATION] πŸ”” Constraints activated for notification button
[11:02:25] [NOTIFICATION] πŸ”” topNavBar frame: (0.0, 0.0, 440.0, 50.0)
[11:02:25] [NOTIFICATION] πŸ”” menuButton frame: (0.0, 0.0, 39.0, 30.0)
[11:02:25] [NOTIFICATION] πŸ”” notificationButton frame: (0.0, 0.0, 56.333333333333336, 58.0)
[11:02:25] [NOTIFICATION] πŸ”” Notification button brought to front
[11:02:25] [NOTIFICATION] πŸ”„ Updating icon to: bell.slash.fill (muted=true)
[11:02:25] [NOTIFICATION] βœ… Icon updated successfully
[11:02:25] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[11:02:25] [MIGRATION] No messages need sender_name backfill
[11:02:25] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:02:25] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:02:25] [DB]   msg[0] id=1594, isMyMessage=false, readBy.count=0
[11:02:25] [DB]   msg[1] id=1593, isMyMessage=false, readBy.count=0
[11:02:25] [DB]   msg[2] id=1592, isMyMessage=false, readBy.count=0
[11:02:25] [INFO_PAGE] InformationViewController viewWillAppear - applying theme
[11:02:25] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:02:25] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:02:25] [PAGINATION_SCROLL] offset=-12.0, contentHeight=108.0, distFromBottom=120.0, dragging=false, decel=false, isLoading=false, cooldown=63899056945.11239s
[11:02:25] [PAGINATION_SCROLL] offset=0.0, contentHeight=108.0, distFromBottom=-650.0, dragging=false, decel=false, isLoading=false, cooldown=63899056945.11362s
[11:02:25] [LOCATION] Authorization changed: 4
[11:02:25] [NOTIFICATION] πŸ”” FINAL STATE after viewDidLoad:
[11:02:25] [NOTIFICATION] πŸ”” notificationButton.frame: (392.0, 67.0, 40.0, 40.0)
[11:02:25] [NOTIFICATION] πŸ”” notificationButton.isHidden: false
[11:02:25] [NOTIFICATION] πŸ”” notificationButton.alpha: 1.0
[11:02:25] [NOTIFICATION] πŸ”” notificationButton.superview: true
[11:02:25] [NOTIFICATION] πŸ”” topNavBar.isHidden: false
[11:02:25] [NOTIFICATION] πŸ”” topNavBar.subviews.count: 3
[11:02:25] [PUSH] Device role updated to 'viewer': HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:02:25] [USER] βœ… User registered successfully
[11:02:25] [USER] User registration successful
[11:02:25] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:02:25] [UNREAD_DEBUG]   FINAL msg[0] id=1594, readBy.count=1
[11:02:25] [UNREAD_DEBUG]   FINAL msg[1] id=1593, readBy.count=1
[11:02:25] [UNREAD_DEBUG]   FINAL msg[2] id=1592, readBy.count=1
[11:02:25] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:02:25] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:02:25] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:02:25] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:02:25] [ROWS] 0: SEPARATOR
[11:02:25] [ROWS] 1: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:02:25] [ROWS] 2: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:02:25] [ROWS] 3: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:25] [ROWS] 4: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:25] [ROWS] 5: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:25] [ROWS] 6: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:25] [ROWS] 7: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:25] [ROWS] 8: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:25] [ROWS] 9: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:25] [ROWS] 10: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:25] [ROWS] 11: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:25] [ROWS] 12: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:25] [ROWS] 13: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:25] [ROWS] 14: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:25] [ROWS] 15: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:25] [ROWS] 16: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:25] [ROWS] 17: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:02:25] [ROWS] 18: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:25] [ROWS] 19: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:25] [ROWS] 20: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:02:25] [ROWS] 21: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:25] [ROWS] 22: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:25] [ROWS] 23: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:25] [ROWS] 24: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:02:25] [ROWS] 25: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:02:25] [ROWS] 26: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:02:25] [ROWS] 27: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:25] [ROWS] 28: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:25] [ROWS] 29: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:25] [ROWS] 30: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:25] [ROWS] 31: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:25] [ROWS] 32: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:25] [ROWS] 33: SEPARATOR
[11:02:25] [ROWS] 34: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:02:25] [ROWS] 35: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:25] [ROWS] 36: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:02:25] [ROWS] 37: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:02:25] [ROWS] 38: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:02:25] [ROWS] 39: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:02:25] [ROWS] 40: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:25] [ROWS] 41: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:25] [ROWS] 42: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:25] [ROWS] 43: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:25] [ROWS] 44: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:02:25] [ROWS] 45: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:02:25] [ROWS] 46: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:25] [ROWS] 47: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:25] [ROWS] 48: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:25] [ROWS] 49: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:25] [ROWS] 50: MESSAGE id=1538 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:02:25] [ROWS] 51: MESSAGE id=1537 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:25] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:02:25] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:02:25] [HEIGHT_DEBUG] Row 1 msg 1594: isPlayingEvolution=false, textLength=10, text='Deuxième;e...'
[11:02:25] [EMOJI] βœ… Loaded 451 emoji-to-GIF mappings
[11:02:25] [HEIGHT] Row 1 msg 1594: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:02:25] [HEIGHT_DEBUG] Row 2 msg 1593: isPlayingEvolution=false, textLength=13, text='hhjfw fnewo e...'
[11:02:25] [HEIGHT] Row 2 msg 1593: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:02:25] [CHAT] βœ… refreshAllFromServer - parsed 410 messages from server
[11:02:25] [DB] clearDBForSession(ILUIWU2): deleted 409 messages, result=101
[11:02:25] [HEIGHT_DEBUG] Row 1 msg 1594: isPlayingEvolution=false, textLength=10, text='Deuxième;e...'
[11:02:25] [HEIGHT] Row 1 msg 1594: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:02:25] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:02:25] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:02:25] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:25] [HEIGHT_DEBUG] Row 2 msg 1593: isPlayingEvolution=false, textLength=13, text='hhjfw fnewo e...'
[11:02:25] [HEIGHT] Row 2 msg 1593: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:02:25] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:25] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:25] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:25] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:25] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:25] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:25] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:25] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:25] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:25] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:25] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:25] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:25] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:25] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:25] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:25] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:25] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:25] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:25] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:25] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:25] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:25] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:25] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:25] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:25] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:25] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:25] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:25] [BADGES] Chat tab unread: 1, Slave tab unread: 0, current tab: 0
[11:02:25] [INIT_PAGINATION] Loaded 50 total messages, displaying 50 for tab 0
[11:02:26] ReloadData 15 (410 messages loaded, 0 pending media)
[11:02:26] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:02:26] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:02:26] [DB]   msg[0] id=1595, isMyMessage=false, readBy.count=0
[11:02:26] [DB]   msg[1] id=1594, isMyMessage=false, readBy.count=0
[11:02:26] [DB]   msg[2] id=1593, isMyMessage=false, readBy.count=0
[11:02:26] [EVOLUTION] πŸ” Found 1 NEW unread messages after refreshAllFromServer (lastSeenMessageId=1594): [1595]
[11:02:26] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1595, readBy=[]", "id=1594, readBy=[]", "id=1593, readBy=[]"]
[11:02:26] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:02:26] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:02:26] [DB]   msg[0] id=1595, isMyMessage=false, readBy.count=0
[11:02:26] [DB]   msg[1] id=1594, isMyMessage=false, readBy.count=0
[11:02:26] [DB]   msg[2] id=1593, isMyMessage=false, readBy.count=0
[11:02:26] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:02:26] [UNREAD_DEBUG]   FINAL msg[0] id=1594, readBy.count=1
[11:02:26] [UNREAD_DEBUG]   FINAL msg[1] id=1593, readBy.count=1
[11:02:26] [UNREAD_DEBUG]   FINAL msg[2] id=1592, readBy.count=1
[11:02:26] [VIEWER_INIT] Loaded 50 messages with read receipts, hasMore: true
[11:02:26] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:02:26] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:02:26] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:02:26] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:02:26] [ROWS] 0: SEPARATOR
[11:02:26] [ROWS] 1: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:02:26] [ROWS] 2: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:02:26] [ROWS] 3: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:26] [ROWS] 4: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:26] [ROWS] 5: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:26] [ROWS] 6: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:26] [ROWS] 7: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:26] [ROWS] 8: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:26] [ROWS] 9: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:26] [ROWS] 10: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:26] [ROWS] 11: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:26] [ROWS] 12: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:26] [ROWS] 13: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:26] [ROWS] 14: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:26] [ROWS] 15: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:26] [ROWS] 16: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:26] [ROWS] 17: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:02:26] [ROWS] 18: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:26] [ROWS] 19: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:26] [ROWS] 20: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:02:26] [ROWS] 21: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:26] [ROWS] 22: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:26] [ROWS] 23: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:26] [ROWS] 24: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:02:26] [ROWS] 25: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:02:26] [ROWS] 26: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:02:26] [ROWS] 27: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:26] [ROWS] 28: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:26] [ROWS] 29: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:26] [ROWS] 30: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:26] [ROWS] 31: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:26] [ROWS] 32: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:26] [ROWS] 33: SEPARATOR
[11:02:26] [ROWS] 34: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:02:26] [ROWS] 35: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:26] [ROWS] 36: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:02:26] [ROWS] 37: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:02:26] [ROWS] 38: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:02:26] [ROWS] 39: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:02:26] [ROWS] 40: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:26] [ROWS] 41: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:26] [ROWS] 42: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:26] [ROWS] 43: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:26] [ROWS] 44: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:02:26] [ROWS] 45: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:02:26] [ROWS] 46: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:26] [ROWS] 47: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:26] [ROWS] 48: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:26] [ROWS] 49: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:26] [ROWS] 50: MESSAGE id=1538 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:02:26] [ROWS] 51: MESSAGE id=1537 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:26] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:02:26] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:02:26] [HEIGHT_DEBUG] Row 1 msg 1594: isPlayingEvolution=false, textLength=10, text='Deuxième;e...'
[11:02:26] [HEIGHT] Row 1 msg 1594: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:02:26] [HEIGHT_DEBUG] Row 2 msg 1593: isPlayingEvolution=false, textLength=13, text='hhjfw fnewo e...'
[11:02:26] [HEIGHT] Row 2 msg 1593: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:02:26] [HEIGHT_DEBUG] Row 1 msg 1594: isPlayingEvolution=false, textLength=10, text='Deuxième;e...'
[11:02:26] [HEIGHT] Row 1 msg 1594: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:02:26] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:02:26] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:02:26] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:26] [HEIGHT_DEBUG] Row 2 msg 1593: isPlayingEvolution=false, textLength=13, text='hhjfw fnewo e...'
[11:02:26] [HEIGHT] Row 2 msg 1593: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:02:26] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:26] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:26] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:26] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:26] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:26] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:26] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:26] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:26] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:26] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:26] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:26] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:26] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:26] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:26] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:26] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:26] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:26] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:26] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:26] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:26] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:26] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:26] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:26] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:26] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:26] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:26] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:26] [BADGES] Chat tab unread: 1, Slave tab unread: 0, current tab: 0
[11:02:26] ReloadData 18 (viewer init with read receipts)
[11:02:26] [EVOLUTION] πŸ“­ No unread message IDs provided for evolution playback
[11:02:26] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:02:26] [UNREAD_DEBUG]   FINAL msg[0] id=1595, readBy.count=0
[11:02:26] [UNREAD_DEBUG]   FINAL msg[1] id=1594, readBy.count=1
[11:02:26] [UNREAD_DEBUG]   FINAL msg[2] id=1593, readBy.count=1
[11:02:26] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:02:26] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:02:26] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:02:26] [EVOLUTION] πŸ“ Updated lastSeenMessageId: 1594 β†’ 1595
[11:02:26] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:02:26] [ROWS] 0: SEPARATOR
[11:02:26] [ROWS] 1: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:02:26] [ROWS] 2: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:02:26] [ROWS] 3: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:02:26] [ROWS] 4: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:26] [ROWS] 5: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:26] [ROWS] 6: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:26] [ROWS] 7: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:26] [ROWS] 8: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:26] [ROWS] 9: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:26] [ROWS] 10: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:26] [ROWS] 11: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:26] [ROWS] 12: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:26] [ROWS] 13: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:26] [ROWS] 14: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:26] [ROWS] 15: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:26] [ROWS] 16: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:26] [ROWS] 17: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:26] [ROWS] 18: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:02:26] [ROWS] 19: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:26] [ROWS] 20: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:26] [ROWS] 21: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:02:26] [ROWS] 22: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:26] [ROWS] 23: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:26] [ROWS] 24: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:26] [ROWS] 25: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:02:26] [ROWS] 26: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:02:26] [ROWS] 27: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:02:26] [ROWS] 28: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:26] [ROWS] 29: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:26] [ROWS] 30: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:26] [ROWS] 31: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:26] [ROWS] 32: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:26] [ROWS] 33: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:26] [ROWS] 34: SEPARATOR
[11:02:26] [ROWS] 35: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:02:26] [ROWS] 36: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:26] [ROWS] 37: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:02:26] [ROWS] 38: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:02:26] [ROWS] 39: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:02:26] [ROWS] 40: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:02:26] [ROWS] 41: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:26] [ROWS] 42: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:26] [ROWS] 43: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:26] [ROWS] 44: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:26] [ROWS] 45: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:02:26] [ROWS] 46: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:02:26] [ROWS] 47: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:26] [ROWS] 48: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:26] [ROWS] 49: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:26] [ROWS] 50: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:26] [ROWS] 51: MESSAGE id=1538 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:02:26] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:02:26] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:02:26] [HEIGHT_DEBUG] Row 1 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:02:26] [HEIGHT] Row 1 msg 1595: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:02:26] [HEIGHT_DEBUG] Row 2 msg 1594: isPlayingEvolution=false, textLength=10, text='Deuxième;e...'
[11:02:26] [HEIGHT] Row 2 msg 1594: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:02:26] [HEIGHT_DEBUG] Row 1 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:02:26] [HEIGHT] Row 1 msg 1595: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:02:26] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:02:26] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:02:26] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:26] [HEIGHT_DEBUG] Row 2 msg 1594: isPlayingEvolution=false, textLength=10, text='Deuxième;e...'
[11:02:26] [HEIGHT] Row 2 msg 1594: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:02:26] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:26] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:26] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:26] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:26] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:26] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:26] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:26] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:26] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:26] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:26] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:26] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:26] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:26] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:26] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:26] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:26] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:26] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:26] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:26] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:26] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:26] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:26] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:26] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:26] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:26] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:26] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:26] [BADGES] Chat tab unread: 1, Slave tab unread: 0, current tab: 0
[11:02:26] [INITIAL_LOAD] Loaded 50 messages (first page), displaying 50 for tab 0, hasMore: true
[11:02:26] ReloadData 1
[11:02:26] [PURGE] Deleted 0 unused media files:

[11:02:26] [BADGES] Chat tab unread: 1, Slave tab unread: 0, current tab: 0
[11:02:26] [EVOLUTION] πŸ“¬ Preparing 1 unread message(s) for evolution playback: [1595]
[11:02:26] [EVOLUTION] 🎬 Preparing message 1595 for evolution playback (app launch)
[11:02:26] [EVOLUTION] πŸ” Reloading table for evolution - chatMessages.count=50
[11:02:26] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:02:26] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:02:26] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:02:26] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:02:26] [ROWS] 0: SEPARATOR
[11:02:26] [ROWS] 1: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=12
[11:02:26] [ROWS] 2: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:02:26] [ROWS] 3: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:02:26] [ROWS] 4: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:26] [ROWS] 5: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:26] [ROWS] 6: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:26] [ROWS] 7: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:26] [ROWS] 8: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:26] [ROWS] 9: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:26] [ROWS] 10: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:26] [ROWS] 11: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:26] [ROWS] 12: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:26] [ROWS] 13: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:26] [ROWS] 14: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:26] [ROWS] 15: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:26] [ROWS] 16: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:26] [ROWS] 17: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:26] [ROWS] 18: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:02:26] [ROWS] 19: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:26] [ROWS] 20: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:26] [ROWS] 21: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:02:26] [ROWS] 22: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:26] [ROWS] 23: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:26] [ROWS] 24: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:26] [ROWS] 25: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:02:26] [ROWS] 26: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:02:26] [ROWS] 27: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:02:26] [ROWS] 28: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:26] [ROWS] 29: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:26] [ROWS] 30: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:26] [ROWS] 31: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:26] [ROWS] 32: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:26] [ROWS] 33: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:26] [ROWS] 34: SEPARATOR
[11:02:26] [ROWS] 35: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:02:26] [ROWS] 36: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:26] [ROWS] 37: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:02:26] [ROWS] 38: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:02:26] [ROWS] 39: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:02:26] [ROWS] 40: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:02:26] [ROWS] 41: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:26] [ROWS] 42: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:26] [ROWS] 43: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:26] [ROWS] 44: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:26] [ROWS] 45: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:02:26] [ROWS] 46: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:02:26] [ROWS] 47: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:26] [ROWS] 48: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:26] [ROWS] 49: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:26] [ROWS] 50: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:26] [ROWS] 51: MESSAGE id=1538 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:02:26] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:02:26] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:02:26] [HEIGHT_DEBUG] Row 1 msg 1595: isPlayingEvolution=true, textLength=0, text='...'
[11:02:26] [HEIGHT] Row 1 msg 1595: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:02:26] [HEIGHT_DEBUG] Row 2 msg 1594: isPlayingEvolution=false, textLength=10, text='Deuxième;e...'
[11:02:26] [HEIGHT] Row 2 msg 1594: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:02:26] [HEIGHT_DEBUG] Row 1 msg 1595: isPlayingEvolution=true, textLength=0, text='...'
[11:02:26] [HEIGHT] Row 1 msg 1595: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:02:26] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:02:26] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:02:26] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:02:26] [HEIGHT_DEBUG] Row 2 msg 1594: isPlayingEvolution=false, textLength=10, text='Deuxième;e...'
[11:02:26] [HEIGHT] Row 2 msg 1594: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:02:26] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:26] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:26] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:26] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:26] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:26] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:26] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:26] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:26] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:26] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:26] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:26] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:26] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:26] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:26] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:26] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:26] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:26] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:26] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:26] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:26] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:26] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:26] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:26] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:26] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:26] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:26] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:26] [BADGES] Chat tab unread: 1, Slave tab unread: 0, current tab: 0
[11:02:26] [EVOLUTION] πŸ“ Queued 1 messages for sequential playback: [1595]
[11:02:26] [EVOLUTION] 🎬 Starting sequential playback of queued messages
[11:02:26] [EVOLUTION] ▢️ Playing next queued message 1595 - 0 remaining in queue
[11:02:26] [EVOLUTION] πŸ“‘ Fetching evolution data for message 1595
[11:02:26] [EVOLUTION] πŸ” Raw response (639 bytes): {"ok":true,"has_evolution":true,"message_id":1595,"evolution":{"events":[{"t":0,"c":"F","op":"i","p":0},{"p":1,"c":"w","t":119,"op":"i"},{"p":2,"t":124,"op":"i","c":"e"},{"t":176,"p":1,"l":1,"op":"d"}
[11:02:26] [EVOLUTION] πŸ” Parsed JSON keys: ["created_at", "evolution", "has_evolution", "message_id", "ok"]
[11:02:26] [EVOLUTION] πŸ” has_evolution: 1
[11:02:26] [EVOLUTION] βœ… Got 16 events for message 1595
[11:02:26] [OVERLAP_FIX] πŸš€ Starting evolution - forcing initial height recalculation
[11:02:26] [UPDATE] πŸ”„ updateMessageCell(for: 1595) β€” full safe reload
[11:02:26] [ROWS] ===== updateMessageCell for 1595 β€” chatRows.count=52 =====
[11:02:26] [ROWS] 0: SEPARATOR
[11:02:26] [ROWS] 1: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=12
[11:02:26] [ROWS] 2: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:02:26] [ROWS] 3: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:02:26] [ROWS] 4: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:26] [ROWS] 5: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:26] [ROWS] 6: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:26] [ROWS] 7: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:26] [ROWS] 8: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:26] [ROWS] 9: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:26] [ROWS] 10: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:26] [ROWS] 11: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:26] [ROWS] 12: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:26] [ROWS] 13: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:26] [ROWS] 14: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:26] [ROWS] 15: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:26] [ROWS] 16: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:26] [ROWS] 17: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:26] [ROWS] 18: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:02:26] [ROWS] 19: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:26] [ROWS] 20: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:26] [ROWS] 21: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:02:26] [ROWS] 22: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:26] [ROWS] 23: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:26] [ROWS] 24: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:26] [ROWS] 25: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:02:26] [ROWS] 26: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:02:26] [ROWS] 27: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:02:26] [ROWS] 28: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:26] [ROWS] 29: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:26] [ROWS] 30: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:26] [ROWS] 31: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:26] [ROWS] 32: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:26] [ROWS] 33: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:26] [ROWS] 34: SEPARATOR
[11:02:26] [ROWS] 35: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:02:26] [ROWS] 36: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:26] [ROWS] 37: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:02:26] [ROWS] 38: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:02:26] [ROWS] 39: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:02:26] [ROWS] 40: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:02:26] [ROWS] 41: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:26] [ROWS] 42: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:26] [ROWS] 43: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:26] [ROWS] 44: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:26] [ROWS] 45: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:02:26] [ROWS] 46: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:02:26] [ROWS] 47: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:26] [ROWS] 48: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:26] [ROWS] 49: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:26] [ROWS] 50: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:26] [ROWS] 51: MESSAGE id=1538 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:02:26] [ROWS] ===== END (updateMessageCell for 1595) =====
[11:02:26] [HEIGHT_DEBUG] Row 1 msg 1595: isPlayingEvolution=true, textLength=0, text='...'
[11:02:26] [HEIGHT] Row 1 msg 1595: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:02:26] [HEIGHT_DEBUG] Row 2 msg 1594: isPlayingEvolution=false, textLength=10, text='Deuxième;e...'
[11:02:26] [HEIGHT] Row 2 msg 1594: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:02:26] [HEIGHT_DEBUG] Row 1 msg 1595: isPlayingEvolution=true, textLength=0, text='...'
[11:02:26] [HEIGHT] Row 1 msg 1595: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:02:26] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:02:26] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:02:26] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:02:26] [HEIGHT_DEBUG] Row 2 msg 1594: isPlayingEvolution=false, textLength=10, text='Deuxième;e...'
[11:02:26] [HEIGHT] Row 2 msg 1594: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:02:26] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:26] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:26] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:26] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:26] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:26] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:26] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:26] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:26] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:26] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:26] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:26] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:26] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:26] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:26] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:26] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:26] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:26] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:26] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:26] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:26] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:26] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:26] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:26] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:26] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:26] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:26] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:26] [EVOLUTION] ▢️ Starting inline playback for message 1595 with 16 events
[11:02:26] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("session_id"): ILUIWU2, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 1595]
[11:02:26] [PUSH] Parsed message_id: 1595
[11:02:26] [PUSH] Parsed operation_type: 3
[11:02:26] [PUSH] Taking direct action: opType=3, messageId=1595
[11:02:26] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=1595
[11:02:26] [EVOLUTION] πŸ“ Event 0/16 - Text now: "F..."
[11:02:26] [UPDATE] πŸ”„ updateMessageCell(for: 1595) β€” full safe reload
[11:02:26] [ROWS] ===== updateMessageCell for 1595 β€” chatRows.count=52 =====
[11:02:26] [ROWS] 0: SEPARATOR
[11:02:26] [ROWS] 1: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=1 textLen=12
[11:02:26] [ROWS] 2: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:02:26] [ROWS] 3: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:02:26] [ROWS] 4: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:26] [ROWS] 5: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:26] [ROWS] 6: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:26] [ROWS] 7: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:26] [ROWS] 8: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:26] [ROWS] 9: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:26] [ROWS] 10: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:26] [ROWS] 11: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:26] [ROWS] 12: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:26] [ROWS] 13: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:26] [ROWS] 14: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:26] [ROWS] 15: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:26] [ROWS] 16: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:26] [ROWS] 17: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:26] [ROWS] 18: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:02:26] [ROWS] 19: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:26] [ROWS] 20: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:26] [ROWS] 21: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:02:26] [ROWS] 22: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:26] [ROWS] 23: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:26] [ROWS] 24: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:26] [ROWS] 25: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:02:26] [ROWS] 26: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:02:26] [ROWS] 27: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:02:26] [ROWS] 28: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:26] [ROWS] 29: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:26] [ROWS] 30: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:26] [ROWS] 31: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:26] [ROWS] 32: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:26] [ROWS] 33: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:26] [ROWS] 34: SEPARATOR
[11:02:26] [ROWS] 35: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:02:26] [ROWS] 36: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:26] [ROWS] 37: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:02:26] [ROWS] 38: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:02:26] [ROWS] 39: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:02:26] [ROWS] 40: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:02:26] [ROWS] 41: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:26] [ROWS] 42: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:26] [ROWS] 43: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:26] [ROWS] 44: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:26] [ROWS] 45: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:02:26] [ROWS] 46: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:02:26] [ROWS] 47: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:26] [ROWS] 48: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:26] [ROWS] 49: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:26] [ROWS] 50: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:26] [ROWS] 51: MESSAGE id=1538 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:02:26] [ROWS] ===== END (updateMessageCell for 1595) =====
[11:02:26] [HEIGHT_DEBUG] Row 1 msg 1595: isPlayingEvolution=true, textLength=1, text='F...'
[11:02:26] [HEIGHT] Row 1 msg 1595: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:02:26] [HEIGHT_DEBUG] Row 2 msg 1594: isPlayingEvolution=false, textLength=10, text='Deuxième;e...'
[11:02:26] [HEIGHT] Row 2 msg 1594: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:02:26] [HEIGHT_DEBUG] Row 1 msg 1595: isPlayingEvolution=true, textLength=1, text='F...'
[11:02:26] [HEIGHT] Row 1 msg 1595: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:02:26] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:02:26] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:02:26] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:26] [HEIGHT_DEBUG] Row 2 msg 1594: isPlayingEvolution=false, textLength=10, text='Deuxième;e...'
[11:02:26] [HEIGHT] Row 2 msg 1594: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:02:26] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:26] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:26] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:26] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:26] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:26] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:26] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:26] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:26] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:26] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:26] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:26] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:26] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:26] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:26] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:26] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:26] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:27] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:27] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:27] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [LOCATION] Failed to get location: The operation couldn’t be completed. (kCLErrorDomain error 1.)
[11:02:27] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:02:27] Will get events_php
[11:02:27] [TYPING] πŸ”„ ========== POLL START ==========
[11:02:27] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:02:27] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:02:27] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:02:27] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:02:27] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:02:27] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:02:27] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2, "status": ok]
[11:02:27] [TYPING] πŸ“₯ Found 0 typing users in response
[11:02:27] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 205
Keep-Alive: timeout=5, max=95
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Connection: Keep-Alive
Content-Type: application/json; charset=utf-8
X-Powered-By: PHP/8.4.14
Date: Sun, 16 Nov 2025 10:02:27 GMT
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":2,"events":[{"event_id":10614,"event_type":3,"message_id":1595,"session_id":"ILUIWU2"},{"event_id":10615,"event_type":3,"message_id":1595,"session_id":"ILUIWU2"}]}
[11:02:27] [TYPING] πŸ“₯ Updating typing users SET: []
[11:02:27] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:02:27] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:02:27] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:02:27] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:02:27] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:02:27] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:02:27] [TYPING] πŸ”„ ========== POLL END ==========
[11:02:27] Done
[11:02:27] [EVOLUTION] πŸ“ Event 1/16 - Text now: "Fw..."
[11:02:27] [UPDATE] πŸ”„ updateMessageCell(for: 1595) β€” full safe reload
[11:02:27] [ROWS] ===== updateMessageCell for 1595 β€” chatRows.count=52 =====
[11:02:27] [ROWS] 0: SEPARATOR
[11:02:27] [ROWS] 1: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=2 textLen=12
[11:02:27] [ROWS] 2: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:02:27] [ROWS] 3: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:02:27] [ROWS] 4: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:27] [ROWS] 5: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:27] [ROWS] 6: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:27] [ROWS] 7: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:27] [ROWS] 8: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:27] [ROWS] 9: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:27] [ROWS] 10: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:27] [ROWS] 11: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:27] [ROWS] 12: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:27] [ROWS] 13: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:27] [ROWS] 14: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:27] [ROWS] 15: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:27] [ROWS] 16: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:27] [ROWS] 17: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:27] [ROWS] 18: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:02:27] [ROWS] 19: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:27] [ROWS] 20: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:27] [ROWS] 21: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:02:27] [ROWS] 22: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:27] [ROWS] 23: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:27] [ROWS] 24: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:27] [ROWS] 25: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:02:27] [ROWS] 26: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:02:27] [ROWS] 27: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:02:27] [ROWS] 28: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:27] [ROWS] 29: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:27] [ROWS] 30: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:27] [ROWS] 31: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:27] [ROWS] 32: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:27] [ROWS] 33: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:27] [ROWS] 34: SEPARATOR
[11:02:27] [ROWS] 35: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:02:27] [ROWS] 36: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:27] [ROWS] 37: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:02:27] [ROWS] 38: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:02:27] [ROWS] 39: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:02:27] [ROWS] 40: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:02:27] [ROWS] 41: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:27] [ROWS] 42: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:27] [ROWS] 43: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:27] [ROWS] 44: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:27] [ROWS] 45: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:02:27] [ROWS] 46: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:02:27] [ROWS] 47: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:27] [ROWS] 48: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:27] [ROWS] 49: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:27] [ROWS] 50: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:27] [ROWS] 51: MESSAGE id=1538 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:02:27] [ROWS] ===== END (updateMessageCell for 1595) =====
[11:02:27] [HEIGHT_DEBUG] Row 1 msg 1595: isPlayingEvolution=true, textLength=2, text='Fw...'
[11:02:27] [HEIGHT] Row 1 msg 1595: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:02:27] [HEIGHT_DEBUG] Row 2 msg 1594: isPlayingEvolution=false, textLength=10, text='Deuxième;e...'
[11:02:27] [HEIGHT] Row 2 msg 1594: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:02:27] [HEIGHT_DEBUG] Row 1 msg 1595: isPlayingEvolution=true, textLength=2, text='Fw...'
[11:02:27] [HEIGHT] Row 1 msg 1595: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:02:27] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:02:27] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [HEIGHT_DEBUG] Row 2 msg 1594: isPlayingEvolution=false, textLength=10, text='Deuxième;e...'
[11:02:27] [HEIGHT] Row 2 msg 1594: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:02:27] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:27] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:27] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:27] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:27] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:27] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:27] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:27] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:27] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:27] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [EVOLUTION] πŸ“ Event 2/16 - Text now: "Fwe..."
[11:02:27] [UPDATE] πŸ”„ updateMessageCell(for: 1595) β€” full safe reload
[11:02:27] [ROWS] ===== updateMessageCell for 1595 β€” chatRows.count=52 =====
[11:02:27] [ROWS] 0: SEPARATOR
[11:02:27] [ROWS] 1: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=3 textLen=12
[11:02:27] [ROWS] 2: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:02:27] [ROWS] 3: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:02:27] [ROWS] 4: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:27] [ROWS] 5: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:27] [ROWS] 6: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:27] [ROWS] 7: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:27] [ROWS] 8: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:27] [ROWS] 9: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:27] [ROWS] 10: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:27] [ROWS] 11: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:27] [ROWS] 12: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:27] [ROWS] 13: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:27] [ROWS] 14: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:27] [ROWS] 15: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:27] [ROWS] 16: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:27] [ROWS] 17: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:27] [ROWS] 18: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:02:27] [ROWS] 19: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:27] [ROWS] 20: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:27] [ROWS] 21: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:02:27] [ROWS] 22: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:27] [ROWS] 23: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:27] [ROWS] 24: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:27] [ROWS] 25: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:02:27] [ROWS] 26: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:02:27] [ROWS] 27: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:02:27] [ROWS] 28: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:27] [ROWS] 29: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:27] [ROWS] 30: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:27] [ROWS] 31: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:27] [ROWS] 32: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:27] [ROWS] 33: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:27] [ROWS] 34: SEPARATOR
[11:02:27] [ROWS] 35: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:02:27] [ROWS] 36: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:27] [ROWS] 37: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:02:27] [ROWS] 38: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:02:27] [ROWS] 39: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:02:27] [ROWS] 40: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:02:27] [ROWS] 41: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:27] [ROWS] 42: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:27] [ROWS] 43: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:27] [ROWS] 44: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:27] [ROWS] 45: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:02:27] [ROWS] 46: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:02:27] [ROWS] 47: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:27] [ROWS] 48: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:27] [ROWS] 49: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:27] [ROWS] 50: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:27] [ROWS] 51: MESSAGE id=1538 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:02:27] [ROWS] ===== END (updateMessageCell for 1595) =====
[11:02:27] [HEIGHT_DEBUG] Row 1 msg 1595: isPlayingEvolution=true, textLength=3, text='Fwe...'
[11:02:27] [HEIGHT] Row 1 msg 1595: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:02:27] [HEIGHT_DEBUG] Row 2 msg 1594: isPlayingEvolution=false, textLength=10, text='Deuxième;e...'
[11:02:27] [HEIGHT] Row 2 msg 1594: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:02:27] [HEIGHT_DEBUG] Row 1 msg 1595: isPlayingEvolution=true, textLength=3, text='Fwe...'
[11:02:27] [HEIGHT] Row 1 msg 1595: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:02:27] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:02:27] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [HEIGHT_DEBUG] Row 2 msg 1594: isPlayingEvolution=false, textLength=10, text='Deuxième;e...'
[11:02:27] [HEIGHT] Row 2 msg 1594: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:02:27] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:27] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:27] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:27] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:27] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:27] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:27] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:27] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:27] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:27] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [EVOLUTION] πŸ“ Event 3/16 - Text now: "Fe..."
[11:02:27] [UPDATE] πŸ”„ updateMessageCell(for: 1595) β€” full safe reload
[11:02:27] [ROWS] ===== updateMessageCell for 1595 β€” chatRows.count=52 =====
[11:02:27] [ROWS] 0: SEPARATOR
[11:02:27] [ROWS] 1: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=2 textLen=12
[11:02:27] [ROWS] 2: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:02:27] [ROWS] 3: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:02:27] [ROWS] 4: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:27] [ROWS] 5: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:27] [ROWS] 6: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:27] [ROWS] 7: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:27] [ROWS] 8: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:27] [ROWS] 9: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:27] [ROWS] 10: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:27] [ROWS] 11: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:27] [ROWS] 12: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:27] [ROWS] 13: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:27] [ROWS] 14: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:27] [ROWS] 15: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:27] [ROWS] 16: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:27] [ROWS] 17: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:27] [ROWS] 18: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:02:27] [ROWS] 19: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:27] [ROWS] 20: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:27] [ROWS] 21: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:02:27] [ROWS] 22: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:27] [ROWS] 23: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:27] [ROWS] 24: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:27] [ROWS] 25: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:02:27] [ROWS] 26: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:02:27] [ROWS] 27: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:02:27] [ROWS] 28: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:27] [ROWS] 29: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:27] [ROWS] 30: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:27] [ROWS] 31: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:27] [ROWS] 32: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:27] [ROWS] 33: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:27] [ROWS] 34: SEPARATOR
[11:02:27] [ROWS] 35: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:02:27] [ROWS] 36: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:27] [ROWS] 37: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:02:27] [ROWS] 38: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:02:27] [ROWS] 39: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:02:27] [ROWS] 40: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:02:27] [ROWS] 41: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:27] [ROWS] 42: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:27] [ROWS] 43: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:27] [ROWS] 44: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:27] [ROWS] 45: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:02:27] [ROWS] 46: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:02:27] [ROWS] 47: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:27] [ROWS] 48: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:27] [ROWS] 49: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:27] [ROWS] 50: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:27] [ROWS] 51: MESSAGE id=1538 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:02:27] [ROWS] ===== END (updateMessageCell for 1595) =====
[11:02:27] [HEIGHT_DEBUG] Row 1 msg 1595: isPlayingEvolution=true, textLength=2, text='Fe...'
[11:02:27] [HEIGHT] Row 1 msg 1595: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:02:27] [HEIGHT_DEBUG] Row 2 msg 1594: isPlayingEvolution=false, textLength=10, text='Deuxième;e...'
[11:02:27] [HEIGHT] Row 2 msg 1594: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:02:27] [HEIGHT_DEBUG] Row 1 msg 1595: isPlayingEvolution=true, textLength=2, text='Fe...'
[11:02:27] [HEIGHT] Row 1 msg 1595: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:02:27] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:02:27] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [HEIGHT_DEBUG] Row 2 msg 1594: isPlayingEvolution=false, textLength=10, text='Deuxième;e...'
[11:02:27] [HEIGHT] Row 2 msg 1594: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:02:27] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:27] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:27] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:27] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:27] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:27] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:27] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:27] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:27] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:27] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [EVOLUTION] πŸ“ Event 4/16 - Text now: "Fee..."
[11:02:27] [UPDATE] πŸ”„ updateMessageCell(for: 1595) β€” full safe reload
[11:02:27] [ROWS] ===== updateMessageCell for 1595 β€” chatRows.count=52 =====
[11:02:27] [ROWS] 0: SEPARATOR
[11:02:27] [ROWS] 1: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=3 textLen=12
[11:02:27] [ROWS] 2: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:02:27] [ROWS] 3: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:02:27] [ROWS] 4: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:27] [ROWS] 5: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:27] [ROWS] 6: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:27] [ROWS] 7: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:27] [ROWS] 8: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:27] [ROWS] 9: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:27] [ROWS] 10: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:27] [ROWS] 11: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:27] [ROWS] 12: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:27] [ROWS] 13: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:27] [ROWS] 14: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:27] [ROWS] 15: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:27] [ROWS] 16: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:27] [ROWS] 17: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:27] [ROWS] 18: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:02:27] [ROWS] 19: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:27] [ROWS] 20: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:27] [ROWS] 21: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:02:27] [ROWS] 22: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:27] [ROWS] 23: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:27] [ROWS] 24: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:27] [ROWS] 25: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:02:27] [ROWS] 26: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:02:27] [ROWS] 27: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:02:27] [ROWS] 28: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:27] [ROWS] 29: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:27] [ROWS] 30: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:27] [ROWS] 31: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:27] [ROWS] 32: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:27] [ROWS] 33: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:27] [ROWS] 34: SEPARATOR
[11:02:27] [ROWS] 35: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:02:27] [ROWS] 36: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:27] [ROWS] 37: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:02:27] [ROWS] 38: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:02:27] [ROWS] 39: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:02:27] [ROWS] 40: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:02:27] [ROWS] 41: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:27] [ROWS] 42: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:27] [ROWS] 43: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:27] [ROWS] 44: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:27] [ROWS] 45: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:02:27] [ROWS] 46: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:02:27] [ROWS] 47: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:27] [ROWS] 48: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:27] [ROWS] 49: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:27] [ROWS] 50: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:27] [ROWS] 51: MESSAGE id=1538 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:02:27] [ROWS] ===== END (updateMessageCell for 1595) =====
[11:02:27] [HEIGHT_DEBUG] Row 1 msg 1595: isPlayingEvolution=true, textLength=3, text='Fee...'
[11:02:27] [HEIGHT] Row 1 msg 1595: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:02:27] [HEIGHT_DEBUG] Row 2 msg 1594: isPlayingEvolution=false, textLength=10, text='Deuxième;e...'
[11:02:27] [HEIGHT] Row 2 msg 1594: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:02:27] [HEIGHT_DEBUG] Row 1 msg 1595: isPlayingEvolution=true, textLength=3, text='Fee...'
[11:02:27] [HEIGHT] Row 1 msg 1595: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:02:27] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:02:27] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [HEIGHT_DEBUG] Row 2 msg 1594: isPlayingEvolution=false, textLength=10, text='Deuxième;e...'
[11:02:27] [HEIGHT] Row 2 msg 1594: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:02:27] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:27] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:27] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:27] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:27] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:27] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:27] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:27] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:27] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:27] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [EVOLUTION] πŸ“ Event 5/16 - Text now: "Fee ..."
[11:02:27] [UPDATE] πŸ”„ updateMessageCell(for: 1595) β€” full safe reload
[11:02:27] [ROWS] ===== updateMessageCell for 1595 β€” chatRows.count=52 =====
[11:02:27] [ROWS] 0: SEPARATOR
[11:02:27] [ROWS] 1: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=4 textLen=12
[11:02:27] [ROWS] 2: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:02:27] [ROWS] 3: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:02:27] [ROWS] 4: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:27] [ROWS] 5: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:27] [ROWS] 6: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:27] [ROWS] 7: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:27] [ROWS] 8: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:27] [ROWS] 9: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:27] [ROWS] 10: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:27] [ROWS] 11: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:27] [ROWS] 12: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:27] [ROWS] 13: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:27] [ROWS] 14: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:27] [ROWS] 15: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:27] [ROWS] 16: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:27] [ROWS] 17: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:27] [ROWS] 18: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:02:27] [ROWS] 19: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:27] [ROWS] 20: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:27] [ROWS] 21: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:02:27] [ROWS] 22: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:27] [ROWS] 23: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:27] [ROWS] 24: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:27] [ROWS] 25: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:02:27] [ROWS] 26: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:02:27] [ROWS] 27: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:02:27] [ROWS] 28: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:27] [ROWS] 29: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:27] [ROWS] 30: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:27] [ROWS] 31: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:27] [ROWS] 32: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:27] [ROWS] 33: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:27] [ROWS] 34: SEPARATOR
[11:02:27] [ROWS] 35: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:02:27] [ROWS] 36: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:27] [ROWS] 37: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:02:27] [ROWS] 38: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:02:27] [ROWS] 39: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:02:27] [ROWS] 40: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:02:27] [ROWS] 41: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:27] [ROWS] 42: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:27] [ROWS] 43: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:27] [ROWS] 44: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:27] [ROWS] 45: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:02:27] [ROWS] 46: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:02:27] [ROWS] 47: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:27] [ROWS] 48: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:27] [ROWS] 49: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:27] [ROWS] 50: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:27] [ROWS] 51: MESSAGE id=1538 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:02:27] [ROWS] ===== END (updateMessageCell for 1595) =====
[11:02:27] [HEIGHT_DEBUG] Row 1 msg 1595: isPlayingEvolution=true, textLength=4, text='Fee ...'
[11:02:27] [HEIGHT] Row 1 msg 1595: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:02:27] [HEIGHT_DEBUG] Row 2 msg 1594: isPlayingEvolution=false, textLength=10, text='Deuxième;e...'
[11:02:27] [HEIGHT] Row 2 msg 1594: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:02:27] [HEIGHT_DEBUG] Row 1 msg 1595: isPlayingEvolution=true, textLength=4, text='Fee ...'
[11:02:27] [HEIGHT] Row 1 msg 1595: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:02:27] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:02:27] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [HEIGHT_DEBUG] Row 2 msg 1594: isPlayingEvolution=false, textLength=10, text='Deuxième;e...'
[11:02:27] [HEIGHT] Row 2 msg 1594: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:02:27] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:27] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:27] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:27] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:27] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:27] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:27] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:27] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:27] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:27] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [EVOLUTION] πŸ“ Event 6/16 - Text now: "Fee f..."
[11:02:27] [UPDATE] πŸ”„ updateMessageCell(for: 1595) β€” full safe reload
[11:02:27] [ROWS] ===== updateMessageCell for 1595 β€” chatRows.count=52 =====
[11:02:27] [ROWS] 0: SEPARATOR
[11:02:27] [ROWS] 1: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=5 textLen=12
[11:02:27] [ROWS] 2: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:02:27] [ROWS] 3: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:02:27] [ROWS] 4: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:27] [ROWS] 5: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:27] [ROWS] 6: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:27] [ROWS] 7: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:27] [ROWS] 8: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:27] [ROWS] 9: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:27] [ROWS] 10: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:27] [ROWS] 11: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:27] [ROWS] 12: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:27] [ROWS] 13: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:27] [ROWS] 14: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:27] [ROWS] 15: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:27] [ROWS] 16: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:27] [ROWS] 17: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:27] [ROWS] 18: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:02:27] [ROWS] 19: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:27] [ROWS] 20: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:27] [ROWS] 21: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:02:27] [ROWS] 22: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:27] [ROWS] 23: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:27] [ROWS] 24: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:27] [ROWS] 25: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:02:27] [ROWS] 26: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:02:27] [ROWS] 27: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:02:27] [ROWS] 28: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:27] [ROWS] 29: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:27] [ROWS] 30: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:27] [ROWS] 31: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:27] [ROWS] 32: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:27] [ROWS] 33: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:27] [ROWS] 34: SEPARATOR
[11:02:27] [ROWS] 35: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:02:27] [ROWS] 36: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:27] [ROWS] 37: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:02:27] [ROWS] 38: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:02:27] [ROWS] 39: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:02:27] [ROWS] 40: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:02:27] [ROWS] 41: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:27] [ROWS] 42: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:27] [ROWS] 43: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:27] [ROWS] 44: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:27] [ROWS] 45: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:02:27] [ROWS] 46: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:02:27] [ROWS] 47: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:27] [ROWS] 48: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:27] [ROWS] 49: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:27] [ROWS] 50: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:27] [ROWS] 51: MESSAGE id=1538 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:02:27] [ROWS] ===== END (updateMessageCell for 1595) =====
[11:02:27] [HEIGHT_DEBUG] Row 1 msg 1595: isPlayingEvolution=true, textLength=5, text='Fee f...'
[11:02:27] [HEIGHT] Row 1 msg 1595: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:02:27] [HEIGHT_DEBUG] Row 2 msg 1594: isPlayingEvolution=false, textLength=10, text='Deuxième;e...'
[11:02:27] [HEIGHT] Row 2 msg 1594: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:02:27] [HEIGHT_DEBUG] Row 1 msg 1595: isPlayingEvolution=true, textLength=5, text='Fee f...'
[11:02:27] [HEIGHT] Row 1 msg 1595: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:02:27] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:02:27] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [HEIGHT_DEBUG] Row 2 msg 1594: isPlayingEvolution=false, textLength=10, text='Deuxième;e...'
[11:02:27] [HEIGHT] Row 2 msg 1594: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:02:27] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:27] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:27] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:27] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:27] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:27] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:27] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:27] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:27] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:27] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:27] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:27] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:28] [EVOLUTION] πŸ“ Event 7/16 - Text now: "Fee fe..."
[11:02:28] [UPDATE] πŸ”„ updateMessageCell(for: 1595) β€” full safe reload
[11:02:28] [ROWS] ===== updateMessageCell for 1595 β€” chatRows.count=52 =====
[11:02:28] [ROWS] 0: SEPARATOR
[11:02:28] [ROWS] 1: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=6 textLen=12
[11:02:28] [ROWS] 2: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:02:28] [ROWS] 3: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:02:28] [ROWS] 4: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:28] [ROWS] 5: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:28] [ROWS] 6: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:28] [ROWS] 7: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:28] [ROWS] 8: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:28] [ROWS] 9: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:28] [ROWS] 10: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:28] [ROWS] 11: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:28] [ROWS] 12: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:28] [ROWS] 13: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:28] [ROWS] 14: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:28] [ROWS] 15: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:28] [ROWS] 16: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:28] [ROWS] 17: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:28] [ROWS] 18: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:02:28] [ROWS] 19: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:28] [ROWS] 20: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:28] [ROWS] 21: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:02:28] [ROWS] 22: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:28] [ROWS] 23: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:28] [ROWS] 24: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:28] [ROWS] 25: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:02:28] [ROWS] 26: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:02:28] [ROWS] 27: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:02:28] [ROWS] 28: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:28] [ROWS] 29: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:28] [ROWS] 30: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:28] [ROWS] 31: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:28] [ROWS] 32: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:28] [ROWS] 33: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:28] [ROWS] 34: SEPARATOR
[11:02:28] [ROWS] 35: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:02:28] [ROWS] 36: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:28] [ROWS] 37: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:02:28] [ROWS] 38: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:02:28] [ROWS] 39: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:02:28] [ROWS] 40: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:02:28] [ROWS] 41: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:28] [ROWS] 42: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:28] [ROWS] 43: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:28] [ROWS] 44: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:28] [ROWS] 45: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:02:28] [ROWS] 46: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:02:28] [ROWS] 47: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:28] [ROWS] 48: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:28] [ROWS] 49: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:28] [ROWS] 50: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:28] [ROWS] 51: MESSAGE id=1538 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:02:28] [ROWS] ===== END (updateMessageCell for 1595) =====
[11:02:28] [HEIGHT_DEBUG] Row 1 msg 1595: isPlayingEvolution=true, textLength=6, text='Fee fe...'
[11:02:28] [HEIGHT] Row 1 msg 1595: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:02:28] [HEIGHT_DEBUG] Row 2 msg 1594: isPlayingEvolution=false, textLength=10, text='Deuxième;e...'
[11:02:28] [HEIGHT] Row 2 msg 1594: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:02:28] [HEIGHT_DEBUG] Row 1 msg 1595: isPlayingEvolution=true, textLength=6, text='Fee fe...'
[11:02:28] [HEIGHT] Row 1 msg 1595: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:02:28] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:02:28] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:02:28] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:28] [HEIGHT_DEBUG] Row 2 msg 1594: isPlayingEvolution=false, textLength=10, text='Deuxième;e...'
[11:02:28] [HEIGHT] Row 2 msg 1594: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:02:28] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:28] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:28] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:28] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:28] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:28] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:28] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:28] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:28] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:28] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:28] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:28] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:28] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:28] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:28] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:28] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:28] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:28] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:28] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:28] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:28] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:28] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:28] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:28] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:28] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:28] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:28] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:28] [EVOLUTION] πŸ“ Event 8/16 - Text now: "Fee few..."
[11:02:28] [UPDATE] πŸ”„ updateMessageCell(for: 1595) β€” full safe reload
[11:02:28] [ROWS] ===== updateMessageCell for 1595 β€” chatRows.count=52 =====
[11:02:28] [ROWS] 0: SEPARATOR
[11:02:28] [ROWS] 1: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=7 textLen=12
[11:02:28] [ROWS] 2: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:02:28] [ROWS] 3: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:02:28] [ROWS] 4: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:28] [ROWS] 5: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:28] [ROWS] 6: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:28] [ROWS] 7: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:28] [ROWS] 8: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:28] [ROWS] 9: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:28] [ROWS] 10: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:28] [ROWS] 11: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:28] [ROWS] 12: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:28] [ROWS] 13: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:28] [ROWS] 14: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:28] [ROWS] 15: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:28] [ROWS] 16: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:28] [ROWS] 17: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:28] [ROWS] 18: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:02:28] [ROWS] 19: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:28] [ROWS] 20: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:28] [ROWS] 21: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:02:28] [ROWS] 22: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:28] [ROWS] 23: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:28] [ROWS] 24: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:28] [ROWS] 25: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:02:28] [ROWS] 26: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:02:28] [ROWS] 27: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:02:28] [ROWS] 28: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:28] [ROWS] 29: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:28] [ROWS] 30: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:28] [ROWS] 31: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:28] [ROWS] 32: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:28] [ROWS] 33: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:28] [ROWS] 34: SEPARATOR
[11:02:28] [ROWS] 35: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:02:28] [ROWS] 36: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:28] [ROWS] 37: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:02:28] [ROWS] 38: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:02:28] [ROWS] 39: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:02:28] [ROWS] 40: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:02:28] [ROWS] 41: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:28] [ROWS] 42: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:28] [ROWS] 43: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:28] [ROWS] 44: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:28] [ROWS] 45: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:02:28] [ROWS] 46: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:02:28] [ROWS] 47: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:28] [ROWS] 48: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:28] [ROWS] 49: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:28] [ROWS] 50: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:28] [ROWS] 51: MESSAGE id=1538 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:02:28] [ROWS] ===== END (updateMessageCell for 1595) =====
[11:02:28] [HEIGHT_DEBUG] Row 1 msg 1595: isPlayingEvolution=true, textLength=7, text='Fee few...'
[11:02:28] [HEIGHT] Row 1 msg 1595: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:02:28] [HEIGHT_DEBUG] Row 2 msg 1594: isPlayingEvolution=false, textLength=10, text='Deuxième;e...'
[11:02:28] [HEIGHT] Row 2 msg 1594: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:02:28] [HEIGHT_DEBUG] Row 1 msg 1595: isPlayingEvolution=true, textLength=7, text='Fee few...'
[11:02:28] [HEIGHT] Row 1 msg 1595: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:02:28] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:02:28] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:02:28] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:28] [HEIGHT_DEBUG] Row 2 msg 1594: isPlayingEvolution=false, textLength=10, text='Deuxième;e...'
[11:02:28] [HEIGHT] Row 2 msg 1594: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:02:28] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:28] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:28] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:28] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:28] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:28] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:28] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:28] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:28] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:28] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:28] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:28] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:28] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:28] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:28] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:28] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:28] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:28] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:28] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:28] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:28] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:28] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:28] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:28] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:28] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:28] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:28] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:28] [EVOLUTION] πŸ“ Event 9/16 - Text now: "Fee few ..."
[11:02:28] [UPDATE] πŸ”„ updateMessageCell(for: 1595) β€” full safe reload
[11:02:28] [ROWS] ===== updateMessageCell for 1595 β€” chatRows.count=52 =====
[11:02:28] [ROWS] 0: SEPARATOR
[11:02:28] [ROWS] 1: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=8 textLen=12
[11:02:28] [ROWS] 2: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:02:28] [ROWS] 3: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:02:28] [ROWS] 4: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:28] [ROWS] 5: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:28] [ROWS] 6: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:28] [ROWS] 7: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:28] [ROWS] 8: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:28] [ROWS] 9: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:28] [ROWS] 10: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:28] [ROWS] 11: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:28] [ROWS] 12: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:28] [ROWS] 13: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:28] [ROWS] 14: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:28] [ROWS] 15: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:28] [ROWS] 16: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:28] [ROWS] 17: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:28] [ROWS] 18: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:02:28] [ROWS] 19: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:28] [ROWS] 20: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:28] [ROWS] 21: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:02:28] [ROWS] 22: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:28] [ROWS] 23: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:28] [ROWS] 24: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:28] [ROWS] 25: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:02:28] [ROWS] 26: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:02:28] [ROWS] 27: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:02:28] [ROWS] 28: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:28] [ROWS] 29: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:28] [ROWS] 30: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:28] [ROWS] 31: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:28] [ROWS] 32: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:28] [ROWS] 33: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:28] [ROWS] 34: SEPARATOR
[11:02:28] [ROWS] 35: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:02:28] [ROWS] 36: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:28] [ROWS] 37: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:02:28] [ROWS] 38: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:02:28] [ROWS] 39: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:02:28] [ROWS] 40: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:02:28] [ROWS] 41: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:28] [ROWS] 42: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:28] [ROWS] 43: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:28] [ROWS] 44: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:28] [ROWS] 45: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:02:28] [ROWS] 46: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:02:28] [ROWS] 47: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:28] [ROWS] 48: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:28] [ROWS] 49: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:28] [ROWS] 50: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:28] [ROWS] 51: MESSAGE id=1538 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:02:28] [ROWS] ===== END (updateMessageCell for 1595) =====
[11:02:28] [HEIGHT_DEBUG] Row 1 msg 1595: isPlayingEvolution=true, textLength=8, text='Fee few ...'
[11:02:28] [HEIGHT] Row 1 msg 1595: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:02:28] [HEIGHT_DEBUG] Row 2 msg 1594: isPlayingEvolution=false, textLength=10, text='Deuxième;e...'
[11:02:28] [HEIGHT] Row 2 msg 1594: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:02:28] [HEIGHT_DEBUG] Row 1 msg 1595: isPlayingEvolution=true, textLength=8, text='Fee few ...'
[11:02:28] [HEIGHT] Row 1 msg 1595: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:02:28] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:02:28] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:02:28] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:28] [HEIGHT_DEBUG] Row 2 msg 1594: isPlayingEvolution=false, textLength=10, text='Deuxième;e...'
[11:02:28] [HEIGHT] Row 2 msg 1594: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:02:28] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:28] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:28] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:28] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:28] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:28] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:28] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:28] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:28] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:28] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:28] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:28] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:28] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:28] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:28] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:28] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:28] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:28] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:28] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:28] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:28] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:28] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:28] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:28] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:28] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:28] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:28] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:28] [EVOLUTION] πŸ“ Event 10/16 - Text now: "Fee few w..."
[11:02:28] [UPDATE] πŸ”„ updateMessageCell(for: 1595) β€” full safe reload
[11:02:28] [ROWS] ===== updateMessageCell for 1595 β€” chatRows.count=52 =====
[11:02:28] [ROWS] 0: SEPARATOR
[11:02:28] [ROWS] 1: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=9 textLen=12
[11:02:28] [ROWS] 2: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:02:28] [ROWS] 3: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:02:28] [ROWS] 4: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:28] [ROWS] 5: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:28] [ROWS] 6: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:28] [ROWS] 7: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:28] [ROWS] 8: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:28] [ROWS] 9: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:28] [ROWS] 10: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:28] [ROWS] 11: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:28] [ROWS] 12: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:28] [ROWS] 13: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:28] [ROWS] 14: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:28] [ROWS] 15: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:28] [ROWS] 16: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:28] [ROWS] 17: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:28] [ROWS] 18: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:02:28] [ROWS] 19: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:28] [ROWS] 20: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:28] [ROWS] 21: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:02:28] [ROWS] 22: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:28] [ROWS] 23: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:28] [ROWS] 24: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:28] [ROWS] 25: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:02:28] [ROWS] 26: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:02:28] [ROWS] 27: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:02:28] [ROWS] 28: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:28] [ROWS] 29: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:28] [ROWS] 30: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:28] [ROWS] 31: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:28] [ROWS] 32: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:28] [ROWS] 33: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:28] [ROWS] 34: SEPARATOR
[11:02:28] [ROWS] 35: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:02:28] [ROWS] 36: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:28] [ROWS] 37: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:02:28] [ROWS] 38: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:02:28] [ROWS] 39: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:02:28] [ROWS] 40: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:02:28] [ROWS] 41: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:28] [ROWS] 42: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:28] [ROWS] 43: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:28] [ROWS] 44: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:28] [ROWS] 45: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:02:28] [ROWS] 46: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:02:28] [ROWS] 47: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:28] [ROWS] 48: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:28] [ROWS] 49: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:28] [ROWS] 50: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:28] [ROWS] 51: MESSAGE id=1538 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:02:28] [ROWS] ===== END (updateMessageCell for 1595) =====
[11:02:28] [HEIGHT_DEBUG] Row 1 msg 1595: isPlayingEvolution=true, textLength=9, text='Fee few w...'
[11:02:28] [HEIGHT] Row 1 msg 1595: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:02:28] [HEIGHT_DEBUG] Row 2 msg 1594: isPlayingEvolution=false, textLength=10, text='Deuxième;e...'
[11:02:28] [HEIGHT] Row 2 msg 1594: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:02:28] [HEIGHT_DEBUG] Row 1 msg 1595: isPlayingEvolution=true, textLength=9, text='Fee few w...'
[11:02:28] [HEIGHT] Row 1 msg 1595: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:02:28] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:02:28] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:02:28] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:28] [HEIGHT_DEBUG] Row 2 msg 1594: isPlayingEvolution=false, textLength=10, text='Deuxième;e...'
[11:02:28] [HEIGHT] Row 2 msg 1594: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:02:28] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:28] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:28] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:28] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:28] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:28] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:28] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:28] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:28] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:28] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:28] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:28] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:28] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:28] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:28] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:28] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:28] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:28] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:28] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:28] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:28] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:28] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:28] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:28] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:28] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:36] [CRASH] Previous session did not exit cleanly - crash detected
[11:02:36] [GIPHY] SDK not available - using REST API fallback
[11:02:36] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:02:36] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:02:36] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:02:36] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:02:36] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:02:36] [SCENE] Launched directly to chat view with sessionId: ILUIWU2
[11:02:36] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:02:36] Documents Directory: /var/mobile/Containers/Data/Application/BAFA368C-123B-4797-B37C-B76A2351B327/Documents
[11:02:36] [NOTIFICATION] πŸ”” Notification button created and added to topNavBar
[11:02:36] [NOTIFICATION] πŸ”” Button tintColor: grey (0.5, 0.5, 0.5)
[11:02:36] [NOTIFICATION] πŸ”” Button isUserInteractionEnabled: true
[11:02:36] [INFO_PAGE] InformationViewController viewDidLoad called
[11:02:36] [INFO_PAGE] Actions configured (bell button is external)
[11:02:36] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:02:36] [INFO_PAGE] Successfully opened database at /var/mobile/Containers/Data/Application/BAFA368C-123B-4797-B37C-B76A2351B327/Documents/chat_local_viewer.db
[11:02:36] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:02:36] [INFO_PAGE] Found 410 messages for session 'ILUIWU2'
[11:02:36] [INFO_PAGE] Total messages in database: 1176
[11:02:36] [INFO_PAGE] InformationViewController setup complete
[11:02:36] [INFO_PAGE] ℹ️ Information page added to tab 3
[11:02:36] [THEME] Applying current theme
[11:02:36] [CHAT] Applied day theme (mode: day)
[11:02:36] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:02:36] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:02:36] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:02:36] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:02:36] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:02:36] [SUMMARY] Already showed summary today (2025-11-16)
[11:02:36] Did transition
[11:02:36] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:02:36] [VIEWER] Screen lock enabled - normal idle behavior
[11:02:36] [QUERY] πŸ” Checking tab - currentTabIndex=0
[11:02:36] [QUERY] πŸ”΅ [TAB 0] No query connection needed
[11:02:36] [QUERY] βœ… [TAB 0] Initialized without query connection
[11:02:36] [LOCATION] Started location updates for distance calculation (already authorized)
[11:02:36] [TAB 0] Skipping reconnect polling - only needed for tab 1
[11:02:36] [VIEWER_INIT] Loading messages with read receipts from server
[11:02:36] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:02:36] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:02:36] [DB]   msg[0] id=1595, isMyMessage=false, readBy.count=0
[11:02:36] [DB]   msg[1] id=1594, isMyMessage=false, readBy.count=0
[11:02:36] [DB]   msg[2] id=1593, isMyMessage=false, readBy.count=0
[11:02:36] [EVOLUTION] πŸ” Found 0 NEW unread messages from local DB before fetching read receipts (lastSeenMessageId=1595): []
[11:02:36] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1595, readBy=[]", "id=1594, readBy=[]", "id=1593, readBy=[]"]
[11:02:36] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:02:36] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:02:36] [DB]   msg[0] id=1595, isMyMessage=false, readBy.count=0
[11:02:36] [DB]   msg[1] id=1594, isMyMessage=false, readBy.count=0
[11:02:36] [DB]   msg[2] id=1593, isMyMessage=false, readBy.count=0
[11:02:36] [EVENT_POLL] Starting periodic event polling for viewer mode (5s interval)
[11:02:36] [ORIENTATION] Updated pagingScrollView height to 247.5 for width 440.0
[11:02:36] [SUMMARY] Already showed summary today (2025-11-16)
[11:02:36] Did transition
[11:02:36] [NOTIFICATION] πŸ”” Constraints activated for notification button
[11:02:36] [NOTIFICATION] πŸ”” topNavBar frame: (0.0, 0.0, 440.0, 50.0)
[11:02:36] [NOTIFICATION] πŸ”” menuButton frame: (0.0, 0.0, 39.0, 30.0)
[11:02:36] [NOTIFICATION] πŸ”” notificationButton frame: (0.0, 0.0, 56.333333333333336, 58.0)
[11:02:36] [NOTIFICATION] πŸ”” Notification button brought to front
[11:02:36] [NOTIFICATION] πŸ”„ Updating icon to: bell.slash.fill (muted=true)
[11:02:36] [NOTIFICATION] βœ… Icon updated successfully
[11:02:36] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[11:02:36] [MIGRATION] No messages need sender_name backfill
[11:02:36] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:02:36] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:02:36] [DB]   msg[0] id=1595, isMyMessage=false, readBy.count=0
[11:02:36] [DB]   msg[1] id=1594, isMyMessage=false, readBy.count=0
[11:02:36] [DB]   msg[2] id=1593, isMyMessage=false, readBy.count=0
[11:02:36] [INFO_PAGE] InformationViewController viewWillAppear - applying theme
[11:02:36] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:02:36] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:02:36] [PAGINATION_SCROLL] offset=-12.0, contentHeight=108.0, distFromBottom=120.0, dragging=false, decel=false, isLoading=false, cooldown=63899056956.87963s
[11:02:36] [PAGINATION_SCROLL] offset=0.0, contentHeight=108.0, distFromBottom=-650.0, dragging=false, decel=false, isLoading=false, cooldown=63899056956.88165s
[11:02:36] [LOCATION] Authorization changed: 4
[11:02:36] [LOCATION] Updated location: 46.501410602236994, 6.7226937813163765
[11:02:36] [NOTIFICATION] πŸ”” FINAL STATE after viewDidLoad:
[11:02:36] [NOTIFICATION] πŸ”” notificationButton.frame: (392.0, 67.0, 40.0, 40.0)
[11:02:36] [NOTIFICATION] πŸ”” notificationButton.isHidden: false
[11:02:36] [NOTIFICATION] πŸ”” notificationButton.alpha: 1.0
[11:02:36] [NOTIFICATION] πŸ”” notificationButton.superview: true
[11:02:36] [NOTIFICATION] πŸ”” topNavBar.isHidden: false
[11:02:36] [NOTIFICATION] πŸ”” topNavBar.subviews.count: 3
[11:02:36] [PUSH] handlePollEventsNotification userInfo: [:]
[11:02:36] [PUSH] No message_id in userInfo
[11:02:36] [PUSH] No operation_type in userInfo
[11:02:36] [PUSH] Performing full refresh to catch up on any missed messages
[11:02:36] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:02:36] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:02:36] [DB]   msg[0] id=1595, isMyMessage=false, readBy.count=0
[11:02:36] [DB]   msg[1] id=1594, isMyMessage=false, readBy.count=0
[11:02:36] [DB]   msg[2] id=1593, isMyMessage=false, readBy.count=0
[11:02:36] [PUSH] APNs token: 6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c
[11:02:37] [PUSH] Device role updated to 'viewer': HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:02:37] [PUSH] Device role updated to 'viewer': HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:02:37] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:02:37] [USER] βœ… User registered successfully
[11:02:37] [USER] User registration successful
[11:02:37] [CHAT] βœ… refreshAllFromServer - parsed 410 messages from server
[11:02:37] [DB] clearDBForSession(ILUIWU2): deleted 410 messages, result=101
[11:02:37] ReloadData 15 (410 messages loaded, 0 pending media)
[11:02:37] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:02:37] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:02:37] [DB]   msg[0] id=1595, isMyMessage=false, readBy.count=0
[11:02:37] [DB]   msg[1] id=1594, isMyMessage=false, readBy.count=0
[11:02:37] [DB]   msg[2] id=1593, isMyMessage=false, readBy.count=0
[11:02:37] [EVOLUTION] πŸ” Found 0 NEW unread messages after refreshAllFromServer (lastSeenMessageId=1595): []
[11:02:37] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1595, readBy=[]", "id=1594, readBy=[]", "id=1593, readBy=[]"]
[11:02:37] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:02:37] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:02:37] [DB]   msg[0] id=1595, isMyMessage=false, readBy.count=0
[11:02:37] [DB]   msg[1] id=1594, isMyMessage=false, readBy.count=0
[11:02:37] [DB]   msg[2] id=1593, isMyMessage=false, readBy.count=0
[11:02:37] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:02:37] [UNREAD_DEBUG]   FINAL msg[0] id=1595, readBy.count=1
[11:02:37] [UNREAD_DEBUG]   FINAL msg[1] id=1594, readBy.count=1
[11:02:37] [UNREAD_DEBUG]   FINAL msg[2] id=1593, readBy.count=1
[11:02:37] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:02:37] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:02:37] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:02:37] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:02:37] [ROWS] 0: SEPARATOR
[11:02:37] [ROWS] 1: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:02:37] [ROWS] 2: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:02:37] [ROWS] 3: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:02:37] [ROWS] 4: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:37] [ROWS] 5: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:37] [ROWS] 6: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:37] [ROWS] 7: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:37] [ROWS] 8: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:37] [ROWS] 9: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:37] [ROWS] 10: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:37] [ROWS] 11: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:37] [ROWS] 12: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:37] [ROWS] 13: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:37] [ROWS] 14: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:37] [ROWS] 15: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:37] [ROWS] 16: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:37] [ROWS] 17: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:37] [ROWS] 18: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:02:37] [ROWS] 19: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:37] [ROWS] 20: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:37] [ROWS] 21: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:02:37] [ROWS] 22: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:37] [ROWS] 23: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:37] [ROWS] 24: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:37] [ROWS] 25: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:02:37] [ROWS] 26: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:02:37] [ROWS] 27: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:02:37] [ROWS] 28: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:37] [ROWS] 29: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:37] [ROWS] 30: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:37] [ROWS] 31: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:37] [ROWS] 32: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:37] [ROWS] 33: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:37] [ROWS] 34: SEPARATOR
[11:02:37] [ROWS] 35: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:02:37] [ROWS] 36: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:37] [ROWS] 37: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:02:37] [ROWS] 38: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:02:37] [ROWS] 39: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:02:37] [ROWS] 40: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:02:37] [ROWS] 41: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:37] [ROWS] 42: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:37] [ROWS] 43: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:37] [ROWS] 44: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:37] [ROWS] 45: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:02:37] [ROWS] 46: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:02:37] [ROWS] 47: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:37] [ROWS] 48: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:37] [ROWS] 49: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:37] [ROWS] 50: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:37] [ROWS] 51: MESSAGE id=1538 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:02:37] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:02:37] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:02:37] [HEIGHT_DEBUG] Row 1 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:02:37] [EMOJI] βœ… Loaded 451 emoji-to-GIF mappings
[11:02:37] [HEIGHT] Row 1 msg 1595: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:02:37] [HEIGHT_DEBUG] Row 2 msg 1594: isPlayingEvolution=false, textLength=10, text='Deuxième;e...'
[11:02:37] [HEIGHT] Row 2 msg 1594: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:02:37] [HEIGHT_DEBUG] Row 1 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:02:37] [HEIGHT] Row 1 msg 1595: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:02:37] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:02:37] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:02:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:37] [HEIGHT_DEBUG] Row 2 msg 1594: isPlayingEvolution=false, textLength=10, text='Deuxième;e...'
[11:02:37] [HEIGHT] Row 2 msg 1594: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:02:37] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:37] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:37] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:37] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:37] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:37] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:37] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:37] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:37] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:37] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:02:37] [FOREGROUND_REFRESH] Loaded 50 messages, displaying 50 for tab 0
[11:02:37] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:02:37] [UNREAD_DEBUG]   FINAL msg[0] id=1595, readBy.count=1
[11:02:37] [UNREAD_DEBUG]   FINAL msg[1] id=1594, readBy.count=1
[11:02:37] [UNREAD_DEBUG]   FINAL msg[2] id=1593, readBy.count=1
[11:02:37] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:02:37] [UNREAD_DEBUG]   FINAL msg[0] id=1595, readBy.count=1
[11:02:37] [UNREAD_DEBUG]   FINAL msg[1] id=1594, readBy.count=1
[11:02:37] [UNREAD_DEBUG]   FINAL msg[2] id=1593, readBy.count=1
[11:02:37] [VIEWER_INIT] Loaded 50 messages with read receipts, hasMore: true
[11:02:37] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:02:37] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:02:37] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:02:37] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:02:37] [ROWS] 0: SEPARATOR
[11:02:37] [ROWS] 1: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:02:37] [ROWS] 2: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:02:37] [ROWS] 3: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:02:37] [ROWS] 4: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:37] [ROWS] 5: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:37] [ROWS] 6: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:37] [ROWS] 7: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:37] [ROWS] 8: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:37] [ROWS] 9: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:37] [ROWS] 10: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:37] [ROWS] 11: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:37] [ROWS] 12: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:37] [ROWS] 13: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:37] [ROWS] 14: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:37] [ROWS] 15: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:37] [ROWS] 16: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:37] [ROWS] 17: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:37] [ROWS] 18: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:02:37] [ROWS] 19: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:37] [ROWS] 20: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:37] [ROWS] 21: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:02:37] [ROWS] 22: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:37] [ROWS] 23: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:37] [ROWS] 24: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:37] [ROWS] 25: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:02:37] [ROWS] 26: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:02:37] [ROWS] 27: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:02:37] [ROWS] 28: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:37] [ROWS] 29: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:37] [ROWS] 30: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:37] [ROWS] 31: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:37] [ROWS] 32: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:37] [ROWS] 33: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:37] [ROWS] 34: SEPARATOR
[11:02:37] [ROWS] 35: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:02:37] [ROWS] 36: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:37] [ROWS] 37: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:02:37] [ROWS] 38: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:02:37] [ROWS] 39: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:02:37] [ROWS] 40: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:02:37] [ROWS] 41: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:37] [ROWS] 42: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:37] [ROWS] 43: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:37] [ROWS] 44: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:37] [ROWS] 45: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:02:37] [ROWS] 46: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:02:37] [ROWS] 47: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:37] [ROWS] 48: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:37] [ROWS] 49: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:37] [ROWS] 50: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:37] [ROWS] 51: MESSAGE id=1538 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:02:37] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:02:37] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:02:37] [HEIGHT_DEBUG] Row 1 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:02:37] [HEIGHT] Row 1 msg 1595: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:02:37] [HEIGHT_DEBUG] Row 2 msg 1594: isPlayingEvolution=false, textLength=10, text='Deuxième;e...'
[11:02:37] [HEIGHT] Row 2 msg 1594: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:02:37] [HEIGHT_DEBUG] Row 1 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:02:37] [HEIGHT] Row 1 msg 1595: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:02:37] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:02:37] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:02:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:37] [HEIGHT_DEBUG] Row 2 msg 1594: isPlayingEvolution=false, textLength=10, text='Deuxième;e...'
[11:02:37] [HEIGHT] Row 2 msg 1594: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:02:37] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:37] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:37] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:37] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:37] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:37] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:37] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:37] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:37] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:37] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:02:37] ReloadData 18 (viewer init with read receipts)
[11:02:37] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:02:37] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:02:37] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:02:37] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:02:37] [ROWS] 0: SEPARATOR
[11:02:37] [ROWS] 1: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:02:37] [ROWS] 2: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:02:37] [ROWS] 3: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:02:37] [ROWS] 4: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:37] [ROWS] 5: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:37] [ROWS] 6: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:37] [ROWS] 7: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:37] [ROWS] 8: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:37] [ROWS] 9: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:37] [ROWS] 10: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:37] [ROWS] 11: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:37] [ROWS] 12: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:37] [ROWS] 13: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:37] [ROWS] 14: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:37] [ROWS] 15: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:37] [ROWS] 16: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:37] [ROWS] 17: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:37] [ROWS] 18: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:02:37] [ROWS] 19: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:37] [ROWS] 20: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:37] [ROWS] 21: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:02:37] [ROWS] 22: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:37] [ROWS] 23: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:37] [ROWS] 24: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:37] [ROWS] 25: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:02:37] [ROWS] 26: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:02:37] [ROWS] 27: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:02:37] [ROWS] 28: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:37] [ROWS] 29: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:37] [ROWS] 30: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:37] [ROWS] 31: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:37] [ROWS] 32: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:37] [ROWS] 33: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:37] [ROWS] 34: SEPARATOR
[11:02:37] [ROWS] 35: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:02:37] [ROWS] 36: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:37] [ROWS] 37: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:02:37] [ROWS] 38: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:02:37] [ROWS] 39: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:02:37] [ROWS] 40: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:02:37] [ROWS] 41: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:37] [ROWS] 42: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:37] [ROWS] 43: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:37] [ROWS] 44: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:37] [ROWS] 45: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:02:37] [ROWS] 46: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:02:37] [ROWS] 47: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:37] [ROWS] 48: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:37] [ROWS] 49: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:37] [ROWS] 50: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:37] [ROWS] 51: MESSAGE id=1538 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:02:37] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:02:37] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:02:37] [HEIGHT_DEBUG] Row 1 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:02:37] [HEIGHT] Row 1 msg 1595: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:02:37] [HEIGHT_DEBUG] Row 2 msg 1594: isPlayingEvolution=false, textLength=10, text='Deuxième;e...'
[11:02:37] [HEIGHT] Row 2 msg 1594: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:02:37] [HEIGHT_DEBUG] Row 1 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:02:37] [HEIGHT] Row 1 msg 1595: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:02:37] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:02:37] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:02:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:37] [HEIGHT_DEBUG] Row 2 msg 1594: isPlayingEvolution=false, textLength=10, text='Deuxième;e...'
[11:02:37] [HEIGHT] Row 2 msg 1594: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:02:37] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:37] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:37] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:37] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:37] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:37] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:37] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:37] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:37] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:37] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:02:37] [INIT_PAGINATION] Loaded 50 total messages, displaying 50 for tab 0
[11:02:37] [EVOLUTION] πŸ“­ No unread message IDs provided for evolution playback
[11:02:37] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:02:37] [UNREAD_DEBUG]   FINAL msg[0] id=1595, readBy.count=1
[11:02:37] [UNREAD_DEBUG]   FINAL msg[1] id=1594, readBy.count=1
[11:02:37] [UNREAD_DEBUG]   FINAL msg[2] id=1593, readBy.count=1
[11:02:37] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:02:37] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:02:37] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:02:37] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:02:37] [ROWS] 0: SEPARATOR
[11:02:37] [ROWS] 1: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:02:37] [ROWS] 2: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:02:37] [ROWS] 3: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:02:37] [ROWS] 4: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:37] [ROWS] 5: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:37] [ROWS] 6: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:37] [ROWS] 7: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:37] [ROWS] 8: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:37] [ROWS] 9: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:37] [ROWS] 10: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:37] [ROWS] 11: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:37] [ROWS] 12: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:37] [ROWS] 13: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:37] [ROWS] 14: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:37] [ROWS] 15: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:37] [ROWS] 16: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:37] [ROWS] 17: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:02:37] [ROWS] 18: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:02:37] [ROWS] 19: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:37] [ROWS] 20: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:37] [ROWS] 21: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:02:37] [ROWS] 22: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:37] [ROWS] 23: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:37] [ROWS] 24: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:37] [ROWS] 25: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:02:37] [ROWS] 26: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:02:37] [ROWS] 27: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:02:37] [ROWS] 28: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:37] [ROWS] 29: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:37] [ROWS] 30: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:37] [ROWS] 31: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:37] [ROWS] 32: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:37] [ROWS] 33: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:02:37] [ROWS] 34: SEPARATOR
[11:02:37] [ROWS] 35: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:02:37] [ROWS] 36: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:37] [ROWS] 37: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:02:37] [ROWS] 38: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:02:37] [ROWS] 39: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:02:37] [ROWS] 40: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:02:37] [ROWS] 41: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:02:37] [ROWS] 42: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:02:37] [ROWS] 43: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:37] [ROWS] 44: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:37] [ROWS] 45: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:02:37] [ROWS] 46: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:02:37] [ROWS] 47: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:37] [ROWS] 48: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:37] [ROWS] 49: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:02:37] [ROWS] 50: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:02:37] [ROWS] 51: MESSAGE id=1538 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:02:37] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:02:37] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:02:37] [HEIGHT_DEBUG] Row 1 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:02:37] [HEIGHT] Row 1 msg 1595: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:02:37] [HEIGHT_DEBUG] Row 2 msg 1594: isPlayingEvolution=false, textLength=10, text='Deuxième;e...'
[11:02:37] [HEIGHT] Row 2 msg 1594: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:02:37] [HEIGHT_DEBUG] Row 1 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:02:37] [HEIGHT] Row 1 msg 1595: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:02:37] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:02:37] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:02:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:37] [HEIGHT_DEBUG] Row 2 msg 1594: isPlayingEvolution=false, textLength=10, text='Deuxième;e...'
[11:02:37] [HEIGHT] Row 2 msg 1594: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:02:37] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:37] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:37] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:37] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:37] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:37] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:37] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:37] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:37] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:02:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:02:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:02:37] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:02:37] [INITIAL_LOAD] Loaded 50 messages (first page), displaying 50 for tab 0, hasMore: true
[11:02:37] ReloadData 1
[11:02:37] [PURGE] Deleted 0 unused media files:

[11:02:37] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:02:37] [EVOLUTION] πŸ“­ No unread message IDs provided for evolution playback
[11:02:38] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:02:38] Will get events_php
[11:02:38] [TYPING] πŸ”„ ========== POLL START ==========
[11:02:38] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:02:38] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:02:38] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:02:38] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:02:38] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:02:38] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:02:38] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:02:38] [TYPING] πŸ“₯ Found 0 typing users in response
[11:02:38] [TYPING] πŸ“₯ Updating typing users SET: []
[11:02:38] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:02:38] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:02:38] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:02:38] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:02:38] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:02:38] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:02:38] [TYPING] πŸ”„ ========== POLL END ==========
[11:02:38] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Keep-Alive: timeout=5, max=95
Date: Sun, 16 Nov 2025 10:02:38 GMT
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Content-Type: application/json; charset=utf-8
Server: Apache/2.4.65 (Unix) PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:02:38] Done
[11:02:38] Main
[11:02:40] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:02:40] Will get events_php
[11:02:40] [TYPING] πŸ”„ ========== POLL START ==========
[11:02:40] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:02:40] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:02:40] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:02:40] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:02:40] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:02:40] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:02:40] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok]
[11:02:40] [TYPING] πŸ“₯ Found 0 typing users in response
[11:02:40] [TYPING] πŸ“₯ Updating typing users SET: []
[11:02:40] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:02:40] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:02:40] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:02:40] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:02:40] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:02:40] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:02:40] [TYPING] πŸ”„ ========== POLL END ==========
[11:02:40] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Keep-Alive: timeout=5, max=94
Date: Sun, 16 Nov 2025 10:02:40 GMT
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Content-Type: application/json; charset=utf-8
Server: Apache/2.4.65 (Unix) PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:02:40] Done
[11:02:40] Main
[11:02:41] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:02:41] [INFO_PAGE] Found 410 messages for session 'ILUIWU2'
[11:02:41] [INFO_PAGE] Total messages in database: 1176
[11:02:42] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:02:42] Will get events_php
[11:02:42] [TYPING] πŸ”„ ========== POLL START ==========
[11:02:42] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:02:42] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:02:42] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:02:42] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:02:42] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:02:42] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:02:42] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2, "status": ok]
[11:02:42] [TYPING] πŸ“₯ Found 0 typing users in response
[11:02:42] [TYPING] πŸ“₯ Updating typing users SET: []
[11:02:42] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:02:42] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:02:42] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Keep-Alive: timeout=5, max=92
Date: Sun, 16 Nov 2025 10:02:42 GMT
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Content-Type: application/json; charset=utf-8
Server: Apache/2.4.65 (Unix) PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:02:42] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:02:42] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:02:42] Done
[11:02:42] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:02:42] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:02:42] [TYPING] πŸ”„ ========== POLL END ==========
[11:02:42] Main
[11:02:44] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:02:44] Will get events_php
[11:02:44] [TYPING] πŸ”„ ========== POLL START ==========
[11:02:44] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:02:44] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:02:44] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:02:44] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:02:44] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:02:44] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:02:44] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2, "status": ok]
[11:02:44] [TYPING] πŸ“₯ Found 0 typing users in response
[11:02:44] [TYPING] πŸ“₯ Updating typing users SET: []
[11:02:44] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:02:44] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:02:44] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:02:44] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:02:44] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:02:44] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:02:44] [TYPING] πŸ”„ ========== POLL END ==========
[11:02:44] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Keep-Alive: timeout=5, max=91
Date: Sun, 16 Nov 2025 10:02:44 GMT
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Content-Type: application/json; charset=utf-8
Server: Apache/2.4.65 (Unix) PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:02:44] Done
[11:02:44] Main
[11:02:46] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:02:46] [INFO_PAGE] Found 410 messages for session 'ILUIWU2'
[11:02:46] [INFO_PAGE] Total messages in database: 1176
[11:02:46] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:02:46] Will get events_php
[11:02:46] [TYPING] πŸ”„ ========== POLL START ==========
[11:02:46] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:02:46] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:02:46] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:02:46] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:02:46] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:02:46] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:02:46] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:02:46] [TYPING] πŸ“₯ Found 0 typing users in response
[11:02:46] [TYPING] πŸ“₯ Updating typing users SET: []
[11:02:46] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:02:46] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:02:46] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:02:46] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:02:46] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:02:46] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:02:46] [TYPING] πŸ”„ ========== POLL END ==========
[11:02:46] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Keep-Alive: timeout=5, max=100
Date: Sun, 16 Nov 2025 10:02:46 GMT
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Content-Type: application/json; charset=utf-8
Server: Apache/2.4.65 (Unix) PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:02:46] Done
[11:02:46] Main
[11:02:47] [TAB] πŸ”„ Switching from tab 0 to tab 3
[11:02:47] [TAB] Hiding messagesTable from tab 0
[11:02:47] [TAB] ℹ️ Showing tab 3: Info
[11:02:47] [TAB] Updating UI and layout for tab 3
[11:02:47] [TAB_UI] 🎨 Updating UI for tab 3
[11:02:47] [TAB_UI] Tab 3: Info/other tab
[11:02:47] [TAB_LAYOUT] πŸ“ Adjusting layout for tab 3
[11:02:47] [TAB_LAYOUT] Tab 3: Default layout
[11:02:47] [TAB_LAYOUT] βœ… Layout complete
[11:02:47] [TAB_UI] βœ… UI update complete for tab 3
[11:02:47] [TAB] βœ… Tab switch complete: now on tab 3
[11:02:48] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:02:48] Will get events_php
[11:02:48] [TYPING] πŸ”„ ========== POLL START ==========
[11:02:48] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:02:48] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:02:48] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:02:48] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:02:48] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Date: Sun, 16 Nov 2025 10:02:48 GMT
Keep-Alive: timeout=5, max=89
X-Powered-By: PHP/8.4.14
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Connection: Keep-Alive
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:02:48] Done
[11:02:48] Main
[11:02:48] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:02:48] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:02:48] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok, "sessionId": ILUIWU2]
[11:02:48] [TYPING] πŸ“₯ Found 0 typing users in response
[11:02:48] [TYPING] πŸ“₯ Updating typing users SET: []
[11:02:48] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:02:48] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:02:48] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:02:48] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:02:48] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:02:48] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:02:48] [TYPING] πŸ”„ ========== POLL END ==========
[11:02:50] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:02:50] Will get events_php
[11:02:50] [TYPING] πŸ”„ ========== POLL START ==========
[11:02:50] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:02:50] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:02:50] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:02:50] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:02:50] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:02:50] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:02:50] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok, "sessionId": ILUIWU2]
[11:02:50] [TYPING] πŸ“₯ Found 0 typing users in response
[11:02:50] [TYPING] πŸ“₯ Updating typing users SET: []
[11:02:50] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:02:50] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:02:50] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:02:50] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:02:50] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:02:50] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:02:50] [TYPING] πŸ”„ ========== POLL END ==========
[11:02:50] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Date: Sun, 16 Nov 2025 10:02:50 GMT
Keep-Alive: timeout=5, max=88
X-Powered-By: PHP/8.4.14
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Connection: Keep-Alive
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:02:50] Done
[11:02:50] Main
[11:02:51] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:02:51] [INFO_PAGE] Found 410 messages for session 'ILUIWU2'
[11:02:51] [INFO_PAGE] Total messages in database: 1176
[11:02:52] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:02:52] Will get events_php
[11:02:52] [TYPING] πŸ”„ ========== POLL START ==========
[11:02:52] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:02:52] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:02:52] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:02:52] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:02:52] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:02:52] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:02:52] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok]
[11:02:52] [TYPING] πŸ“₯ Found 0 typing users in response
[11:02:52] [TYPING] πŸ“₯ Updating typing users SET: []
[11:02:52] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:02:52] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:02:52] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:02:52] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:02:52] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:02:52] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:02:52] [TYPING] πŸ”„ ========== POLL END ==========
[11:02:52] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Date: Sun, 16 Nov 2025 10:02:52 GMT
Keep-Alive: timeout=5, max=86
X-Powered-By: PHP/8.4.14
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Connection: Keep-Alive
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:02:52] Done
[11:02:52] Main
[11:02:54] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:02:54] Will get events_php
[11:02:54] [TYPING] πŸ”„ ========== POLL START ==========
[11:02:54] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:02:54] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:02:54] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:02:54] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:02:54] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:02:54] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:02:54] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok]
[11:02:54] [TYPING] πŸ“₯ Found 0 typing users in response
[11:02:54] [TYPING] πŸ“₯ Updating typing users SET: []
[11:02:54] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:02:54] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:02:54] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Date: Sun, 16 Nov 2025 10:02:54 GMT
Keep-Alive: timeout=5, max=85
X-Powered-By: PHP/8.4.14
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Connection: Keep-Alive
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:02:54] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:02:54] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:02:54] Done
[11:02:54] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:02:54] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:02:54] [TYPING] πŸ”„ ========== POLL END ==========
[11:02:54] Main
[11:02:56] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:02:56] [INFO_PAGE] Found 410 messages for session 'ILUIWU2'
[11:02:56] [INFO_PAGE] Total messages in database: 1176
[11:02:56] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:02:56] Will get events_php
[11:02:56] [TYPING] πŸ”„ ========== POLL START ==========
[11:02:56] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:02:56] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:02:56] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:02:56] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:02:56] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:02:56] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:02:56] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:02:56] [TYPING] πŸ“₯ Found 0 typing users in response
[11:02:56] [TYPING] πŸ“₯ Updating typing users SET: []
[11:02:56] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:02:56] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:02:56] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:02:56] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:02:56] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:02:56] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:02:56] [TYPING] πŸ”„ ========== POLL END ==========
[11:02:56] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Date: Sun, 16 Nov 2025 10:02:56 GMT
Keep-Alive: timeout=5, max=100
X-Powered-By: PHP/8.4.14
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Connection: Keep-Alive
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:02:56] Done
[11:02:56] Main
[11:02:58] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:02:58] Will get events_php
[11:02:58] [TYPING] πŸ”„ ========== POLL START ==========
[11:02:58] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:02:58] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:02:58] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:02:58] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:02:58] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:02:58] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:02:58] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok]
[11:02:58] [TYPING] πŸ“₯ Found 0 typing users in response
[11:02:58] [TYPING] πŸ“₯ Updating typing users SET: []
[11:02:58] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:02:58] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:02:58] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:02:58] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:02:58] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Date: Sun, 16 Nov 2025 10:02:58 GMT
Keep-Alive: timeout=5, max=83
X-Powered-By: PHP/8.4.14
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Connection: Keep-Alive
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:02:58] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:02:58] Done
[11:02:58] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:02:58] [TYPING] πŸ”„ ========== POLL END ==========
[11:02:58] Main
[11:03:00] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:03:00] Will get events_php
[11:03:00] [TYPING] πŸ”„ ========== POLL START ==========
[11:03:00] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:03:00] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:03:00] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:03:00] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:03:00] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:03:00] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:03:00] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:03:00] [TYPING] πŸ“₯ Found 0 typing users in response
[11:03:00] [TYPING] πŸ“₯ Updating typing users SET: []
[11:03:00] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:03:00] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:03:00] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:03:00] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:03:00] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:03:00] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:03:00] [TYPING] πŸ”„ ========== POLL END ==========
[11:03:00] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Date: Sun, 16 Nov 2025 10:03:00 GMT
Keep-Alive: timeout=5, max=82
X-Powered-By: PHP/8.4.14
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Connection: Keep-Alive
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:03:00] Done
[11:03:00] Main
[11:05:34] [CRASH] Previous session did not exit cleanly - crash detected
[11:05:34] [GIPHY] SDK not available - using REST API fallback
[11:05:34] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:05:34] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:05:34] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:05:34] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:05:34] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:05:34] [SCENE] Launched directly to chat view with sessionId: ILUIWU2
[11:05:34] [PUSH] APNs token: 6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c
[11:05:34] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:05:34] Documents Directory: /var/mobile/Containers/Data/Application/BAFA368C-123B-4797-B37C-B76A2351B327/Documents
[11:05:34] [NOTIFICATION] πŸ”” Notification button created and added to topNavBar
[11:05:34] [NOTIFICATION] πŸ”” Button tintColor: grey (0.5, 0.5, 0.5)
[11:05:34] [NOTIFICATION] πŸ”” Button isUserInteractionEnabled: true
[11:05:34] [INFO_PAGE] InformationViewController viewDidLoad called
[11:05:34] [INFO_PAGE] Actions configured (bell button is external)
[11:05:34] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:05:34] [INFO_PAGE] Successfully opened database at /var/mobile/Containers/Data/Application/BAFA368C-123B-4797-B37C-B76A2351B327/Documents/chat_local_viewer.db
[11:05:34] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:05:34] [INFO_PAGE] Found 410 messages for session 'ILUIWU2'
[11:05:34] [INFO_PAGE] Total messages in database: 1176
[11:05:34] [INFO_PAGE] InformationViewController setup complete
[11:05:34] [INFO_PAGE] ℹ️ Information page added to tab 3
[11:05:34] [THEME] Applying current theme
[11:05:34] [CHAT] Applied day theme (mode: day)
[11:05:34] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:05:34] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:05:34] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:05:34] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:05:34] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:05:34] [SUMMARY] Already showed summary today (2025-11-16)
[11:05:34] Did transition
[11:05:34] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:05:34] [VIEWER] Screen lock enabled - normal idle behavior
[11:05:34] [QUERY] πŸ” Checking tab - currentTabIndex=0
[11:05:34] [QUERY] πŸ”΅ [TAB 0] No query connection needed
[11:05:34] [QUERY] βœ… [TAB 0] Initialized without query connection
[11:05:34] [LOCATION] Started location updates for distance calculation (already authorized)
[11:05:34] [TAB 0] Skipping reconnect polling - only needed for tab 1
[11:05:34] [VIEWER_INIT] Loading messages with read receipts from server
[11:05:34] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:05:34] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:05:34] [DB]   msg[0] id=1595, isMyMessage=false, readBy.count=0
[11:05:34] [DB]   msg[1] id=1594, isMyMessage=false, readBy.count=0
[11:05:34] [DB]   msg[2] id=1593, isMyMessage=false, readBy.count=0
[11:05:34] [EVOLUTION] πŸ” Found 0 NEW unread messages from local DB before fetching read receipts (lastSeenMessageId=1595): []
[11:05:34] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1595, readBy=[]", "id=1594, readBy=[]", "id=1593, readBy=[]"]
[11:05:34] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:05:34] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:05:34] [DB]   msg[0] id=1595, isMyMessage=false, readBy.count=0
[11:05:34] [DB]   msg[1] id=1594, isMyMessage=false, readBy.count=0
[11:05:34] [DB]   msg[2] id=1593, isMyMessage=false, readBy.count=0
[11:05:34] [EVENT_POLL] Starting periodic event polling for viewer mode (5s interval)
[11:05:34] [ORIENTATION] Updated pagingScrollView height to 247.5 for width 440.0
[11:05:34] [SUMMARY] Already showed summary today (2025-11-16)
[11:05:34] Did transition
[11:05:34] [NOTIFICATION] πŸ”” Constraints activated for notification button
[11:05:34] [NOTIFICATION] πŸ”” topNavBar frame: (0.0, 0.0, 440.0, 50.0)
[11:05:34] [NOTIFICATION] πŸ”” menuButton frame: (0.0, 0.0, 39.0, 30.0)
[11:05:34] [NOTIFICATION] πŸ”” notificationButton frame: (0.0, 0.0, 56.333333333333336, 58.0)
[11:05:34] [NOTIFICATION] πŸ”” Notification button brought to front
[11:05:34] [NOTIFICATION] πŸ”„ Updating icon to: bell.slash.fill (muted=true)
[11:05:34] [NOTIFICATION] βœ… Icon updated successfully
[11:05:34] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[11:05:34] [MIGRATION] No messages need sender_name backfill
[11:05:34] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:05:34] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:05:34] [DB]   msg[0] id=1595, isMyMessage=false, readBy.count=0
[11:05:34] [DB]   msg[1] id=1594, isMyMessage=false, readBy.count=0
[11:05:34] [DB]   msg[2] id=1593, isMyMessage=false, readBy.count=0
[11:05:34] [INFO_PAGE] InformationViewController viewWillAppear - applying theme
[11:05:34] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:05:34] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:05:34] [PAGINATION_SCROLL] offset=-12.0, contentHeight=108.0, distFromBottom=120.0, dragging=false, decel=false, isLoading=false, cooldown=63899057134.81465s
[11:05:34] [PAGINATION_SCROLL] offset=0.0, contentHeight=108.0, distFromBottom=-650.0, dragging=false, decel=false, isLoading=false, cooldown=63899057134.81587s
[11:05:34] [LOCATION] Authorization changed: 4
[11:05:34] [NOTIFICATION] πŸ”” FINAL STATE after viewDidLoad:
[11:05:34] [NOTIFICATION] πŸ”” notificationButton.frame: (392.0, 67.0, 40.0, 40.0)
[11:05:34] [NOTIFICATION] πŸ”” notificationButton.isHidden: false
[11:05:34] [NOTIFICATION] πŸ”” notificationButton.alpha: 1.0
[11:05:34] [NOTIFICATION] πŸ”” notificationButton.superview: true
[11:05:34] [NOTIFICATION] πŸ”” topNavBar.isHidden: false
[11:05:34] [NOTIFICATION] πŸ”” topNavBar.subviews.count: 3
[11:05:35] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:05:35] [USER] βœ… User registered successfully
[11:05:35] [USER] User registration successful
[11:05:35] [CHAT] βœ… refreshAllFromServer - parsed 411 messages from server
[11:05:35] [DB] clearDBForSession(ILUIWU2): deleted 410 messages, result=101
[11:05:35] [PUSH] Device role updated to 'viewer': HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:05:35] ReloadData 15 (411 messages loaded, 0 pending media)
[11:05:35] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:05:35] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:05:35] [DB]   msg[0] id=1596, isMyMessage=false, readBy.count=0
[11:05:35] [DB]   msg[1] id=1595, isMyMessage=false, readBy.count=0
[11:05:35] [DB]   msg[2] id=1594, isMyMessage=false, readBy.count=0
[11:05:35] [EVOLUTION] πŸ” Found 1 NEW unread messages after refreshAllFromServer (lastSeenMessageId=1595): [1596]
[11:05:35] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1596, readBy=[]", "id=1595, readBy=[]", "id=1594, readBy=[]"]
[11:05:35] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:05:35] [PUSH] Device role updated to 'viewer': HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:05:35] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:05:35] [DB]   msg[0] id=1596, isMyMessage=false, readBy.count=0
[11:05:35] [DB]   msg[1] id=1595, isMyMessage=false, readBy.count=0
[11:05:35] [DB]   msg[2] id=1594, isMyMessage=false, readBy.count=0
[11:05:35] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:05:35] [UNREAD_DEBUG]   FINAL msg[0] id=1595, readBy.count=1
[11:05:35] [UNREAD_DEBUG]   FINAL msg[1] id=1594, readBy.count=1
[11:05:35] [UNREAD_DEBUG]   FINAL msg[2] id=1593, readBy.count=1
[11:05:35] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:05:35] [UNREAD_DEBUG]   FINAL msg[0] id=1595, readBy.count=1
[11:05:35] [UNREAD_DEBUG]   FINAL msg[1] id=1594, readBy.count=1
[11:05:35] [UNREAD_DEBUG]   FINAL msg[2] id=1593, readBy.count=1
[11:05:35] [VIEWER_INIT] Loaded 50 messages with read receipts, hasMore: true
[11:05:35] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:05:35] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:05:35] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:05:35] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:05:35] [ROWS] 0: SEPARATOR
[11:05:35] [ROWS] 1: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:35] [ROWS] 2: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:35] [ROWS] 3: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:35] [ROWS] 4: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:35] [ROWS] 5: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:35] [ROWS] 6: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:35] [ROWS] 7: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:35] [ROWS] 8: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:35] [ROWS] 9: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:35] [ROWS] 10: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:35] [ROWS] 11: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:35] [ROWS] 12: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:35] [ROWS] 13: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:35] [ROWS] 14: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:35] [ROWS] 15: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:35] [ROWS] 16: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:35] [ROWS] 17: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:35] [ROWS] 18: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:35] [ROWS] 19: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:35] [ROWS] 20: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:35] [ROWS] 21: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:05:35] [ROWS] 22: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:35] [ROWS] 23: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:35] [ROWS] 24: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:35] [ROWS] 25: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:05:35] [ROWS] 26: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:35] [ROWS] 27: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:35] [ROWS] 28: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:35] [ROWS] 29: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:35] [ROWS] 30: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:35] [ROWS] 31: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:35] [ROWS] 32: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:35] [ROWS] 33: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:35] [ROWS] 34: SEPARATOR
[11:05:35] [ROWS] 35: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:35] [ROWS] 36: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:35] [ROWS] 37: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:05:35] [ROWS] 38: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:35] [ROWS] 39: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:05:35] [ROWS] 40: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:05:35] [ROWS] 41: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:35] [ROWS] 42: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:35] [ROWS] 43: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:35] [ROWS] 44: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:35] [ROWS] 45: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:35] [ROWS] 46: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:35] [ROWS] 47: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:35] [ROWS] 48: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:35] [ROWS] 49: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:35] [ROWS] 50: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:35] [ROWS] 51: MESSAGE id=1538 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:05:35] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:05:35] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:05:35] [HEIGHT_DEBUG] Row 1 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:35] [EMOJI] βœ… Loaded 451 emoji-to-GIF mappings
[11:05:35] [HEIGHT] Row 1 msg 1595: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:35] [HEIGHT_DEBUG] Row 2 msg 1594: isPlayingEvolution=false, textLength=10, text='Deuxième;e...'
[11:05:35] [HEIGHT] Row 2 msg 1594: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:35] [HEIGHT_DEBUG] Row 1 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:35] [HEIGHT] Row 1 msg 1595: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:35] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:05:35] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:05:35] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:35] [HEIGHT_DEBUG] Row 2 msg 1594: isPlayingEvolution=false, textLength=10, text='Deuxième;e...'
[11:05:35] [HEIGHT] Row 2 msg 1594: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:35] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:35] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:35] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:35] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:35] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:35] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:35] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:35] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:35] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:35] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:35] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:35] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:35] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:35] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:35] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:35] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:35] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:35] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:35] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:35] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:35] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:35] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:35] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:35] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:35] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:35] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:35] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:35] [BADGES] Chat tab unread: 1, Slave tab unread: 0, current tab: 0
[11:05:35] ReloadData 18 (viewer init with read receipts)
[11:05:35] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:05:35] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:05:35] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:05:35] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:05:35] [ROWS] 0: SEPARATOR
[11:05:35] [ROWS] 1: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:35] [ROWS] 2: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:35] [ROWS] 3: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:35] [ROWS] 4: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:35] [ROWS] 5: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:35] [ROWS] 6: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:35] [ROWS] 7: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:35] [ROWS] 8: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:35] [ROWS] 9: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:35] [ROWS] 10: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:35] [ROWS] 11: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:35] [ROWS] 12: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:35] [ROWS] 13: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:35] [ROWS] 14: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:35] [ROWS] 15: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:35] [ROWS] 16: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:35] [ROWS] 17: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:35] [ROWS] 18: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:35] [ROWS] 19: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:35] [ROWS] 20: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:35] [ROWS] 21: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:05:35] [ROWS] 22: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:35] [ROWS] 23: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:35] [ROWS] 24: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:35] [ROWS] 25: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:05:35] [ROWS] 26: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:35] [ROWS] 27: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:35] [ROWS] 28: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:35] [ROWS] 29: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:35] [ROWS] 30: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:35] [ROWS] 31: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:35] [ROWS] 32: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:35] [ROWS] 33: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:35] [ROWS] 34: SEPARATOR
[11:05:35] [ROWS] 35: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:35] [ROWS] 36: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:35] [ROWS] 37: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:05:35] [ROWS] 38: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:35] [ROWS] 39: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:05:35] [ROWS] 40: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:05:35] [ROWS] 41: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:35] [ROWS] 42: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:35] [ROWS] 43: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:35] [ROWS] 44: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:35] [ROWS] 45: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:35] [ROWS] 46: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:35] [ROWS] 47: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:35] [ROWS] 48: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:35] [ROWS] 49: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:35] [ROWS] 50: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:35] [ROWS] 51: MESSAGE id=1538 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:05:35] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:05:35] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:05:35] [HEIGHT_DEBUG] Row 1 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:35] [HEIGHT] Row 1 msg 1595: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:35] [HEIGHT_DEBUG] Row 2 msg 1594: isPlayingEvolution=false, textLength=10, text='Deuxième;e...'
[11:05:35] [HEIGHT] Row 2 msg 1594: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:35] [HEIGHT_DEBUG] Row 1 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:35] [HEIGHT] Row 1 msg 1595: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:35] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:05:35] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:05:35] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:35] [HEIGHT_DEBUG] Row 2 msg 1594: isPlayingEvolution=false, textLength=10, text='Deuxième;e...'
[11:05:35] [HEIGHT] Row 2 msg 1594: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:35] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:35] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:35] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:35] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:35] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:35] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:35] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:35] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:35] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:35] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:35] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:35] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:35] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:35] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:35] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:35] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:35] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:35] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:35] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:35] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:35] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:35] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:35] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:35] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:36] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:36] [BADGES] Chat tab unread: 1, Slave tab unread: 0, current tab: 0
[11:05:36] [INIT_PAGINATION] Loaded 50 total messages, displaying 50 for tab 0
[11:05:36] [EVOLUTION] πŸ“­ No unread message IDs provided for evolution playback
[11:05:36] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:05:36] [UNREAD_DEBUG]   FINAL msg[0] id=1596, readBy.count=0
[11:05:36] [UNREAD_DEBUG]   FINAL msg[1] id=1595, readBy.count=1
[11:05:36] [UNREAD_DEBUG]   FINAL msg[2] id=1594, readBy.count=1
[11:05:36] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:05:36] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:05:36] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:05:36] [EVOLUTION] πŸ“ Updated lastSeenMessageId: 1595 β†’ 1596
[11:05:36] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:05:36] [ROWS] 0: SEPARATOR
[11:05:36] [ROWS] 1: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:36] [ROWS] 2: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:36] [ROWS] 3: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:36] [ROWS] 4: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:36] [ROWS] 5: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:36] [ROWS] 6: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:36] [ROWS] 7: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:36] [ROWS] 8: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:36] [ROWS] 9: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:36] [ROWS] 10: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:36] [ROWS] 11: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:36] [ROWS] 12: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:36] [ROWS] 13: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:36] [ROWS] 14: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:36] [ROWS] 15: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:36] [ROWS] 16: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:36] [ROWS] 17: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:36] [ROWS] 18: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:36] [ROWS] 19: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:36] [ROWS] 20: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:36] [ROWS] 21: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:36] [ROWS] 22: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:05:36] [ROWS] 23: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:36] [ROWS] 24: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:36] [ROWS] 25: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:36] [ROWS] 26: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:05:36] [ROWS] 27: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:36] [ROWS] 28: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:36] [ROWS] 29: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:36] [ROWS] 30: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:36] [ROWS] 31: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:36] [ROWS] 32: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:36] [ROWS] 33: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:36] [ROWS] 34: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:36] [ROWS] 35: SEPARATOR
[11:05:36] [ROWS] 36: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:36] [ROWS] 37: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:36] [ROWS] 38: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:05:36] [ROWS] 39: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:36] [ROWS] 40: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:05:36] [ROWS] 41: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:05:36] [ROWS] 42: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:36] [ROWS] 43: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:36] [ROWS] 44: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:36] [ROWS] 45: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:36] [ROWS] 46: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:36] [ROWS] 47: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:36] [ROWS] 48: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:36] [ROWS] 49: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:36] [ROWS] 50: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:36] [ROWS] 51: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:36] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:05:36] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:05:36] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=false, textLength=12, text='De fe fe e f...'
[11:05:36] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:36] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:36] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:36] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=false, textLength=12, text='De fe fe e f...'
[11:05:36] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:36] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:05:36] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:05:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:36] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:36] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:36] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:36] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:36] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:36] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:36] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:36] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:36] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:36] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:36] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:36] [BADGES] Chat tab unread: 1, Slave tab unread: 0, current tab: 0
[11:05:36] [INITIAL_LOAD] Loaded 50 messages (first page), displaying 50 for tab 0, hasMore: true
[11:05:36] ReloadData 1
[11:05:36] [PURGE] Deleted 0 unused media files:

[11:05:36] [BADGES] Chat tab unread: 1, Slave tab unread: 0, current tab: 0
[11:05:36] [EVOLUTION] πŸ“¬ Preparing 1 unread message(s) for evolution playback: [1596]
[11:05:36] [EVOLUTION] 🎬 Preparing message 1596 for evolution playback (app launch)
[11:05:36] [EVOLUTION] πŸ” Reloading table for evolution - chatMessages.count=50
[11:05:36] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:05:36] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:05:36] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:05:36] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:05:36] [ROWS] 0: SEPARATOR
[11:05:36] [ROWS] 1: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=12
[11:05:36] [ROWS] 2: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:36] [ROWS] 3: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:36] [ROWS] 4: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:36] [ROWS] 5: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:36] [ROWS] 6: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:36] [ROWS] 7: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:36] [ROWS] 8: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:36] [ROWS] 9: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:36] [ROWS] 10: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:36] [ROWS] 11: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:36] [ROWS] 12: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:36] [ROWS] 13: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:36] [ROWS] 14: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:36] [ROWS] 15: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:36] [ROWS] 16: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:36] [ROWS] 17: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:36] [ROWS] 18: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:36] [ROWS] 19: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:36] [ROWS] 20: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:36] [ROWS] 21: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:36] [ROWS] 22: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:05:36] [ROWS] 23: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:36] [ROWS] 24: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:36] [ROWS] 25: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:36] [ROWS] 26: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:05:36] [ROWS] 27: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:36] [ROWS] 28: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:36] [ROWS] 29: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:36] [ROWS] 30: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:36] [ROWS] 31: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:36] [ROWS] 32: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:36] [ROWS] 33: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:36] [ROWS] 34: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:36] [ROWS] 35: SEPARATOR
[11:05:36] [ROWS] 36: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:36] [ROWS] 37: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:36] [ROWS] 38: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:05:36] [ROWS] 39: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:36] [ROWS] 40: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:05:36] [ROWS] 41: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:05:36] [ROWS] 42: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:36] [ROWS] 43: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:36] [ROWS] 44: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:36] [ROWS] 45: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:36] [ROWS] 46: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:36] [ROWS] 47: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:36] [ROWS] 48: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:36] [ROWS] 49: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:36] [ROWS] 50: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:36] [ROWS] 51: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:36] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:05:36] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:05:36] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=0, text='...'
[11:05:36] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:36] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:36] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:36] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=0, text='...'
[11:05:36] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:36] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:05:36] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:05:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:05:36] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:36] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:36] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:36] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:36] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:36] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:36] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:36] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:36] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:36] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:36] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:36] [BADGES] Chat tab unread: 1, Slave tab unread: 0, current tab: 0
[11:05:36] [EVOLUTION] πŸ“ Queued 1 messages for sequential playback: [1596]
[11:05:36] [EVOLUTION] 🎬 Starting sequential playback of queued messages
[11:05:36] [EVOLUTION] ▢️ Playing next queued message 1596 - 0 remaining in queue
[11:05:36] [EVOLUTION] πŸ“‘ Fetching evolution data for message 1596
[11:05:36] [EVOLUTION] πŸ” Raw response (570 bytes): {"ok":true,"has_evolution":true,"message_id":1596,"evolution":{"events":[{"op":"i","p":0,"t":0,"c":"F"},{"op":"i","c":"d","p":1,"t":86},{"t":150,"op":"d","l":2,"p":0},{"t":150,"op":"i","p":0,"c":"De"}
[11:05:36] [EVOLUTION] πŸ” Parsed JSON keys: ["created_at", "evolution", "has_evolution", "message_id", "ok"]
[11:05:36] [EVOLUTION] πŸ” has_evolution: 1
[11:05:36] [EVOLUTION] βœ… Got 14 events for message 1596
[11:05:36] [OVERLAP_FIX] πŸš€ Starting evolution - forcing initial height recalculation
[11:05:36] [UPDATE] πŸ”„ updateMessageCell(for: 1596) β€” full safe reload
[11:05:36] [ROWS] ===== updateMessageCell for 1596 β€” chatRows.count=52 =====
[11:05:36] [ROWS] 0: SEPARATOR
[11:05:36] [ROWS] 1: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=12
[11:05:36] [ROWS] 2: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:36] [ROWS] 3: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:36] [ROWS] 4: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:36] [ROWS] 5: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:36] [ROWS] 6: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:36] [ROWS] 7: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:36] [ROWS] 8: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:36] [ROWS] 9: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:36] [ROWS] 10: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:36] [ROWS] 11: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:36] [ROWS] 12: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:36] [ROWS] 13: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:36] [ROWS] 14: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:36] [ROWS] 15: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:36] [ROWS] 16: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:36] [ROWS] 17: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:36] [ROWS] 18: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:36] [ROWS] 19: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:36] [ROWS] 20: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:36] [ROWS] 21: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:36] [ROWS] 22: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:05:36] [ROWS] 23: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:36] [ROWS] 24: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:36] [ROWS] 25: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:36] [ROWS] 26: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:05:36] [ROWS] 27: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:36] [ROWS] 28: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:36] [ROWS] 29: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:36] [ROWS] 30: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:36] [ROWS] 31: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:36] [ROWS] 32: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:36] [ROWS] 33: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:36] [ROWS] 34: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:36] [ROWS] 35: SEPARATOR
[11:05:36] [ROWS] 36: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:36] [ROWS] 37: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:36] [ROWS] 38: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:05:36] [ROWS] 39: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:36] [ROWS] 40: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:05:36] [ROWS] 41: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:05:36] [ROWS] 42: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:36] [ROWS] 43: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:36] [ROWS] 44: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:36] [ROWS] 45: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:36] [ROWS] 46: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:36] [ROWS] 47: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:36] [ROWS] 48: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:36] [ROWS] 49: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:36] [ROWS] 50: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:36] [ROWS] 51: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:36] [ROWS] ===== END (updateMessageCell for 1596) =====
[11:05:36] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=0, text='...'
[11:05:36] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:36] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:36] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:36] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=0, text='...'
[11:05:36] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:36] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:05:36] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:05:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:05:36] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:36] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:36] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:36] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:36] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:36] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:36] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:36] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:36] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:36] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:36] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:36] [EVOLUTION] ▢️ Starting inline playback for message 1596 with 14 events
[11:05:36] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_id"): 1596, AnyHashable("operation_type"): 3, AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("session_id"): ILUIWU2]
[11:05:36] [PUSH] Parsed message_id: 1596
[11:05:36] [PUSH] Parsed operation_type: 3
[11:05:36] [PUSH] Taking direct action: opType=3, messageId=1596
[11:05:36] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=1596
[11:05:36] [EVOLUTION] πŸ“ Event 0/14 - Text now: "F..."
[11:05:36] [UPDATE] πŸ”„ updateMessageCell(for: 1596) β€” full safe reload
[11:05:36] [ROWS] ===== updateMessageCell for 1596 β€” chatRows.count=52 =====
[11:05:36] [ROWS] 0: SEPARATOR
[11:05:36] [ROWS] 1: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=1 textLen=12
[11:05:36] [ROWS] 2: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:36] [ROWS] 3: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:36] [ROWS] 4: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:36] [ROWS] 5: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:36] [ROWS] 6: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:36] [ROWS] 7: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:36] [ROWS] 8: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:36] [ROWS] 9: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:36] [ROWS] 10: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:36] [ROWS] 11: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:36] [ROWS] 12: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:36] [ROWS] 13: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:36] [ROWS] 14: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:36] [ROWS] 15: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:36] [ROWS] 16: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:36] [ROWS] 17: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:36] [ROWS] 18: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:36] [ROWS] 19: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:36] [ROWS] 20: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:36] [ROWS] 21: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:36] [ROWS] 22: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:05:36] [ROWS] 23: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:36] [ROWS] 24: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:36] [ROWS] 25: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:36] [ROWS] 26: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:05:36] [ROWS] 27: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:36] [ROWS] 28: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:36] [ROWS] 29: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:36] [ROWS] 30: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:36] [ROWS] 31: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:36] [ROWS] 32: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:36] [ROWS] 33: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:36] [ROWS] 34: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:36] [ROWS] 35: SEPARATOR
[11:05:36] [ROWS] 36: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:36] [ROWS] 37: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:36] [ROWS] 38: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:05:36] [ROWS] 39: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:36] [ROWS] 40: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:05:36] [ROWS] 41: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:05:36] [ROWS] 42: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:36] [ROWS] 43: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:36] [ROWS] 44: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:36] [ROWS] 45: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:36] [ROWS] 46: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:36] [ROWS] 47: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:36] [ROWS] 48: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:36] [ROWS] 49: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:36] [ROWS] 50: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:36] [ROWS] 51: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:36] [ROWS] ===== END (updateMessageCell for 1596) =====
[11:05:36] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=1, text='F...'
[11:05:36] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:36] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:36] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:36] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=1, text='F...'
[11:05:36] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:36] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:05:36] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:05:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:36] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:36] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:36] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:36] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:36] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:36] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:36] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:36] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:36] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:36] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:36] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:36] [LOCATION] Failed to get location: The operation couldn’t be completed. (kCLErrorDomain error 1.)
[11:05:36] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:05:36] Will get events_php
[11:05:36] [TYPING] πŸ”„ ========== POLL START ==========
[11:05:36] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:05:36] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:05:36] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:05:36] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:05:36] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:05:36] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:05:36] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok, "sessionId": ILUIWU2]
[11:05:36] [TYPING] πŸ“₯ Found 0 typing users in response
[11:05:36] [TYPING] πŸ“₯ Updating typing users SET: []
[11:05:36] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:05:36] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:05:36] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:05:36] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:05:36] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:05:36] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:05:36] [TYPING] πŸ”„ ========== POLL END ==========
[11:05:36] [EVT] get_events.php HTTP 200
── Response Headers ──
Keep-Alive: timeout=5, max=96
X-Powered-By: PHP/8.4.14
Content-Length: 205
Content-Type: application/json; charset=utf-8
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Connection: Keep-Alive
Date: Sun, 16 Nov 2025 10:05:36 GMT
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":2,"events":[{"event_id":10617,"event_type":3,"message_id":1596,"session_id":"ILUIWU2"},{"event_id":10618,"event_type":3,"message_id":1596,"session_id":"ILUIWU2"}]}
[11:05:36] Done
[11:05:36] [EVOLUTION] πŸ“ Event 1/14 - Text now: "Fd..."
[11:05:36] [UPDATE] πŸ”„ updateMessageCell(for: 1596) β€” full safe reload
[11:05:36] [ROWS] ===== updateMessageCell for 1596 β€” chatRows.count=52 =====
[11:05:36] [ROWS] 0: SEPARATOR
[11:05:36] [ROWS] 1: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=2 textLen=12
[11:05:36] [ROWS] 2: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:36] [ROWS] 3: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:36] [ROWS] 4: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:36] [ROWS] 5: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:36] [ROWS] 6: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:36] [ROWS] 7: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:36] [ROWS] 8: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:36] [ROWS] 9: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:36] [ROWS] 10: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:36] [ROWS] 11: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:36] [ROWS] 12: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:36] [ROWS] 13: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:36] [ROWS] 14: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:36] [ROWS] 15: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:36] [ROWS] 16: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:36] [ROWS] 17: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:36] [ROWS] 18: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:36] [ROWS] 19: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:36] [ROWS] 20: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:36] [ROWS] 21: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:36] [ROWS] 22: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:05:36] [ROWS] 23: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:36] [ROWS] 24: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:36] [ROWS] 25: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:36] [ROWS] 26: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:05:36] [ROWS] 27: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:36] [ROWS] 28: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:36] [ROWS] 29: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:36] [ROWS] 30: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:36] [ROWS] 31: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:36] [ROWS] 32: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:36] [ROWS] 33: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:36] [ROWS] 34: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:36] [ROWS] 35: SEPARATOR
[11:05:36] [ROWS] 36: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:36] [ROWS] 37: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:36] [ROWS] 38: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:05:36] [ROWS] 39: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:36] [ROWS] 40: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:05:36] [ROWS] 41: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:05:36] [ROWS] 42: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:36] [ROWS] 43: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:36] [ROWS] 44: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:36] [ROWS] 45: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:36] [ROWS] 46: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:36] [ROWS] 47: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:36] [ROWS] 48: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:36] [ROWS] 49: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:36] [ROWS] 50: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:36] [ROWS] 51: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:36] [ROWS] ===== END (updateMessageCell for 1596) =====
[11:05:36] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=2, text='Fd...'
[11:05:36] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:36] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:36] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:36] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=2, text='Fd...'
[11:05:36] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:36] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:05:36] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:05:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:36] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:36] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:36] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:36] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:36] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:36] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:36] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:36] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:36] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:36] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:36] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [EVOLUTION] πŸ“ Event 2/14 - Text now: "..."
[11:05:37] [UPDATE] πŸ”„ updateMessageCell(for: 1596) β€” full safe reload
[11:05:37] [ROWS] ===== updateMessageCell for 1596 β€” chatRows.count=52 =====
[11:05:37] [ROWS] 0: SEPARATOR
[11:05:37] [ROWS] 1: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=12
[11:05:37] [ROWS] 2: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:37] [ROWS] 3: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:37] [ROWS] 4: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:37] [ROWS] 5: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:37] [ROWS] 6: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:37] [ROWS] 7: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:37] [ROWS] 8: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:37] [ROWS] 9: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:37] [ROWS] 10: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:37] [ROWS] 11: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:37] [ROWS] 12: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:37] [ROWS] 13: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:37] [ROWS] 14: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:37] [ROWS] 15: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:37] [ROWS] 16: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:37] [ROWS] 17: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:37] [ROWS] 18: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:37] [ROWS] 19: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:37] [ROWS] 20: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:37] [ROWS] 21: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:37] [ROWS] 22: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:05:37] [ROWS] 23: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:37] [ROWS] 24: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:37] [ROWS] 25: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:37] [ROWS] 26: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:05:37] [ROWS] 27: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:37] [ROWS] 28: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:37] [ROWS] 29: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:37] [ROWS] 30: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:37] [ROWS] 31: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:37] [ROWS] 32: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:37] [ROWS] 33: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:37] [ROWS] 34: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:37] [ROWS] 35: SEPARATOR
[11:05:37] [ROWS] 36: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:37] [ROWS] 37: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:37] [ROWS] 38: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:05:37] [ROWS] 39: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:37] [ROWS] 40: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:05:37] [ROWS] 41: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:05:37] [ROWS] 42: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:37] [ROWS] 43: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:37] [ROWS] 44: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:37] [ROWS] 45: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:37] [ROWS] 46: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:37] [ROWS] 47: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:37] [ROWS] 48: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:37] [ROWS] 49: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:37] [ROWS] 50: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:37] [ROWS] 51: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:37] [ROWS] ===== END (updateMessageCell for 1596) =====
[11:05:37] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=0, text='...'
[11:05:37] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:37] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:37] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:37] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=0, text='...'
[11:05:37] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:37] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:05:37] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:05:37] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:37] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:37] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [EVOLUTION] πŸ“ Event 3/14 - Text now: "De..."
[11:05:37] [UPDATE] πŸ”„ updateMessageCell(for: 1596) β€” full safe reload
[11:05:37] [ROWS] ===== updateMessageCell for 1596 β€” chatRows.count=52 =====
[11:05:37] [ROWS] 0: SEPARATOR
[11:05:37] [ROWS] 1: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=2 textLen=12
[11:05:37] [ROWS] 2: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:37] [ROWS] 3: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:37] [ROWS] 4: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:37] [ROWS] 5: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:37] [ROWS] 6: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:37] [ROWS] 7: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:37] [ROWS] 8: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:37] [ROWS] 9: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:37] [ROWS] 10: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:37] [ROWS] 11: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:37] [ROWS] 12: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:37] [ROWS] 13: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:37] [ROWS] 14: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:37] [ROWS] 15: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:37] [ROWS] 16: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:37] [ROWS] 17: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:37] [ROWS] 18: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:37] [ROWS] 19: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:37] [ROWS] 20: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:37] [ROWS] 21: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:37] [ROWS] 22: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:05:37] [ROWS] 23: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:37] [ROWS] 24: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:37] [ROWS] 25: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:37] [ROWS] 26: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:05:37] [ROWS] 27: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:37] [ROWS] 28: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:37] [ROWS] 29: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:37] [ROWS] 30: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:37] [ROWS] 31: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:37] [ROWS] 32: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:37] [ROWS] 33: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:37] [ROWS] 34: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:37] [ROWS] 35: SEPARATOR
[11:05:37] [ROWS] 36: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:37] [ROWS] 37: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:37] [ROWS] 38: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:05:37] [ROWS] 39: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:37] [ROWS] 40: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:05:37] [ROWS] 41: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:05:37] [ROWS] 42: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:37] [ROWS] 43: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:37] [ROWS] 44: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:37] [ROWS] 45: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:37] [ROWS] 46: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:37] [ROWS] 47: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:37] [ROWS] 48: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:37] [ROWS] 49: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:37] [ROWS] 50: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:37] [ROWS] 51: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:37] [ROWS] ===== END (updateMessageCell for 1596) =====
[11:05:37] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=2, text='De...'
[11:05:37] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:37] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:37] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:37] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=2, text='De...'
[11:05:37] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:37] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:05:37] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:37] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:37] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [EVOLUTION] πŸ“ Event 4/14 - Text now: "De ..."
[11:05:37] [UPDATE] πŸ”„ updateMessageCell(for: 1596) β€” full safe reload
[11:05:37] [ROWS] ===== updateMessageCell for 1596 β€” chatRows.count=52 =====
[11:05:37] [ROWS] 0: SEPARATOR
[11:05:37] [ROWS] 1: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=3 textLen=12
[11:05:37] [ROWS] 2: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:37] [ROWS] 3: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:37] [ROWS] 4: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:37] [ROWS] 5: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:37] [ROWS] 6: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:37] [ROWS] 7: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:37] [ROWS] 8: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:37] [ROWS] 9: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:37] [ROWS] 10: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:37] [ROWS] 11: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:37] [ROWS] 12: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:37] [ROWS] 13: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:37] [ROWS] 14: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:37] [ROWS] 15: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:37] [ROWS] 16: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:37] [ROWS] 17: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:37] [ROWS] 18: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:37] [ROWS] 19: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:37] [ROWS] 20: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:37] [ROWS] 21: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:37] [ROWS] 22: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:05:37] [ROWS] 23: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:37] [ROWS] 24: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:37] [ROWS] 25: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:37] [ROWS] 26: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:05:37] [ROWS] 27: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:37] [ROWS] 28: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:37] [ROWS] 29: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:37] [ROWS] 30: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:37] [ROWS] 31: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:37] [ROWS] 32: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:37] [ROWS] 33: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:37] [ROWS] 34: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:37] [ROWS] 35: SEPARATOR
[11:05:37] [ROWS] 36: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:37] [ROWS] 37: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:37] [ROWS] 38: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:05:37] [ROWS] 39: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:37] [ROWS] 40: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:05:37] [ROWS] 41: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:05:37] [ROWS] 42: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:37] [ROWS] 43: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:37] [ROWS] 44: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:37] [ROWS] 45: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:37] [ROWS] 46: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:37] [ROWS] 47: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:37] [ROWS] 48: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:37] [ROWS] 49: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:37] [ROWS] 50: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:37] [ROWS] 51: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:37] [ROWS] ===== END (updateMessageCell for 1596) =====
[11:05:37] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=3, text='De ...'
[11:05:37] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:37] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:37] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:37] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=3, text='De ...'
[11:05:37] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:37] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:05:37] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:37] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:37] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [EVOLUTION] πŸ“ Event 5/14 - Text now: "De f..."
[11:05:37] [UPDATE] πŸ”„ updateMessageCell(for: 1596) β€” full safe reload
[11:05:37] [ROWS] ===== updateMessageCell for 1596 β€” chatRows.count=52 =====
[11:05:37] [ROWS] 0: SEPARATOR
[11:05:37] [ROWS] 1: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=4 textLen=12
[11:05:37] [ROWS] 2: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:37] [ROWS] 3: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:37] [ROWS] 4: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:37] [ROWS] 5: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:37] [ROWS] 6: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:37] [ROWS] 7: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:37] [ROWS] 8: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:37] [ROWS] 9: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:37] [ROWS] 10: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:37] [ROWS] 11: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:37] [ROWS] 12: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:37] [ROWS] 13: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:37] [ROWS] 14: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:37] [ROWS] 15: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:37] [ROWS] 16: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:37] [ROWS] 17: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:37] [ROWS] 18: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:37] [ROWS] 19: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:37] [ROWS] 20: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:37] [ROWS] 21: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:37] [ROWS] 22: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:05:37] [ROWS] 23: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:37] [ROWS] 24: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:37] [ROWS] 25: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:37] [ROWS] 26: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:05:37] [ROWS] 27: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:37] [ROWS] 28: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:37] [ROWS] 29: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:37] [ROWS] 30: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:37] [ROWS] 31: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:37] [ROWS] 32: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:37] [ROWS] 33: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:37] [ROWS] 34: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:37] [ROWS] 35: SEPARATOR
[11:05:37] [ROWS] 36: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:37] [ROWS] 37: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:37] [ROWS] 38: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:05:37] [ROWS] 39: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:37] [ROWS] 40: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:05:37] [ROWS] 41: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:05:37] [ROWS] 42: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:37] [ROWS] 43: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:37] [ROWS] 44: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:37] [ROWS] 45: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:37] [ROWS] 46: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:37] [ROWS] 47: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:37] [ROWS] 48: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:37] [ROWS] 49: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:37] [ROWS] 50: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:37] [ROWS] 51: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:37] [ROWS] ===== END (updateMessageCell for 1596) =====
[11:05:37] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=4, text='De f...'
[11:05:37] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:37] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:37] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:37] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=4, text='De f...'
[11:05:37] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:37] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:05:37] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:37] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:37] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [EVOLUTION] πŸ“ Event 6/14 - Text now: "De fe..."
[11:05:37] [UPDATE] πŸ”„ updateMessageCell(for: 1596) β€” full safe reload
[11:05:37] [ROWS] ===== updateMessageCell for 1596 β€” chatRows.count=52 =====
[11:05:37] [ROWS] 0: SEPARATOR
[11:05:37] [ROWS] 1: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=5 textLen=12
[11:05:37] [ROWS] 2: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:37] [ROWS] 3: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:37] [ROWS] 4: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:37] [ROWS] 5: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:37] [ROWS] 6: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:37] [ROWS] 7: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:37] [ROWS] 8: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:37] [ROWS] 9: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:37] [ROWS] 10: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:37] [ROWS] 11: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:37] [ROWS] 12: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:37] [ROWS] 13: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:37] [ROWS] 14: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:37] [ROWS] 15: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:37] [ROWS] 16: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:37] [ROWS] 17: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:37] [ROWS] 18: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:37] [ROWS] 19: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:37] [ROWS] 20: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:37] [ROWS] 21: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:37] [ROWS] 22: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:05:37] [ROWS] 23: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:37] [ROWS] 24: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:37] [ROWS] 25: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:37] [ROWS] 26: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:05:37] [ROWS] 27: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:37] [ROWS] 28: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:37] [ROWS] 29: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:37] [ROWS] 30: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:37] [ROWS] 31: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:37] [ROWS] 32: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:37] [ROWS] 33: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:37] [ROWS] 34: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:37] [ROWS] 35: SEPARATOR
[11:05:37] [ROWS] 36: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:37] [ROWS] 37: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:37] [ROWS] 38: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:05:37] [ROWS] 39: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:37] [ROWS] 40: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:05:37] [ROWS] 41: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:05:37] [ROWS] 42: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:37] [ROWS] 43: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:37] [ROWS] 44: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:37] [ROWS] 45: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:37] [ROWS] 46: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:37] [ROWS] 47: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:37] [ROWS] 48: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:37] [ROWS] 49: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:37] [ROWS] 50: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:37] [ROWS] 51: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:37] [ROWS] ===== END (updateMessageCell for 1596) =====
[11:05:37] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=5, text='De fe...'
[11:05:37] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:37] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:37] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:37] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=5, text='De fe...'
[11:05:37] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:37] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:05:37] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:37] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:37] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [EVOLUTION] πŸ“ Event 7/14 - Text now: "De fe ..."
[11:05:37] [UPDATE] πŸ”„ updateMessageCell(for: 1596) β€” full safe reload
[11:05:37] [ROWS] ===== updateMessageCell for 1596 β€” chatRows.count=52 =====
[11:05:37] [ROWS] 0: SEPARATOR
[11:05:37] [ROWS] 1: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=6 textLen=12
[11:05:37] [ROWS] 2: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:37] [ROWS] 3: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:37] [ROWS] 4: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:37] [ROWS] 5: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:37] [ROWS] 6: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:37] [ROWS] 7: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:37] [ROWS] 8: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:37] [ROWS] 9: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:37] [ROWS] 10: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:37] [ROWS] 11: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:37] [ROWS] 12: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:37] [ROWS] 13: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:37] [ROWS] 14: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:37] [ROWS] 15: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:37] [ROWS] 16: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:37] [ROWS] 17: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:37] [ROWS] 18: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:37] [ROWS] 19: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:37] [ROWS] 20: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:37] [ROWS] 21: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:37] [ROWS] 22: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:05:37] [ROWS] 23: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:37] [ROWS] 24: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:37] [ROWS] 25: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:37] [ROWS] 26: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:05:37] [ROWS] 27: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:37] [ROWS] 28: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:37] [ROWS] 29: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:37] [ROWS] 30: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:37] [ROWS] 31: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:37] [ROWS] 32: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:37] [ROWS] 33: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:37] [ROWS] 34: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:37] [ROWS] 35: SEPARATOR
[11:05:37] [ROWS] 36: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:37] [ROWS] 37: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:37] [ROWS] 38: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:05:37] [ROWS] 39: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:37] [ROWS] 40: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:05:37] [ROWS] 41: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:05:37] [ROWS] 42: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:37] [ROWS] 43: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:37] [ROWS] 44: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:37] [ROWS] 45: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:37] [ROWS] 46: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:37] [ROWS] 47: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:37] [ROWS] 48: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:37] [ROWS] 49: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:37] [ROWS] 50: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:37] [ROWS] 51: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:37] [ROWS] ===== END (updateMessageCell for 1596) =====
[11:05:37] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=6, text='De fe ...'
[11:05:37] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:37] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:37] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:37] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=6, text='De fe ...'
[11:05:37] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:37] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:05:37] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:37] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:37] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:37] [EVOLUTION] πŸ“ Event 8/14 - Text now: "De fe f..."
[11:05:37] [UPDATE] πŸ”„ updateMessageCell(for: 1596) β€” full safe reload
[11:05:37] [ROWS] ===== updateMessageCell for 1596 β€” chatRows.count=52 =====
[11:05:37] [ROWS] 0: SEPARATOR
[11:05:37] [ROWS] 1: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=7 textLen=12
[11:05:37] [ROWS] 2: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:37] [ROWS] 3: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:37] [ROWS] 4: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:37] [ROWS] 5: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:37] [ROWS] 6: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:37] [ROWS] 7: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:37] [ROWS] 8: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:37] [ROWS] 9: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:37] [ROWS] 10: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:37] [ROWS] 11: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:37] [ROWS] 12: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:37] [ROWS] 13: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:37] [ROWS] 14: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:37] [ROWS] 15: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:37] [ROWS] 16: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:37] [ROWS] 17: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:37] [ROWS] 18: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:37] [ROWS] 19: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:37] [ROWS] 20: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:37] [ROWS] 21: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:37] [ROWS] 22: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:05:37] [ROWS] 23: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:37] [ROWS] 24: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:37] [ROWS] 25: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:37] [ROWS] 26: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:05:37] [ROWS] 27: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:37] [ROWS] 28: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:37] [ROWS] 29: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:37] [ROWS] 30: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:37] [ROWS] 31: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:37] [ROWS] 32: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:37] [ROWS] 33: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:37] [ROWS] 34: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:37] [ROWS] 35: SEPARATOR
[11:05:37] [ROWS] 36: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:37] [ROWS] 37: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:37] [ROWS] 38: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:05:37] [ROWS] 39: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:37] [ROWS] 40: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:05:37] [ROWS] 41: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:05:37] [ROWS] 42: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:37] [ROWS] 43: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:37] [ROWS] 44: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:37] [ROWS] 45: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:37] [ROWS] 46: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:37] [ROWS] 47: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:37] [ROWS] 48: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:37] [ROWS] 49: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:37] [ROWS] 50: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:37] [ROWS] 51: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:37] [ROWS] ===== END (updateMessageCell for 1596) =====
[11:05:37] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=7, text='De fe f...'
[11:05:37] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:37] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:37] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:38] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=7, text='De fe f...'
[11:05:38] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:38] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:05:38] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:05:38] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:38] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:38] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:38] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:38] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:38] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:38] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:38] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:38] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:38] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:38] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:38] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:38] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:38] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:38] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:38] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:38] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:38] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:38] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:38] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:38] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:38] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:38] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:38] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:38] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:38] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:38] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:38] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:38] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:38] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:38] [EVOLUTION] πŸ“ Event 9/14 - Text now: "De fe fe..."
[11:05:38] [UPDATE] πŸ”„ updateMessageCell(for: 1596) β€” full safe reload
[11:05:38] [ROWS] ===== updateMessageCell for 1596 β€” chatRows.count=52 =====
[11:05:38] [ROWS] 0: SEPARATOR
[11:05:38] [ROWS] 1: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=8 textLen=12
[11:05:38] [ROWS] 2: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:38] [ROWS] 3: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:38] [ROWS] 4: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:38] [ROWS] 5: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:38] [ROWS] 6: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:38] [ROWS] 7: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:38] [ROWS] 8: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:38] [ROWS] 9: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:38] [ROWS] 10: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:38] [ROWS] 11: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:38] [ROWS] 12: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:38] [ROWS] 13: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:38] [ROWS] 14: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:38] [ROWS] 15: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:38] [ROWS] 16: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:38] [ROWS] 17: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:38] [ROWS] 18: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:38] [ROWS] 19: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:38] [ROWS] 20: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:38] [ROWS] 21: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:38] [ROWS] 22: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:05:38] [ROWS] 23: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:38] [ROWS] 24: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:38] [ROWS] 25: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:38] [ROWS] 26: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:05:41] [CRASH] Previous session did not exit cleanly - crash detected
[11:05:41] [GIPHY] SDK not available - using REST API fallback
[11:05:41] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:05:41] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:05:41] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:05:41] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:05:41] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:05:41] [SCENE] Launched directly to chat view with sessionId: ILUIWU2
[11:05:41] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:05:41] Documents Directory: /var/mobile/Containers/Data/Application/4A50EB51-3E53-4E37-97AB-0E89FE71A447/Documents
[11:05:41] [NOTIFICATION] πŸ”” Notification button created and added to topNavBar
[11:05:41] [NOTIFICATION] πŸ”” Button tintColor: grey (0.5, 0.5, 0.5)
[11:05:41] [NOTIFICATION] πŸ”” Button isUserInteractionEnabled: true
[11:05:41] [INFO_PAGE] InformationViewController viewDidLoad called
[11:05:41] [INFO_PAGE] Actions configured (bell button is external)
[11:05:41] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:05:41] [INFO_PAGE] Successfully opened database at /var/mobile/Containers/Data/Application/4A50EB51-3E53-4E37-97AB-0E89FE71A447/Documents/chat_local_viewer.db
[11:05:41] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:05:41] [INFO_PAGE] Found 411 messages for session 'ILUIWU2'
[11:05:41] [INFO_PAGE] Total messages in database: 1177
[11:05:41] [INFO_PAGE] InformationViewController setup complete
[11:05:41] [INFO_PAGE] ℹ️ Information page added to tab 3
[11:05:41] [THEME] Applying current theme
[11:05:41] [CHAT] Applied day theme (mode: day)
[11:05:41] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:05:41] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:05:41] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:05:41] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:05:41] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:05:41] [SUMMARY] Already showed summary today (2025-11-16)
[11:05:41] Did transition
[11:05:41] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:05:41] [VIEWER] Screen lock enabled - normal idle behavior
[11:05:41] [QUERY] πŸ” Checking tab - currentTabIndex=0
[11:05:41] [QUERY] πŸ”΅ [TAB 0] No query connection needed
[11:05:41] [QUERY] βœ… [TAB 0] Initialized without query connection
[11:05:41] [LOCATION] Started location updates for distance calculation (already authorized)
[11:05:41] [TAB 0] Skipping reconnect polling - only needed for tab 1
[11:05:41] [VIEWER_INIT] Loading messages with read receipts from server
[11:05:41] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:05:41] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:05:41] [DB]   msg[0] id=1596, isMyMessage=false, readBy.count=0
[11:05:41] [DB]   msg[1] id=1595, isMyMessage=false, readBy.count=0
[11:05:41] [DB]   msg[2] id=1594, isMyMessage=false, readBy.count=0
[11:05:41] [EVOLUTION] πŸ” Found 1 NEW unread messages from local DB before fetching read receipts (lastSeenMessageId=1595): [1596]
[11:05:41] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1596, readBy=[]", "id=1595, readBy=[]", "id=1594, readBy=[]"]
[11:05:41] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:05:41] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:05:41] [DB]   msg[0] id=1596, isMyMessage=false, readBy.count=0
[11:05:41] [DB]   msg[1] id=1595, isMyMessage=false, readBy.count=0
[11:05:41] [DB]   msg[2] id=1594, isMyMessage=false, readBy.count=0
[11:05:41] [EVENT_POLL] Starting periodic event polling for viewer mode (5s interval)
[11:05:41] [ORIENTATION] Updated pagingScrollView height to 247.5 for width 440.0
[11:05:41] [SUMMARY] Already showed summary today (2025-11-16)
[11:05:41] Did transition
[11:05:41] [NOTIFICATION] πŸ”” Constraints activated for notification button
[11:05:41] [NOTIFICATION] πŸ”” topNavBar frame: (0.0, 0.0, 440.0, 50.0)
[11:05:41] [NOTIFICATION] πŸ”” menuButton frame: (0.0, 0.0, 39.0, 30.0)
[11:05:41] [NOTIFICATION] πŸ”” notificationButton frame: (0.0, 0.0, 56.333333333333336, 58.0)
[11:05:41] [NOTIFICATION] πŸ”” Notification button brought to front
[11:05:41] [NOTIFICATION] πŸ”„ Updating icon to: bell.slash.fill (muted=true)
[11:05:41] [NOTIFICATION] βœ… Icon updated successfully
[11:05:41] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[11:05:41] [MIGRATION] No messages need sender_name backfill
[11:05:41] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:05:41] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:05:41] [DB]   msg[0] id=1596, isMyMessage=false, readBy.count=0
[11:05:41] [DB]   msg[1] id=1595, isMyMessage=false, readBy.count=0
[11:05:41] [DB]   msg[2] id=1594, isMyMessage=false, readBy.count=0
[11:05:41] [INFO_PAGE] InformationViewController viewWillAppear - applying theme
[11:05:41] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:05:41] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:05:41] [PAGINATION_SCROLL] offset=-12.0, contentHeight=108.0, distFromBottom=120.0, dragging=false, decel=false, isLoading=false, cooldown=63899057141.82664s
[11:05:41] [PAGINATION_SCROLL] offset=0.0, contentHeight=108.0, distFromBottom=-650.0, dragging=false, decel=false, isLoading=false, cooldown=63899057141.829865s
[11:05:41] [LOCATION] Authorization changed: 4
[11:05:41] [LOCATION] Updated location: 46.501410560973596, 6.722693505320995
[11:05:41] [NOTIFICATION] πŸ”” FINAL STATE after viewDidLoad:
[11:05:41] [NOTIFICATION] πŸ”” notificationButton.frame: (392.0, 67.0, 40.0, 40.0)
[11:05:41] [NOTIFICATION] πŸ”” notificationButton.isHidden: false
[11:05:41] [NOTIFICATION] πŸ”” notificationButton.alpha: 1.0
[11:05:41] [NOTIFICATION] πŸ”” notificationButton.superview: true
[11:05:41] [NOTIFICATION] πŸ”” topNavBar.isHidden: false
[11:05:41] [NOTIFICATION] πŸ”” topNavBar.subviews.count: 3
[11:05:41] [PUSH] handlePollEventsNotification userInfo: [:]
[11:05:41] [PUSH] No message_id in userInfo
[11:05:41] [PUSH] No operation_type in userInfo
[11:05:41] [PUSH] Performing full refresh to catch up on any missed messages
[11:05:41] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:05:41] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:05:41] [DB]   msg[0] id=1596, isMyMessage=false, readBy.count=0
[11:05:41] [DB]   msg[1] id=1595, isMyMessage=false, readBy.count=0
[11:05:41] [DB]   msg[2] id=1594, isMyMessage=false, readBy.count=0
[11:05:41] [EVOLUTION] πŸ” [FOREGROUND] Found 1 NEW unread messages after refreshAllFromServer (lastSeenMessageId=1595): [1596]
[11:05:41] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:05:41] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:05:41] [DB]   msg[0] id=1596, isMyMessage=false, readBy.count=0
[11:05:41] [DB]   msg[1] id=1595, isMyMessage=false, readBy.count=0
[11:05:41] [DB]   msg[2] id=1594, isMyMessage=false, readBy.count=0
[11:05:41] [PUSH] APNs token: 6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c
[11:05:42] [PUSH] Device role updated to 'viewer': HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:05:42] [PUSH] Device role updated to 'viewer': HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:05:42] [USER] βœ… User registered successfully
[11:05:42] [USER] User registration successful
[11:05:42] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:05:42] [CHAT] βœ… refreshAllFromServer - parsed 411 messages from server
[11:05:42] [DB] clearDBForSession(ILUIWU2): deleted 411 messages, result=101
[11:05:42] ReloadData 15 (411 messages loaded, 0 pending media)
[11:05:42] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:05:42] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:05:42] [DB]   msg[0] id=1596, isMyMessage=false, readBy.count=0
[11:05:42] [DB]   msg[1] id=1595, isMyMessage=false, readBy.count=0
[11:05:42] [DB]   msg[2] id=1594, isMyMessage=false, readBy.count=0
[11:05:42] [EVOLUTION] πŸ” Found 1 NEW unread messages after refreshAllFromServer (lastSeenMessageId=1595): [1596]
[11:05:42] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1596, readBy=[]", "id=1595, readBy=[]", "id=1594, readBy=[]"]
[11:05:42] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:05:42] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:05:42] [DB]   msg[0] id=1596, isMyMessage=false, readBy.count=0
[11:05:42] [DB]   msg[1] id=1595, isMyMessage=false, readBy.count=0
[11:05:42] [DB]   msg[2] id=1594, isMyMessage=false, readBy.count=0
[11:05:42] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:05:42] [UNREAD_DEBUG]   FINAL msg[0] id=1596, readBy.count=1
[11:05:42] [UNREAD_DEBUG]   FINAL msg[1] id=1595, readBy.count=1
[11:05:42] [UNREAD_DEBUG]   FINAL msg[2] id=1594, readBy.count=1
[11:05:42] [VIEWER_INIT] Loaded 50 messages with read receipts, hasMore: true
[11:05:42] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:05:42] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:05:42] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:05:42] [EVOLUTION] πŸ“ Updated lastSeenMessageId: 1595 β†’ 1596
[11:05:42] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:05:42] [ROWS] 0: SEPARATOR
[11:05:42] [ROWS] 1: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:42] [ROWS] 2: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:42] [ROWS] 3: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:42] [ROWS] 4: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:42] [ROWS] 5: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:42] [ROWS] 6: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 7: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 8: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 9: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 10: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:42] [ROWS] 11: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 12: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 13: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 14: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 15: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 16: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 17: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 18: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:42] [ROWS] 19: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:42] [ROWS] 20: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 21: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 22: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:05:42] [ROWS] 23: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:42] [ROWS] 24: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:42] [ROWS] 25: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 26: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:05:42] [ROWS] 27: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:42] [ROWS] 28: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:42] [ROWS] 29: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 30: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 31: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 32: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 33: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 34: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 35: SEPARATOR
[11:05:42] [ROWS] 36: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:42] [ROWS] 37: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 38: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:05:42] [ROWS] 39: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:42] [ROWS] 40: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:05:42] [ROWS] 41: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:05:42] [ROWS] 42: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 43: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:42] [ROWS] 44: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 45: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 46: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:42] [ROWS] 47: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:42] [ROWS] 48: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 49: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 50: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 51: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:05:42] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:05:42] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=false, textLength=12, text='De fe fe e f...'
[11:05:42] [EMOJI] βœ… Loaded 451 emoji-to-GIF mappings
[11:05:42] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:42] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:42] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:42] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=false, textLength=12, text='De fe fe e f...'
[11:05:42] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:42] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:05:42] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:42] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:42] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:05:42] ReloadData 18 (viewer init with read receipts)
[11:05:42] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:05:42] [UNREAD_DEBUG]   FINAL msg[0] id=1596, readBy.count=1
[11:05:42] [UNREAD_DEBUG]   FINAL msg[1] id=1595, readBy.count=1
[11:05:42] [UNREAD_DEBUG]   FINAL msg[2] id=1594, readBy.count=1
[11:05:42] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:05:42] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:05:42] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:05:42] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:05:42] [ROWS] 0: SEPARATOR
[11:05:42] [ROWS] 1: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:42] [ROWS] 2: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:42] [ROWS] 3: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:42] [ROWS] 4: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:42] [ROWS] 5: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:42] [ROWS] 6: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 7: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 8: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 9: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 10: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:42] [ROWS] 11: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 12: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 13: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 14: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 15: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 16: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 17: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 18: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:42] [ROWS] 19: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:42] [ROWS] 20: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 21: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 22: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:05:42] [ROWS] 23: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:42] [ROWS] 24: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:42] [ROWS] 25: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 26: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:05:42] [ROWS] 27: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:42] [ROWS] 28: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:42] [ROWS] 29: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 30: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 31: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 32: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 33: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 34: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 35: SEPARATOR
[11:05:42] [ROWS] 36: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:42] [ROWS] 37: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 38: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:05:42] [ROWS] 39: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:42] [ROWS] 40: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:05:42] [ROWS] 41: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:05:42] [ROWS] 42: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 43: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:42] [ROWS] 44: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 45: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 46: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:42] [ROWS] 47: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:42] [ROWS] 48: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 49: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 50: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 51: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:05:42] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:05:42] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=false, textLength=12, text='De fe fe e f...'
[11:05:42] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:42] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:42] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:42] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=false, textLength=12, text='De fe fe e f...'
[11:05:42] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:42] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:05:42] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:42] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:42] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:05:42] [FOREGROUND_REFRESH] Loaded 50 messages, displaying 50 for tab 0
[11:05:42] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:05:42] [UNREAD_DEBUG]   FINAL msg[0] id=1596, readBy.count=1
[11:05:42] [UNREAD_DEBUG]   FINAL msg[1] id=1595, readBy.count=1
[11:05:42] [UNREAD_DEBUG]   FINAL msg[2] id=1594, readBy.count=1
[11:05:42] [EVOLUTION] πŸ“¬ Preparing 1 unread message(s) for evolution playback: [1596]
[11:05:42] [EVOLUTION] 🎬 Preparing message 1596 for evolution playback (app launch)
[11:05:42] [EVOLUTION] πŸ” Reloading table for evolution - chatMessages.count=50
[11:05:42] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:05:42] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:05:42] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:05:42] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:05:42] [ROWS] 0: SEPARATOR
[11:05:42] [ROWS] 1: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=12
[11:05:42] [ROWS] 2: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:42] [ROWS] 3: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:42] [ROWS] 4: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:42] [ROWS] 5: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:42] [ROWS] 6: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 7: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 8: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 9: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 10: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:42] [ROWS] 11: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 12: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 13: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 14: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 15: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 16: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 17: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 18: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:42] [ROWS] 19: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:42] [ROWS] 20: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 21: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 22: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:05:42] [ROWS] 23: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:42] [ROWS] 24: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:42] [ROWS] 25: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 26: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:05:42] [ROWS] 27: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:42] [ROWS] 28: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:42] [ROWS] 29: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 30: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 31: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 32: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 33: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 34: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 35: SEPARATOR
[11:05:42] [ROWS] 36: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:42] [ROWS] 37: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 38: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:05:42] [ROWS] 39: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:42] [ROWS] 40: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:05:42] [ROWS] 41: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:05:42] [ROWS] 42: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 43: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:42] [ROWS] 44: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 45: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 46: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:42] [ROWS] 47: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:42] [ROWS] 48: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 49: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 50: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 51: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:05:42] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:05:42] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=0, text='...'
[11:05:42] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:42] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:42] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:42] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=0, text='...'
[11:05:42] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:42] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:05:42] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:05:42] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:42] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:42] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:05:42] [EVOLUTION] πŸ“ Queued 1 messages for sequential playback: [1596]
[11:05:42] [EVOLUTION] πŸ“¬ Preparing 1 unread message(s) for evolution playback: [1596]
[11:05:42] [EVOLUTION] 🎬 Preparing message 1596 for evolution playback (app launch)
[11:05:42] [EVOLUTION] πŸ” Reloading table for evolution - chatMessages.count=50
[11:05:42] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:05:42] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:05:42] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:05:42] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:05:42] [ROWS] 0: SEPARATOR
[11:05:42] [ROWS] 1: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=12
[11:05:42] [ROWS] 2: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:42] [ROWS] 3: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:42] [ROWS] 4: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:42] [ROWS] 5: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:42] [ROWS] 6: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 7: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 8: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 9: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 10: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:42] [ROWS] 11: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 12: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 13: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 14: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 15: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 16: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 17: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 18: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:42] [ROWS] 19: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:42] [ROWS] 20: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 21: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 22: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:05:42] [ROWS] 23: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:42] [ROWS] 24: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:42] [ROWS] 25: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 26: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:05:42] [ROWS] 27: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:42] [ROWS] 28: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:42] [ROWS] 29: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 30: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 31: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 32: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 33: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 34: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 35: SEPARATOR
[11:05:42] [ROWS] 36: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:42] [ROWS] 37: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 38: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:05:42] [ROWS] 39: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:42] [ROWS] 40: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:05:42] [ROWS] 41: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:05:42] [ROWS] 42: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 43: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:42] [ROWS] 44: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 45: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 46: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:42] [ROWS] 47: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:42] [ROWS] 48: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 49: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 50: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 51: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:05:42] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:05:42] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=0, text='...'
[11:05:42] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:42] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:42] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:42] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=0, text='...'
[11:05:42] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:42] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:05:42] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:05:42] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:42] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:42] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:05:42] [EVOLUTION] πŸ“ Queued 1 messages for sequential playback: [1596]
[11:05:42] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:05:42] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:05:42] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:05:42] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:05:42] [ROWS] 0: SEPARATOR
[11:05:42] [ROWS] 1: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=12
[11:05:42] [ROWS] 2: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:42] [ROWS] 3: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:42] [ROWS] 4: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:42] [ROWS] 5: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:42] [ROWS] 6: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 7: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 8: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 9: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 10: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:42] [ROWS] 11: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 12: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 13: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 14: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 15: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 16: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 17: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 18: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:42] [ROWS] 19: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:42] [ROWS] 20: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 21: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 22: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:05:42] [ROWS] 23: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:42] [ROWS] 24: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:42] [ROWS] 25: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 26: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:05:42] [ROWS] 27: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:42] [ROWS] 28: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:42] [ROWS] 29: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 30: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 31: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 32: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 33: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 34: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 35: SEPARATOR
[11:05:42] [ROWS] 36: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:42] [ROWS] 37: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 38: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:05:42] [ROWS] 39: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:42] [ROWS] 40: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:05:42] [ROWS] 41: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:05:42] [ROWS] 42: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 43: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:42] [ROWS] 44: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 45: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 46: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:42] [ROWS] 47: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:42] [ROWS] 48: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 49: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 50: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 51: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:05:42] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:05:42] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=0, text='...'
[11:05:42] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:42] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:42] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:42] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=0, text='...'
[11:05:42] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:42] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:05:42] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:05:42] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:42] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:42] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:05:42] [INIT_PAGINATION] Loaded 50 total messages, displaying 50 for tab 0
[11:05:42] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:05:42] [UNREAD_DEBUG]   FINAL msg[0] id=1596, readBy.count=1
[11:05:42] [UNREAD_DEBUG]   FINAL msg[1] id=1595, readBy.count=1
[11:05:42] [UNREAD_DEBUG]   FINAL msg[2] id=1594, readBy.count=1
[11:05:42] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:05:42] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:05:42] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:05:42] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:05:42] [ROWS] 0: SEPARATOR
[11:05:42] [ROWS] 1: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:42] [ROWS] 2: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:42] [ROWS] 3: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:42] [ROWS] 4: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:42] [ROWS] 5: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:42] [ROWS] 6: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 7: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 8: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 9: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 10: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:42] [ROWS] 11: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 12: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 13: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 14: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 15: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 16: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 17: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 18: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:42] [ROWS] 19: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:42] [ROWS] 20: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 21: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 22: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:05:42] [ROWS] 23: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:42] [ROWS] 24: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:42] [ROWS] 25: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 26: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:05:42] [ROWS] 27: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:42] [ROWS] 28: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:42] [ROWS] 29: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 30: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 31: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 32: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 33: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 34: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 35: SEPARATOR
[11:05:42] [ROWS] 36: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:42] [ROWS] 37: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 38: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:05:42] [ROWS] 39: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:42] [ROWS] 40: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:05:42] [ROWS] 41: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:05:42] [ROWS] 42: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 43: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:42] [ROWS] 44: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 45: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 46: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:42] [ROWS] 47: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:42] [ROWS] 48: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 49: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 50: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 51: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:05:42] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:05:42] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=false, textLength=12, text='De fe fe e f...'
[11:05:42] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:42] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:42] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:42] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=false, textLength=12, text='De fe fe e f...'
[11:05:42] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:42] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:05:42] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:42] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:42] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:05:42] [INITIAL_LOAD] Loaded 50 messages (first page), displaying 50 for tab 0, hasMore: true
[11:05:42] ReloadData 1
[11:05:42] [PURGE] Deleted 0 unused media files:

[11:05:42] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:05:42] [EVOLUTION] πŸ“¬ Preparing 1 unread message(s) for evolution playback: [1596]
[11:05:42] [EVOLUTION] 🎬 Preparing message 1596 for evolution playback (app launch)
[11:05:42] [EVOLUTION] πŸ” Reloading table for evolution - chatMessages.count=50
[11:05:42] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:05:42] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:05:42] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:05:42] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:05:42] [ROWS] 0: SEPARATOR
[11:05:42] [ROWS] 1: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=12
[11:05:42] [ROWS] 2: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:42] [ROWS] 3: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:42] [ROWS] 4: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:42] [ROWS] 5: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:42] [ROWS] 6: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 7: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 8: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 9: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 10: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:42] [ROWS] 11: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 12: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 13: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 14: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 15: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 16: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 17: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 18: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:42] [ROWS] 19: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:42] [ROWS] 20: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 21: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 22: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:05:42] [ROWS] 23: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:42] [ROWS] 24: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:42] [ROWS] 25: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 26: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:05:42] [ROWS] 27: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:42] [ROWS] 28: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:42] [ROWS] 29: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 30: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 31: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 32: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 33: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 34: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 35: SEPARATOR
[11:05:42] [ROWS] 36: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:42] [ROWS] 37: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 38: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:05:42] [ROWS] 39: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:42] [ROWS] 40: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:05:42] [ROWS] 41: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:05:42] [ROWS] 42: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 43: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:42] [ROWS] 44: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 45: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 46: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:42] [ROWS] 47: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:42] [ROWS] 48: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 49: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 50: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 51: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:05:42] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:05:42] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=0, text='...'
[11:05:42] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:42] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:42] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:42] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=0, text='...'
[11:05:42] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:42] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:05:42] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:05:42] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:42] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:42] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:05:42] [EVOLUTION] πŸ“ Queued 1 messages for sequential playback: [1596]
[11:05:42] [EVOLUTION] 🎬 Starting sequential playback of queued messages
[11:05:42] [EVOLUTION] ▢️ Playing next queued message 1596 - 0 remaining in queue
[11:05:42] [EVOLUTION] πŸ“‘ Fetching evolution data for message 1596
[11:05:42] [EVOLUTION] 🎬 Starting sequential playback of queued messages
[11:05:42] [EVOLUTION] ⏸️ Already playing queued evolution, will retry when current finishes
[11:05:42] [EVOLUTION] πŸ” Raw response (570 bytes): {"ok":true,"has_evolution":true,"message_id":1596,"evolution":{"events":[{"op":"i","p":0,"t":0,"c":"F"},{"op":"i","c":"d","p":1,"t":86},{"t":150,"op":"d","l":2,"p":0},{"t":150,"op":"i","p":0,"c":"De"}
[11:05:42] [EVOLUTION] πŸ” Parsed JSON keys: ["created_at", "evolution", "has_evolution", "message_id", "ok"]
[11:05:42] [EVOLUTION] πŸ” has_evolution: 1
[11:05:42] [EVOLUTION] βœ… Got 14 events for message 1596
[11:05:42] [OVERLAP_FIX] πŸš€ Starting evolution - forcing initial height recalculation
[11:05:42] [UPDATE] πŸ”„ updateMessageCell(for: 1596) β€” full safe reload
[11:05:42] [ROWS] ===== updateMessageCell for 1596 β€” chatRows.count=52 =====
[11:05:42] [ROWS] 0: SEPARATOR
[11:05:42] [ROWS] 1: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=12
[11:05:42] [ROWS] 2: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:42] [ROWS] 3: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:42] [ROWS] 4: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:42] [ROWS] 5: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:42] [ROWS] 6: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 7: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 8: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 9: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 10: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:42] [ROWS] 11: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 12: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 13: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 14: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 15: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 16: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 17: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 18: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:42] [ROWS] 19: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:42] [ROWS] 20: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 21: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 22: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:05:42] [ROWS] 23: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:42] [ROWS] 24: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:42] [ROWS] 25: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 26: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:05:42] [ROWS] 27: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:42] [ROWS] 28: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:42] [ROWS] 29: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 30: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 31: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 32: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 33: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 34: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 35: SEPARATOR
[11:05:42] [ROWS] 36: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:42] [ROWS] 37: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 38: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:05:42] [ROWS] 39: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:42] [ROWS] 40: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:05:42] [ROWS] 41: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:05:42] [ROWS] 42: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 43: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:42] [ROWS] 44: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 45: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 46: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:42] [ROWS] 47: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:42] [ROWS] 48: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 49: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 50: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 51: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] ===== END (updateMessageCell for 1596) =====
[11:05:42] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=0, text='...'
[11:05:42] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:42] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:42] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:42] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=0, text='...'
[11:05:42] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:42] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:05:42] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:05:42] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:42] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:42] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [EVOLUTION] ▢️ Starting inline playback for message 1596 with 14 events
[11:05:42] [EVOLUTION] 🎬 Starting sequential playback of queued messages
[11:05:42] [EVOLUTION] ⏸️ Already playing queued evolution, will retry when current finishes
[11:05:42] [EVOLUTION] πŸ“ Event 0/14 - Text now: "F..."
[11:05:42] [UPDATE] πŸ”„ updateMessageCell(for: 1596) β€” full safe reload
[11:05:42] [ROWS] ===== updateMessageCell for 1596 β€” chatRows.count=52 =====
[11:05:42] [ROWS] 0: SEPARATOR
[11:05:42] [ROWS] 1: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=1 textLen=12
[11:05:42] [ROWS] 2: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:42] [ROWS] 3: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:42] [ROWS] 4: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:42] [ROWS] 5: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:42] [ROWS] 6: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 7: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 8: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 9: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 10: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:42] [ROWS] 11: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 12: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 13: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 14: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 15: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 16: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 17: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 18: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:42] [ROWS] 19: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:42] [ROWS] 20: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 21: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 22: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:05:42] [ROWS] 23: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:42] [ROWS] 24: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:42] [ROWS] 25: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 26: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:05:42] [ROWS] 27: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:42] [ROWS] 28: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:42] [ROWS] 29: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 30: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 31: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 32: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 33: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 34: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 35: SEPARATOR
[11:05:42] [ROWS] 36: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:42] [ROWS] 37: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 38: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:05:42] [ROWS] 39: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:42] [ROWS] 40: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:05:42] [ROWS] 41: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:05:42] [ROWS] 42: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 43: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:42] [ROWS] 44: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 45: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 46: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:42] [ROWS] 47: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:42] [ROWS] 48: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 49: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 50: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 51: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] ===== END (updateMessageCell for 1596) =====
[11:05:42] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=1, text='F...'
[11:05:42] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:42] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:42] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:42] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=1, text='F...'
[11:05:42] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:42] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:05:42] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:42] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:42] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [EVOLUTION] πŸ“ Event 1/14 - Text now: "Fd..."
[11:05:42] [UPDATE] πŸ”„ updateMessageCell(for: 1596) β€” full safe reload
[11:05:42] [ROWS] ===== updateMessageCell for 1596 β€” chatRows.count=52 =====
[11:05:42] [ROWS] 0: SEPARATOR
[11:05:42] [ROWS] 1: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=2 textLen=12
[11:05:42] [ROWS] 2: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:42] [ROWS] 3: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:42] [ROWS] 4: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:42] [ROWS] 5: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:42] [ROWS] 6: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 7: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 8: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 9: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 10: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:42] [ROWS] 11: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 12: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 13: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 14: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 15: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 16: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 17: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 18: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:42] [ROWS] 19: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:42] [ROWS] 20: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 21: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 22: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:05:42] [ROWS] 23: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:42] [ROWS] 24: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:42] [ROWS] 25: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 26: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:05:42] [ROWS] 27: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:42] [ROWS] 28: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:42] [ROWS] 29: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 30: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 31: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 32: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 33: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 34: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 35: SEPARATOR
[11:05:42] [ROWS] 36: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:42] [ROWS] 37: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 38: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:05:42] [ROWS] 39: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:42] [ROWS] 40: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:05:42] [ROWS] 41: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:05:42] [ROWS] 42: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 43: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:42] [ROWS] 44: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 45: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 46: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:42] [ROWS] 47: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:42] [ROWS] 48: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 49: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 50: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 51: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] ===== END (updateMessageCell for 1596) =====
[11:05:42] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=2, text='Fd...'
[11:05:42] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:42] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:42] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:42] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=2, text='Fd...'
[11:05:42] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:42] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:05:42] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:42] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:42] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [EVOLUTION] πŸ“ Event 2/14 - Text now: "..."
[11:05:42] [UPDATE] πŸ”„ updateMessageCell(for: 1596) β€” full safe reload
[11:05:42] [ROWS] ===== updateMessageCell for 1596 β€” chatRows.count=52 =====
[11:05:42] [ROWS] 0: SEPARATOR
[11:05:42] [ROWS] 1: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=12
[11:05:42] [ROWS] 2: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:42] [ROWS] 3: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:42] [ROWS] 4: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:42] [ROWS] 5: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:42] [ROWS] 6: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 7: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 8: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 9: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 10: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:42] [ROWS] 11: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 12: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 13: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 14: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 15: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 16: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 17: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 18: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:42] [ROWS] 19: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:42] [ROWS] 20: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 21: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 22: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:05:42] [ROWS] 23: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:42] [ROWS] 24: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:42] [ROWS] 25: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 26: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:05:42] [ROWS] 27: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:42] [ROWS] 28: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:42] [ROWS] 29: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 30: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 31: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 32: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 33: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 34: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 35: SEPARATOR
[11:05:42] [ROWS] 36: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:42] [ROWS] 37: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 38: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:05:42] [ROWS] 39: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:42] [ROWS] 40: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:05:42] [ROWS] 41: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:05:42] [ROWS] 42: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 43: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:42] [ROWS] 44: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 45: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 46: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:42] [ROWS] 47: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:42] [ROWS] 48: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 49: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 50: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 51: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] ===== END (updateMessageCell for 1596) =====
[11:05:42] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=0, text='...'
[11:05:42] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:42] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:42] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:42] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=0, text='...'
[11:05:42] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:42] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:05:42] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:05:42] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:42] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:42] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [EVOLUTION] πŸ“ Event 3/14 - Text now: "De..."
[11:05:42] [UPDATE] πŸ”„ updateMessageCell(for: 1596) β€” full safe reload
[11:05:42] [ROWS] ===== updateMessageCell for 1596 β€” chatRows.count=52 =====
[11:05:42] [ROWS] 0: SEPARATOR
[11:05:42] [ROWS] 1: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=2 textLen=12
[11:05:42] [ROWS] 2: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:42] [ROWS] 3: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:42] [ROWS] 4: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:42] [ROWS] 5: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:42] [ROWS] 6: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 7: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 8: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 9: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 10: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:42] [ROWS] 11: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 12: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 13: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 14: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 15: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 16: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 17: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 18: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:42] [ROWS] 19: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:42] [ROWS] 20: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 21: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 22: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:05:42] [ROWS] 23: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:42] [ROWS] 24: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:42] [ROWS] 25: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 26: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:05:42] [ROWS] 27: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:42] [ROWS] 28: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:42] [ROWS] 29: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 30: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 31: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 32: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 33: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 34: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 35: SEPARATOR
[11:05:42] [ROWS] 36: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:42] [ROWS] 37: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 38: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:05:42] [ROWS] 39: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:42] [ROWS] 40: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:05:42] [ROWS] 41: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:05:42] [ROWS] 42: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 43: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:42] [ROWS] 44: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 45: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 46: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:42] [ROWS] 47: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:42] [ROWS] 48: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 49: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 50: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 51: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] ===== END (updateMessageCell for 1596) =====
[11:05:42] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=2, text='De...'
[11:05:42] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:42] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:42] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:42] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=2, text='De...'
[11:05:42] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:42] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:05:42] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:42] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:42] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [EVOLUTION] πŸ“ Event 4/14 - Text now: "De ..."
[11:05:42] [UPDATE] πŸ”„ updateMessageCell(for: 1596) β€” full safe reload
[11:05:42] [ROWS] ===== updateMessageCell for 1596 β€” chatRows.count=52 =====
[11:05:42] [ROWS] 0: SEPARATOR
[11:05:42] [ROWS] 1: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=3 textLen=12
[11:05:42] [ROWS] 2: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:42] [ROWS] 3: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:42] [ROWS] 4: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:42] [ROWS] 5: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:42] [ROWS] 6: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 7: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 8: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 9: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 10: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:42] [ROWS] 11: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 12: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 13: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 14: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 15: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 16: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 17: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 18: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:42] [ROWS] 19: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:42] [ROWS] 20: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 21: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 22: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:05:42] [ROWS] 23: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:42] [ROWS] 24: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:42] [ROWS] 25: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 26: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:05:42] [ROWS] 27: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:42] [ROWS] 28: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:42] [ROWS] 29: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 30: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 31: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 32: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 33: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 34: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 35: SEPARATOR
[11:05:42] [ROWS] 36: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:42] [ROWS] 37: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 38: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:05:42] [ROWS] 39: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:42] [ROWS] 40: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:05:42] [ROWS] 41: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:05:42] [ROWS] 42: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 43: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:42] [ROWS] 44: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 45: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 46: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:42] [ROWS] 47: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:42] [ROWS] 48: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 49: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 50: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 51: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] ===== END (updateMessageCell for 1596) =====
[11:05:42] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=3, text='De ...'
[11:05:42] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:42] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:42] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:42] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=3, text='De ...'
[11:05:42] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:42] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:05:42] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:42] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:42] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [EVOLUTION] πŸ“ Event 5/14 - Text now: "De f..."
[11:05:42] [UPDATE] πŸ”„ updateMessageCell(for: 1596) β€” full safe reload
[11:05:42] [ROWS] ===== updateMessageCell for 1596 β€” chatRows.count=52 =====
[11:05:42] [ROWS] 0: SEPARATOR
[11:05:42] [ROWS] 1: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=4 textLen=12
[11:05:42] [ROWS] 2: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:42] [ROWS] 3: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:42] [ROWS] 4: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:42] [ROWS] 5: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:42] [ROWS] 6: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 7: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 8: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 9: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 10: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:42] [ROWS] 11: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 12: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 13: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 14: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 15: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 16: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 17: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 18: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:42] [ROWS] 19: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:42] [ROWS] 20: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 21: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 22: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:05:42] [ROWS] 23: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:42] [ROWS] 24: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:42] [ROWS] 25: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 26: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:05:42] [ROWS] 27: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:42] [ROWS] 28: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:42] [ROWS] 29: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 30: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 31: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 32: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 33: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 34: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 35: SEPARATOR
[11:05:42] [ROWS] 36: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:42] [ROWS] 37: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 38: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:05:42] [ROWS] 39: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:42] [ROWS] 40: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:05:42] [ROWS] 41: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:05:42] [ROWS] 42: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 43: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:42] [ROWS] 44: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 45: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 46: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:42] [ROWS] 47: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:42] [ROWS] 48: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 49: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 50: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 51: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] ===== END (updateMessageCell for 1596) =====
[11:05:42] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=4, text='De f...'
[11:05:42] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:42] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:42] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:42] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=4, text='De f...'
[11:05:42] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:42] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:05:42] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:42] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:42] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [EVOLUTION] πŸ“ Event 6/14 - Text now: "De fe..."
[11:05:42] [UPDATE] πŸ”„ updateMessageCell(for: 1596) β€” full safe reload
[11:05:42] [ROWS] ===== updateMessageCell for 1596 β€” chatRows.count=52 =====
[11:05:42] [ROWS] 0: SEPARATOR
[11:05:42] [ROWS] 1: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=5 textLen=12
[11:05:42] [ROWS] 2: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:42] [ROWS] 3: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:42] [ROWS] 4: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:42] [ROWS] 5: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:42] [ROWS] 6: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 7: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 8: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 9: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 10: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:42] [ROWS] 11: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 12: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 13: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 14: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 15: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 16: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 17: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 18: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:42] [ROWS] 19: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:42] [ROWS] 20: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 21: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 22: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:05:42] [ROWS] 23: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:42] [ROWS] 24: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:42] [ROWS] 25: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 26: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:05:42] [ROWS] 27: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:42] [ROWS] 28: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:42] [ROWS] 29: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 30: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 31: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 32: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 33: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 34: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:42] [ROWS] 35: SEPARATOR
[11:05:42] [ROWS] 36: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:42] [ROWS] 37: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 38: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:05:42] [ROWS] 39: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:42] [ROWS] 40: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:05:42] [ROWS] 41: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:05:42] [ROWS] 42: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:42] [ROWS] 43: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:42] [ROWS] 44: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 45: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 46: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:42] [ROWS] 47: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:42] [ROWS] 48: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 49: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] 50: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:42] [ROWS] 51: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:42] [ROWS] ===== END (updateMessageCell for 1596) =====
[11:05:42] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=5, text='De fe...'
[11:05:42] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:42] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:42] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:42] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=5, text='De fe...'
[11:05:42] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:42] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:05:42] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:42] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:42] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:42] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [EVOLUTION] πŸ“ Event 7/14 - Text now: "De fe ..."
[11:05:43] [UPDATE] πŸ”„ updateMessageCell(for: 1596) β€” full safe reload
[11:05:43] [ROWS] ===== updateMessageCell for 1596 β€” chatRows.count=52 =====
[11:05:43] [ROWS] 0: SEPARATOR
[11:05:43] [ROWS] 1: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=6 textLen=12
[11:05:43] [ROWS] 2: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:43] [ROWS] 3: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:43] [ROWS] 4: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:43] [ROWS] 5: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:43] [ROWS] 6: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:43] [ROWS] 7: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 8: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 9: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 10: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:43] [ROWS] 11: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:43] [ROWS] 12: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:43] [ROWS] 13: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:43] [ROWS] 14: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:43] [ROWS] 15: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 16: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:43] [ROWS] 17: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 18: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:43] [ROWS] 19: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:43] [ROWS] 20: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 21: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 22: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:05:43] [ROWS] 23: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:43] [ROWS] 24: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:43] [ROWS] 25: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 26: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:05:43] [ROWS] 27: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:43] [ROWS] 28: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:43] [ROWS] 29: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 30: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 31: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 32: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 33: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 34: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 35: SEPARATOR
[11:05:43] [ROWS] 36: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:43] [ROWS] 37: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:43] [ROWS] 38: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:05:43] [ROWS] 39: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:43] [ROWS] 40: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:05:43] [ROWS] 41: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:05:43] [ROWS] 42: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:43] [ROWS] 43: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:43] [ROWS] 44: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:43] [ROWS] 45: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:43] [ROWS] 46: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:43] [ROWS] 47: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:43] [ROWS] 48: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 49: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:43] [ROWS] 50: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 51: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:43] [ROWS] ===== END (updateMessageCell for 1596) =====
[11:05:43] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=6, text='De fe ...'
[11:05:43] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:43] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:43] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:43] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=6, text='De fe ...'
[11:05:43] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:43] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:05:43] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:43] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:43] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [EVOLUTION] πŸ“ Event 8/14 - Text now: "De fe f..."
[11:05:43] [UPDATE] πŸ”„ updateMessageCell(for: 1596) β€” full safe reload
[11:05:43] [ROWS] ===== updateMessageCell for 1596 β€” chatRows.count=52 =====
[11:05:43] [ROWS] 0: SEPARATOR
[11:05:43] [ROWS] 1: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=7 textLen=12
[11:05:43] [ROWS] 2: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:43] [ROWS] 3: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:43] [ROWS] 4: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:43] [ROWS] 5: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:43] [ROWS] 6: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:43] [ROWS] 7: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 8: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 9: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 10: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:43] [ROWS] 11: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:43] [ROWS] 12: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:43] [ROWS] 13: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:43] [ROWS] 14: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:43] [ROWS] 15: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 16: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:43] [ROWS] 17: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 18: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:43] [ROWS] 19: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:43] [ROWS] 20: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 21: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 22: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:05:43] [ROWS] 23: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:43] [ROWS] 24: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:43] [ROWS] 25: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 26: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:05:43] [ROWS] 27: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:43] [ROWS] 28: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:43] [ROWS] 29: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 30: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 31: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 32: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 33: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 34: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 35: SEPARATOR
[11:05:43] [ROWS] 36: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:43] [ROWS] 37: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:43] [ROWS] 38: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:05:43] [ROWS] 39: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:43] [ROWS] 40: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:05:43] [ROWS] 41: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:05:43] [ROWS] 42: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:43] [ROWS] 43: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:43] [ROWS] 44: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:43] [ROWS] 45: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:43] [ROWS] 46: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:43] [ROWS] 47: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:43] [ROWS] 48: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 49: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:43] [ROWS] 50: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 51: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:43] [ROWS] ===== END (updateMessageCell for 1596) =====
[11:05:43] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=7, text='De fe f...'
[11:05:43] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:43] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:43] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:43] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=7, text='De fe f...'
[11:05:43] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:43] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:05:43] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:43] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:43] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [EVOLUTION] πŸ“ Event 9/14 - Text now: "De fe fe..."
[11:05:43] [UPDATE] πŸ”„ updateMessageCell(for: 1596) β€” full safe reload
[11:05:43] [ROWS] ===== updateMessageCell for 1596 β€” chatRows.count=52 =====
[11:05:43] [ROWS] 0: SEPARATOR
[11:05:43] [ROWS] 1: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=8 textLen=12
[11:05:43] [ROWS] 2: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:43] [ROWS] 3: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:43] [ROWS] 4: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:43] [ROWS] 5: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:43] [ROWS] 6: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:43] [ROWS] 7: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 8: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 9: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 10: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:43] [ROWS] 11: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:43] [ROWS] 12: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:43] [ROWS] 13: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:43] [ROWS] 14: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:43] [ROWS] 15: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 16: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:43] [ROWS] 17: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 18: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:43] [ROWS] 19: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:43] [ROWS] 20: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 21: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 22: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:05:43] [ROWS] 23: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:43] [ROWS] 24: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:43] [ROWS] 25: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 26: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:05:43] [ROWS] 27: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:43] [ROWS] 28: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:43] [ROWS] 29: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 30: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 31: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 32: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 33: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 34: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 35: SEPARATOR
[11:05:43] [ROWS] 36: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:43] [ROWS] 37: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:43] [ROWS] 38: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:05:43] [ROWS] 39: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:43] [ROWS] 40: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:05:43] [ROWS] 41: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:05:43] [ROWS] 42: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:43] [ROWS] 43: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:43] [ROWS] 44: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:43] [ROWS] 45: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:43] [ROWS] 46: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:43] [ROWS] 47: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:43] [ROWS] 48: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 49: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:43] [ROWS] 50: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 51: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:43] [ROWS] ===== END (updateMessageCell for 1596) =====
[11:05:43] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=8, text='De fe fe...'
[11:05:43] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:43] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:43] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:43] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=8, text='De fe fe...'
[11:05:43] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:43] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:05:43] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:43] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:43] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [EVOLUTION] πŸ“ Event 10/14 - Text now: "De fe fe ..."
[11:05:43] [UPDATE] πŸ”„ updateMessageCell(for: 1596) β€” full safe reload
[11:05:43] [ROWS] ===== updateMessageCell for 1596 β€” chatRows.count=52 =====
[11:05:43] [ROWS] 0: SEPARATOR
[11:05:43] [ROWS] 1: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=9 textLen=12
[11:05:43] [ROWS] 2: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:43] [ROWS] 3: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:43] [ROWS] 4: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:43] [ROWS] 5: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:43] [ROWS] 6: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:43] [ROWS] 7: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 8: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 9: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 10: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:43] [ROWS] 11: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:43] [ROWS] 12: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:43] [ROWS] 13: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:43] [ROWS] 14: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:43] [ROWS] 15: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 16: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:43] [ROWS] 17: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 18: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:43] [ROWS] 19: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:43] [ROWS] 20: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 21: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 22: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:05:43] [ROWS] 23: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:43] [ROWS] 24: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:43] [ROWS] 25: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 26: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:05:43] [ROWS] 27: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:43] [ROWS] 28: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:43] [ROWS] 29: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 30: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 31: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 32: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 33: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 34: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 35: SEPARATOR
[11:05:43] [ROWS] 36: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:43] [ROWS] 37: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:43] [ROWS] 38: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:05:43] [ROWS] 39: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:43] [ROWS] 40: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:05:43] [ROWS] 41: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:05:43] [ROWS] 42: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:43] [ROWS] 43: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:43] [ROWS] 44: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:43] [ROWS] 45: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:43] [ROWS] 46: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:43] [ROWS] 47: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:43] [ROWS] 48: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 49: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:43] [ROWS] 50: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 51: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:43] [ROWS] ===== END (updateMessageCell for 1596) =====
[11:05:43] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=9, text='De fe fe ...'
[11:05:43] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:43] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:43] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:43] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=9, text='De fe fe ...'
[11:05:43] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:43] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:05:43] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:43] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:43] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [EVOLUTION] πŸ“ Event 11/14 - Text now: "De fe fe e..."
[11:05:43] [UPDATE] πŸ”„ updateMessageCell(for: 1596) β€” full safe reload
[11:05:43] [ROWS] ===== updateMessageCell for 1596 β€” chatRows.count=52 =====
[11:05:43] [ROWS] 0: SEPARATOR
[11:05:43] [ROWS] 1: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=10 textLen=12
[11:05:43] [ROWS] 2: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:43] [ROWS] 3: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:43] [ROWS] 4: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:43] [ROWS] 5: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:43] [ROWS] 6: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:43] [ROWS] 7: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 8: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 9: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 10: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:43] [ROWS] 11: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:43] [ROWS] 12: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:43] [ROWS] 13: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:43] [ROWS] 14: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:43] [ROWS] 15: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 16: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:43] [ROWS] 17: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 18: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:43] [ROWS] 19: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:43] [ROWS] 20: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 21: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 22: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:05:43] [ROWS] 23: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:43] [ROWS] 24: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:43] [ROWS] 25: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 26: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:05:43] [ROWS] 27: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:43] [ROWS] 28: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:43] [ROWS] 29: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 30: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 31: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 32: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 33: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 34: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 35: SEPARATOR
[11:05:43] [ROWS] 36: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:43] [ROWS] 37: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:43] [ROWS] 38: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:05:43] [ROWS] 39: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:43] [ROWS] 40: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:05:43] [ROWS] 41: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:05:43] [ROWS] 42: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:43] [ROWS] 43: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:43] [ROWS] 44: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:43] [ROWS] 45: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:43] [ROWS] 46: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:43] [ROWS] 47: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:43] [ROWS] 48: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 49: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:43] [ROWS] 50: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 51: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:43] [ROWS] ===== END (updateMessageCell for 1596) =====
[11:05:43] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=10, text='De fe fe e...'
[11:05:43] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:43] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:43] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:43] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=10, text='De fe fe e...'
[11:05:43] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:43] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:05:43] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:43] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:43] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [EVOLUTION] πŸ“ Event 12/14 - Text now: "De fe fe e ..."
[11:05:43] [UPDATE] πŸ”„ updateMessageCell(for: 1596) β€” full safe reload
[11:05:43] [ROWS] ===== updateMessageCell for 1596 β€” chatRows.count=52 =====
[11:05:43] [ROWS] 0: SEPARATOR
[11:05:43] [ROWS] 1: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=11 textLen=12
[11:05:43] [ROWS] 2: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:43] [ROWS] 3: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:43] [ROWS] 4: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:43] [ROWS] 5: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:43] [ROWS] 6: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:43] [ROWS] 7: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 8: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 9: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 10: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:43] [ROWS] 11: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:43] [ROWS] 12: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:43] [ROWS] 13: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:43] [ROWS] 14: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:43] [ROWS] 15: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 16: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:43] [ROWS] 17: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 18: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:43] [ROWS] 19: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:43] [ROWS] 20: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 21: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 22: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:05:43] [ROWS] 23: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:43] [ROWS] 24: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:43] [ROWS] 25: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 26: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:05:43] [ROWS] 27: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:43] [ROWS] 28: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:43] [ROWS] 29: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 30: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 31: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 32: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 33: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 34: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 35: SEPARATOR
[11:05:43] [ROWS] 36: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:43] [ROWS] 37: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:43] [ROWS] 38: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:05:43] [ROWS] 39: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:43] [ROWS] 40: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:05:43] [ROWS] 41: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:05:43] [ROWS] 42: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:43] [ROWS] 43: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:43] [ROWS] 44: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:43] [ROWS] 45: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:43] [ROWS] 46: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:43] [ROWS] 47: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:43] [ROWS] 48: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 49: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:43] [ROWS] 50: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 51: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:43] [ROWS] ===== END (updateMessageCell for 1596) =====
[11:05:43] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=11, text='De fe fe e ...'
[11:05:43] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:43] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:43] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:43] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=11, text='De fe fe e ...'
[11:05:43] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:43] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:05:43] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:43] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:43] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [EVOLUTION] πŸ“ Event 13/14 - Text now: "De fe fe e f..."
[11:05:43] [UPDATE] πŸ”„ updateMessageCell(for: 1596) β€” full safe reload
[11:05:43] [ROWS] ===== updateMessageCell for 1596 β€” chatRows.count=52 =====
[11:05:43] [ROWS] 0: SEPARATOR
[11:05:43] [ROWS] 1: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=12 textLen=12
[11:05:43] [ROWS] 2: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:43] [ROWS] 3: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:43] [ROWS] 4: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:43] [ROWS] 5: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:43] [ROWS] 6: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:43] [ROWS] 7: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 8: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 9: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 10: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:43] [ROWS] 11: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:43] [ROWS] 12: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:43] [ROWS] 13: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:43] [ROWS] 14: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:43] [ROWS] 15: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 16: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:43] [ROWS] 17: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 18: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:43] [ROWS] 19: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:43] [ROWS] 20: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 21: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 22: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:05:43] [ROWS] 23: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:43] [ROWS] 24: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:43] [ROWS] 25: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 26: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:05:43] [ROWS] 27: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:43] [ROWS] 28: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:43] [ROWS] 29: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 30: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 31: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 32: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 33: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 34: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 35: SEPARATOR
[11:05:43] [ROWS] 36: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:43] [ROWS] 37: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:43] [ROWS] 38: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:05:43] [ROWS] 39: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:43] [ROWS] 40: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:05:43] [ROWS] 41: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:05:43] [ROWS] 42: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:43] [ROWS] 43: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:43] [ROWS] 44: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:43] [ROWS] 45: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:43] [ROWS] 46: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:43] [ROWS] 47: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:43] [ROWS] 48: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 49: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:43] [ROWS] 50: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 51: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:43] [ROWS] ===== END (updateMessageCell for 1596) =====
[11:05:43] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=12, text='De fe fe e f...'
[11:05:43] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:43] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:43] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:43] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=true, textLength=12, text='De fe fe e f...'
[11:05:43] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:43] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:05:43] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:43] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:43] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [EVOLUTION] βœ… Finished playback for message 1596
[11:05:43] [UPDATE] πŸ”„ updateMessageCell(for: 1596) β€” full safe reload
[11:05:43] [ROWS] ===== updateMessageCell for 1596 β€” chatRows.count=52 =====
[11:05:43] [ROWS] 0: SEPARATOR
[11:05:43] [ROWS] 1: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=12 textLen=12
[11:05:43] [ROWS] 2: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:43] [ROWS] 3: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:43] [ROWS] 4: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:43] [ROWS] 5: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:43] [ROWS] 6: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:43] [ROWS] 7: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 8: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 9: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 10: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:43] [ROWS] 11: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:43] [ROWS] 12: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:43] [ROWS] 13: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:43] [ROWS] 14: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:43] [ROWS] 15: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 16: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:43] [ROWS] 17: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 18: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:43] [ROWS] 19: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:43] [ROWS] 20: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 21: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 22: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:05:43] [ROWS] 23: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:43] [ROWS] 24: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:43] [ROWS] 25: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 26: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:05:43] [ROWS] 27: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:43] [ROWS] 28: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:43] [ROWS] 29: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 30: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 31: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 32: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 33: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 34: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:43] [ROWS] 35: SEPARATOR
[11:05:43] [ROWS] 36: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:43] [ROWS] 37: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:43] [ROWS] 38: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:05:43] [ROWS] 39: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:43] [ROWS] 40: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:05:43] [ROWS] 41: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:05:43] [ROWS] 42: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:43] [ROWS] 43: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:43] [ROWS] 44: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:43] [ROWS] 45: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:43] [ROWS] 46: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:43] [ROWS] 47: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:43] [ROWS] 48: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 49: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:43] [ROWS] 50: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:43] [ROWS] 51: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:43] [ROWS] ===== END (updateMessageCell for 1596) =====
[11:05:43] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=false, textLength=12, text='De fe fe e f...'
[11:05:43] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:43] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:43] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:43] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=false, textLength=12, text='De fe fe e f...'
[11:05:43] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:43] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:05:43] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:43] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:43] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:43] [EVOLUTION] βœ… All queued messages have been played
[11:05:43] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:05:43] Will get events_php
[11:05:43] [TYPING] πŸ”„ ========== POLL START ==========
[11:05:43] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:05:43] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:05:43] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:05:43] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:05:43] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:05:43] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:05:43] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:05:43] [TYPING] πŸ“₯ Found 0 typing users in response
[11:05:43] [TYPING] πŸ“₯ Updating typing users SET: []
[11:05:43] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 205
Keep-Alive: timeout=5, max=95
Date: Sun, 16 Nov 2025 10:05:43 GMT
X-Powered-By: PHP/8.4.14
Content-Type: application/json; charset=utf-8
Connection: Keep-Alive
Server: Apache/2.4.65 (Unix) PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":2,"events":[{"event_id":10617,"event_type":3,"message_id":1596,"session_id":"ILUIWU2"},{"event_id":10618,"event_type":3,"message_id":1596,"session_id":"ILUIWU2"}]}
[11:05:43] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:05:43] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:05:43] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:05:43] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:05:43] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:05:43] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:05:43] [TYPING] πŸ”„ ========== POLL END ==========
[11:05:43] Done
[11:05:45] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:05:45] Will get events_php
[11:05:45] [TYPING] πŸ”„ ========== POLL START ==========
[11:05:45] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:05:45] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:05:45] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:05:45] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:05:45] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:05:45] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:05:45] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2]
[11:05:45] [TYPING] πŸ“₯ Found 0 typing users in response
[11:05:45] [TYPING] πŸ“₯ Updating typing users SET: []
[11:05:45] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:05:45] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:05:45] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:05:45] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Keep-Alive: timeout=5, max=93
Date: Sun, 16 Nov 2025 10:05:45 GMT
X-Powered-By: PHP/8.4.14
Content-Type: application/json; charset=utf-8
Connection: Keep-Alive
Server: Apache/2.4.65 (Unix) PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:05:45] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:05:45] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:05:45] Done
[11:05:45] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:05:45] [TYPING] πŸ”„ ========== POLL END ==========
[11:05:45] Main
[11:05:46] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:05:46] [INFO_PAGE] Found 411 messages for session 'ILUIWU2'
[11:05:46] [INFO_PAGE] Total messages in database: 1177
[11:05:47] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:05:47] Will get events_php
[11:05:47] [TYPING] πŸ”„ ========== POLL START ==========
[11:05:47] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:05:47] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:05:47] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:05:47] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:05:47] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:05:47] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[{"senderId":"E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE","senderName":"LoloTest"}]}
[11:05:47] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSSingleObjectArrayI 0x1069ae110>(
{
    senderId = "E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE";
    senderName = LoloTest;
}
)
, "sessionId": ILUIWU2, "status": ok]
[11:05:47] [TYPING] πŸ“₯ Found 1 typing users in response
[11:05:47] [TYPING] πŸ“₯ Processing user [1/1]: ["senderName": LoloTest, "senderId": E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE]
[11:05:47] [EVT] get_events.php HTTP 200
── Response Headers ──
X-Powered-By: PHP/8.4.14
Content-Type: application/json; charset=utf-8
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:05:47 GMT
Connection: Keep-Alive
Content-Length: 56
Keep-Alive: timeout=5, max=91
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:05:47] [TYPING] πŸ“₯   senderId: 'E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE' (length: 36)
[11:05:47] [TYPING] πŸ“₯   senderName: 'LoloTest'
[11:05:47] Done
[11:05:47] [TYPING] πŸ“₯   myUserId: '3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF' (length: 36)
[11:05:47] [TYPING] πŸ“₯   Are they equal? false
[11:05:47] [TYPING] πŸ“₯ βœ… ADDED E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE (LoloTest) to currentTypingUsers
[11:05:47] [TYPING] πŸ“₯ Updating typing users SET: [Eye.TypingUser(userId: "E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE", displayName: "LoloTest")]
[11:05:47] [TYPING] πŸ“₯ About to set self.typingUsers from [] to [Eye.TypingUser(userId: "E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE", displayName: "LoloTest")]
[11:05:47] [TYPING] πŸ“₯ After update, self.typingUsers = [Eye.TypingUser(userId: "E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE", displayName: "LoloTest")]
[11:05:47] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=1, typingUsers=[Eye.TypingUser(userId: "E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE", displayName: "LoloTest")]
[11:05:47] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:05:47] [TYPING] πŸ”” ========== SHOWING TYPING INDICATOR ==========
[11:05:47] [TYPING] πŸ”” Text: "LoloTest is typing..."
[11:05:47] [TYPING] πŸ”” Frame: (16.0, 842.0, 408.0, 20.0)
[11:05:47] [TYPING] πŸ”” Bounds: (0.0, 0.0, 408.0, 20.0)
[11:05:47] [TYPING] πŸ”” isHidden: false
[11:05:47] [TYPING] πŸ”” alpha: 1.0
[11:05:47] [TYPING] πŸ”” backgroundColor: Optional(UIExtendedSRGBColorSpace 0.2 0.5 0.9 0.8)
[11:05:47] [TYPING] πŸ”” textColor: Optional(UIExtendedGrayColorSpace 1 1)
[11:05:47] [TYPING] πŸ”” font: Optional(<UICTFont: 0x106bd4500> font-family: ".SFUI-Medium"; font-weight: normal; font-style: normal; font-size: 13.00pt)
[11:05:47] [TYPING] πŸ”” superview: YES
[11:05:47] [TYPING] πŸ”” superview.frame: (0.0, 0.0, 440.0, 956.0)
[11:05:47] [TYPING] πŸ”” superview.bounds: (0.0, 0.0, 440.0, 956.0)
[11:05:47] [TYPING] πŸ”” inputBar.frame: (0.0, 870.0, 440.0, 52.0)
[11:05:47] [TYPING] πŸ”” Number of subviews in view: 16
[11:05:47] [TYPING] πŸ”” ========================================
[11:05:47] [TYPING] πŸ“₯ βœ… POLL RESULT: 1 users typing
[11:05:47] [TYPING] πŸ”„ ========== POLL END ==========
[11:05:47] Main
[11:05:49] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:05:49] Will get events_php
[11:05:49] [TYPING] πŸ”„ ========== POLL START ==========
[11:05:49] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:05:49] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:05:49] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:05:49] [TYPING] πŸ”„ Current typingUsers.count: 1
[11:05:49] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:05:49] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:05:49] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:05:49] [TYPING] πŸ“₯ Found 0 typing users in response
[11:05:49] [TYPING] πŸ“₯ Updating typing users SET: []
[11:05:49] [TYPING] πŸ“₯ About to set self.typingUsers from [Eye.TypingUser(userId: "E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE", displayName: "LoloTest")] to []
[11:05:49] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:05:49] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:05:49] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:05:49] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:05:49] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:05:49] [TYPING] πŸ”„ ========== POLL END ==========
[11:05:49] [EVT] get_events.php HTTP 200
── Response Headers ──
Server: Apache/2.4.65 (Unix) PHP/8.4.14
X-Powered-By: PHP/8.4.14
Date: Sun, 16 Nov 2025 10:05:49 GMT
Connection: Keep-Alive
Keep-Alive: timeout=5, max=90
Content-Type: application/json; charset=utf-8
Content-Length: 56
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:05:49] Done
[11:05:49] Main
[11:05:49] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_id"): 1597, AnyHashable("session_id"): ILUIWU2, AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("operation_type"): 0]
[11:05:49] [PUSH] Parsed message_id: 1597
[11:05:49] [PUSH] Parsed operation_type: 0
[11:05:49] [PUSH] Taking direct action: opType=0, messageId=1597
[11:05:49] [PUSH] TakeActionFromPush called: OperationType=0, MessageIds=1597
[11:05:49] [PUSH] Handling message fetch for opType=0, messageId=1597
[11:05:49] [PUSH] Requesting URL: http://crivello.dyndns.org:81/WebRTC/chat/chat_get_messages.php?session_id=ILUIWU2&viewer=1&messages=1597
[11:05:51] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_id"): 1597, AnyHashable("session_id"): ILUIWU2, AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("operation_type"): 3]
[11:05:51] [PUSH] Parsed message_id: 1597
[11:05:51] [PUSH] Parsed operation_type: 3
[11:05:51] [PUSH] Taking direct action: opType=3, messageId=1597
[11:05:51] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=1597
[11:05:51] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:05:51] [INFO_PAGE] Found 411 messages for session 'ILUIWU2'
[11:05:51] [INFO_PAGE] Total messages in database: 1177
[11:05:51] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:05:51] Will get events_php
[11:05:51] [TYPING] πŸ”„ ========== POLL START ==========
[11:05:51] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:05:51] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:05:51] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:05:51] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:05:51] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:05:51] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:05:51] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:05:51] [TYPING] πŸ“₯ Found 0 typing users in response
[11:05:51] [TYPING] πŸ“₯ Updating typing users SET: []
[11:05:51] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:05:51] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:05:51] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:05:51] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:05:51] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:05:51] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:05:51] [TYPING] πŸ”„ ========== POLL END ==========
[11:05:52] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_id"): 1597, AnyHashable("session_id"): ILUIWU2, AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("operation_type"): 3]
[11:05:52] [PUSH] Parsed message_id: 1597
[11:05:52] [PUSH] Parsed operation_type: 3
[11:05:52] [PUSH] Taking direct action: opType=3, messageId=1597
[11:05:52] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=1597
[11:05:53] [PUSH] get_message response: HTTP 200, 469 bytes
[11:05:53] [PUSH] get_message response body: [{"message_type":0,"message_id":1597,"session_id":"ILUIWU2","message":"Nouveau","file_name":"","msgread":0,"datesent":"2025-11-16 10:05:49","timer":0,"timer_started_at":null,"sender_id":"E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE","sender_name":"LoloTest","distance":null,"link_url":null,"link_title":null,"link_description":null,"link_image_url":null,"reply_to_id":null,"replied_message":null,"replied_sender_id":null,"replied_sender_name":null,"ViewerMode":0,"read_by":[]}]
[11:05:53] [EVOLUTION] 🎬 Preparing message 1597 for evolution playback (starting from empty)
[11:05:53] [PUSH] Added new message 1597 to chatMessages with readBy: 0 readers
[11:05:53] [PUSH] Added new message 1597 to allMessagesWithReadBy with readBy: 0 readers
[11:05:53] [ANIMATION] πŸ“Œ PUSH: Added message 1597 to newlyAddedMessageIds (willPlayEvolution=true)
[11:05:53] [PUSH_DEBUG] After inserting message 1597, existing messages readBy status:
[11:05:53] [PUSH_DEBUG]   msg[0] id=1597, readBy.count=0
[11:05:53] [PUSH_DEBUG]   msg[1] id=1596, readBy.count=1
[11:05:53] [PUSH_DEBUG]   msg[2] id=1595, readBy.count=1
[11:05:53] [PUSH_DEBUG]   msg[3] id=1594, readBy.count=1
[11:05:53] [PUSH_DEBUG]   msg[4] id=1593, readBy.count=1
[11:05:53] [EVOLUTION] 🎬 Will trigger auto-play for new message 1597 (from push) after table reload
[11:05:53] ReloadData 4 - using reloadMessagesForCurrentTab for animation
[11:05:53] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=false, textLength=12, text='De fe fe e f...'
[11:05:53] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:53] [HEIGHT_DEBUG] Row 2 msg 1595: isPlayingEvolution=false, textLength=12, text='Fee few we w...'
[11:05:53] [HEIGHT] Row 2 msg 1595: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:53] [EVT] get_events.php HTTP 200
── Response Headers ──
Server: Apache/2.4.65 (Unix) PHP/8.4.14
X-Powered-By: PHP/8.4.14
Date: Sun, 16 Nov 2025 10:05:51 GMT
Connection: Keep-Alive
Keep-Alive: timeout=5, max=100
Content-Type: application/json; charset=utf-8
Content-Length: 205
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":2,"events":[{"event_id":10620,"event_type":3,"message_id":1597,"session_id":"ILUIWU2"},{"event_id":10621,"event_type":3,"message_id":1597,"session_id":"ILUIWU2"}]}
[11:05:53] Done
[11:05:53] [HEIGHT_DEBUG] Row 1 msg 1596: isPlayingEvolution=false, textLength=12, text='De fe fe e f...'
[11:05:53] [HEIGHT] Row 1 msg 1596: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:53] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:05:53] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:05:53] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:05:53] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (51 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:05:53] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:05:53] [EVOLUTION] πŸ“ Updated lastSeenMessageId: 1596 β†’ 1597
[11:05:53] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=53 =====
[11:05:53] [ROWS] 0: SEPARATOR
[11:05:53] [ROWS] 1: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=7
[11:05:53] [ROWS] 2: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=12 textLen=12
[11:05:53] [ROWS] 3: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:53] [ROWS] 4: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:53] [ROWS] 5: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:53] [ROWS] 6: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:53] [ROWS] 7: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:53] [ROWS] 8: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:53] [ROWS] 9: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:53] [ROWS] 10: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:53] [ROWS] 11: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:53] [ROWS] 12: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:53] [ROWS] 13: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:53] [ROWS] 14: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:53] [ROWS] 15: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:53] [ROWS] 16: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:53] [ROWS] 17: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:53] [ROWS] 18: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:53] [ROWS] 19: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:53] [ROWS] 20: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:53] [ROWS] 21: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:53] [ROWS] 22: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:53] [ROWS] 23: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:05:53] [ROWS] 24: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:53] [ROWS] 25: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:53] [ROWS] 26: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:53] [ROWS] 27: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:05:53] [ROWS] 28: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:53] [ROWS] 29: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:53] [ROWS] 30: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:53] [ROWS] 31: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:53] [ROWS] 32: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:53] [ROWS] 33: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:53] [ROWS] 34: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:53] [ROWS] 35: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:53] [ROWS] 36: SEPARATOR
[11:05:53] [ROWS] 37: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:53] [ROWS] 38: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:53] [ROWS] 39: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:05:53] [ROWS] 40: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:53] [ROWS] 41: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:05:53] [ROWS] 42: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:05:53] [ROWS] 43: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:53] [ROWS] 44: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:53] [ROWS] 45: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:53] [ROWS] 46: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:53] [ROWS] 47: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:53] [ROWS] 48: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:53] [ROWS] 49: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:53] [ROWS] 50: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:53] [ROWS] 51: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:53] [ROWS] 52: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:53] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:05:53] [TAB_FILTER] πŸ“Š Reloading table with 53 rows
[11:05:53] [HEIGHT_DEBUG] Row 1 msg 1597: isPlayingEvolution=true, textLength=0, text='...'
[11:05:53] [HEIGHT] Row 1 msg 1597: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:53] [HEIGHT_DEBUG] Row 2 msg 1596: isPlayingEvolution=false, textLength=12, text='De fe fe e f...'
[11:05:53] [HEIGHT] Row 2 msg 1596: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:53] [HEIGHT_DEBUG] Row 1 msg 1597: isPlayingEvolution=true, textLength=0, text='...'
[11:05:53] [HEIGHT] Row 1 msg 1597: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:53] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:05:53] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:05:53] [HEIGHT_DEBUG] Row 2 msg 1596: isPlayingEvolution=false, textLength=12, text='De fe fe e f...'
[11:05:53] [HEIGHT] Row 2 msg 1596: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:53] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:05:53] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:05:53] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:05:53] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [EVOLUTION] 🎬 Starting auto-play for message 1597 after table reload + render delay
[11:05:53] [EVOLUTION] πŸ“‘ Fetching evolution data for message 1597
[11:05:53] [EVOLUTION] πŸ” Raw response (439 bytes): {"ok":true,"has_evolution":true,"message_id":1597,"evolution":{"events":[{"p":0,"op":"i","t":0,"c":"N"},{"op":"i","p":1,"t":234,"c":"o"},{"op":"i","t":294,"p":2,"c":"u"},{"op":"i","p":3,"c":"v","t":52
[11:05:53] [EVOLUTION] πŸ” Parsed JSON keys: ["created_at", "evolution", "has_evolution", "message_id", "ok"]
[11:05:53] [EVOLUTION] πŸ” has_evolution: 1
[11:05:53] [EVOLUTION] βœ… Got 10 events for message 1597
[11:05:53] [OVERLAP_FIX] πŸš€ Starting evolution - forcing initial height recalculation
[11:05:53] [UPDATE] πŸ”„ updateMessageCell(for: 1597) β€” full safe reload
[11:05:53] [ROWS] ===== updateMessageCell for 1597 β€” chatRows.count=53 =====
[11:05:53] [ROWS] 0: SEPARATOR
[11:05:53] [ROWS] 1: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=7
[11:05:53] [ROWS] 2: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=12 textLen=12
[11:05:53] [ROWS] 3: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:53] [ROWS] 4: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:53] [ROWS] 5: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:53] [ROWS] 6: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:53] [ROWS] 7: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:53] [ROWS] 8: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:53] [ROWS] 9: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:53] [ROWS] 10: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:53] [ROWS] 11: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:53] [ROWS] 12: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:53] [ROWS] 13: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:53] [ROWS] 14: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:53] [ROWS] 15: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:53] [ROWS] 16: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:53] [ROWS] 17: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:53] [ROWS] 18: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:53] [ROWS] 19: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:53] [ROWS] 20: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:53] [ROWS] 21: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:53] [ROWS] 22: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:53] [ROWS] 23: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:05:53] [ROWS] 24: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:53] [ROWS] 25: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:53] [ROWS] 26: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:53] [ROWS] 27: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:05:53] [ROWS] 28: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:53] [ROWS] 29: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:53] [ROWS] 30: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:53] [ROWS] 31: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:53] [ROWS] 32: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:53] [ROWS] 33: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:53] [ROWS] 34: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:53] [ROWS] 35: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:53] [ROWS] 36: SEPARATOR
[11:05:53] [ROWS] 37: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:53] [ROWS] 38: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:53] [ROWS] 39: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:05:53] [ROWS] 40: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:53] [ROWS] 41: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:05:53] [ROWS] 42: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:05:53] [ROWS] 43: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:53] [ROWS] 44: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:53] [ROWS] 45: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:53] [ROWS] 46: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:53] [ROWS] 47: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:53] [ROWS] 48: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:53] [ROWS] 49: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:53] [ROWS] 50: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:53] [ROWS] 51: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:53] [ROWS] 52: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:53] [ROWS] ===== END (updateMessageCell for 1597) =====
[11:05:53] [HEIGHT_DEBUG] Row 1 msg 1597: isPlayingEvolution=true, textLength=0, text='...'
[11:05:53] [HEIGHT] Row 1 msg 1597: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:53] [HEIGHT_DEBUG] Row 2 msg 1596: isPlayingEvolution=false, textLength=12, text='De fe fe e f...'
[11:05:53] [HEIGHT] Row 2 msg 1596: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:53] [HEIGHT_DEBUG] Row 1 msg 1597: isPlayingEvolution=true, textLength=0, text='...'
[11:05:53] [HEIGHT] Row 1 msg 1597: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:53] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:05:53] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:05:53] [HEIGHT_DEBUG] Row 2 msg 1596: isPlayingEvolution=false, textLength=12, text='De fe fe e f...'
[11:05:53] [HEIGHT] Row 2 msg 1596: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:53] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [EVOLUTION] ▢️ Starting inline playback for message 1597 with 10 events
[11:05:53] [EVOLUTION] πŸ“ Event 0/10 - Text now: "N..."
[11:05:53] [UPDATE] πŸ”„ updateMessageCell(for: 1597) β€” full safe reload
[11:05:53] [ROWS] ===== updateMessageCell for 1597 β€” chatRows.count=53 =====
[11:05:53] [ROWS] 0: SEPARATOR
[11:05:53] [ROWS] 1: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=1 textLen=7
[11:05:53] [ROWS] 2: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=12 textLen=12
[11:05:53] [ROWS] 3: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:53] [ROWS] 4: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:53] [ROWS] 5: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:53] [ROWS] 6: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:53] [ROWS] 7: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:53] [ROWS] 8: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:53] [ROWS] 9: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:53] [ROWS] 10: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:53] [ROWS] 11: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:53] [ROWS] 12: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:53] [ROWS] 13: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:53] [ROWS] 14: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:53] [ROWS] 15: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:53] [ROWS] 16: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:53] [ROWS] 17: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:53] [ROWS] 18: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:53] [ROWS] 19: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:53] [ROWS] 20: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:53] [ROWS] 21: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:53] [ROWS] 22: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:53] [ROWS] 23: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:05:53] [ROWS] 24: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:53] [ROWS] 25: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:53] [ROWS] 26: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:53] [ROWS] 27: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:05:53] [ROWS] 28: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:53] [ROWS] 29: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:53] [ROWS] 30: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:53] [ROWS] 31: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:53] [ROWS] 32: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:53] [ROWS] 33: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:53] [ROWS] 34: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:53] [ROWS] 35: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:53] [ROWS] 36: SEPARATOR
[11:05:53] [ROWS] 37: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:53] [ROWS] 38: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:53] [ROWS] 39: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:05:53] [ROWS] 40: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:53] [ROWS] 41: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:05:53] [ROWS] 42: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:05:53] [ROWS] 43: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:53] [ROWS] 44: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:53] [ROWS] 45: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:53] [ROWS] 46: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:53] [ROWS] 47: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:53] [ROWS] 48: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:53] [ROWS] 49: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:53] [ROWS] 50: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:53] [ROWS] 51: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:53] [ROWS] 52: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:53] [ROWS] ===== END (updateMessageCell for 1597) =====
[11:05:53] [HEIGHT_DEBUG] Row 1 msg 1597: isPlayingEvolution=true, textLength=1, text='N...'
[11:05:53] [HEIGHT] Row 1 msg 1597: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:53] [HEIGHT_DEBUG] Row 2 msg 1596: isPlayingEvolution=false, textLength=12, text='De fe fe e f...'
[11:05:53] [HEIGHT] Row 2 msg 1596: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:53] [HEIGHT_DEBUG] Row 1 msg 1597: isPlayingEvolution=true, textLength=1, text='N...'
[11:05:53] [HEIGHT] Row 1 msg 1597: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:53] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:05:53] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [HEIGHT_DEBUG] Row 2 msg 1596: isPlayingEvolution=false, textLength=12, text='De fe fe e f...'
[11:05:53] [HEIGHT] Row 2 msg 1596: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:53] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_id"): 1597, AnyHashable("session_id"): ILUIWU2, AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("operation_type"): 3]
[11:05:53] [PUSH] Parsed message_id: 1597
[11:05:53] [PUSH] Parsed operation_type: 3
[11:05:53] [PUSH] Taking direct action: opType=3, messageId=1597
[11:05:53] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=1597
[11:05:53] [EVOLUTION] πŸ“ Event 1/10 - Text now: "No..."
[11:05:53] [UPDATE] πŸ”„ updateMessageCell(for: 1597) β€” full safe reload
[11:05:53] [ROWS] ===== updateMessageCell for 1597 β€” chatRows.count=53 =====
[11:05:53] [ROWS] 0: SEPARATOR
[11:05:53] [ROWS] 1: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=2 textLen=7
[11:05:53] [ROWS] 2: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=12 textLen=12
[11:05:53] [ROWS] 3: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:53] [ROWS] 4: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:53] [ROWS] 5: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:53] [ROWS] 6: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:53] [ROWS] 7: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:53] [ROWS] 8: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:53] [ROWS] 9: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:53] [ROWS] 10: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:53] [ROWS] 11: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:53] [ROWS] 12: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:53] [ROWS] 13: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:53] [ROWS] 14: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:53] [ROWS] 15: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:53] [ROWS] 16: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:53] [ROWS] 17: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:53] [ROWS] 18: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:53] [ROWS] 19: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:53] [ROWS] 20: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:53] [ROWS] 21: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:53] [ROWS] 22: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:53] [ROWS] 23: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:05:53] [ROWS] 24: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:53] [ROWS] 25: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:53] [ROWS] 26: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:53] [ROWS] 27: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:05:53] [ROWS] 28: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:53] [ROWS] 29: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:53] [ROWS] 30: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:53] [ROWS] 31: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:53] [ROWS] 32: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:53] [ROWS] 33: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:53] [ROWS] 34: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:53] [ROWS] 35: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:53] [ROWS] 36: SEPARATOR
[11:05:53] [ROWS] 37: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:53] [ROWS] 38: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:53] [ROWS] 39: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:05:53] [ROWS] 40: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:53] [ROWS] 41: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:05:53] [ROWS] 42: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:05:53] [ROWS] 43: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:53] [ROWS] 44: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:53] [ROWS] 45: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:53] [ROWS] 46: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:53] [ROWS] 47: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:53] [ROWS] 48: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:53] [ROWS] 49: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:53] [ROWS] 50: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:53] [ROWS] 51: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:53] [ROWS] 52: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:53] [ROWS] ===== END (updateMessageCell for 1597) =====
[11:05:53] [HEIGHT_DEBUG] Row 1 msg 1597: isPlayingEvolution=true, textLength=2, text='No...'
[11:05:53] [HEIGHT] Row 1 msg 1597: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:53] [HEIGHT_DEBUG] Row 2 msg 1596: isPlayingEvolution=false, textLength=12, text='De fe fe e f...'
[11:05:53] [HEIGHT] Row 2 msg 1596: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:53] [HEIGHT_DEBUG] Row 1 msg 1597: isPlayingEvolution=true, textLength=2, text='No...'
[11:05:53] [HEIGHT] Row 1 msg 1597: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:53] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:05:53] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [HEIGHT_DEBUG] Row 2 msg 1596: isPlayingEvolution=false, textLength=12, text='De fe fe e f...'
[11:05:53] [HEIGHT] Row 2 msg 1596: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:53] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [EVOLUTION] πŸ“ Event 2/10 - Text now: "Nou..."
[11:05:53] [UPDATE] πŸ”„ updateMessageCell(for: 1597) β€” full safe reload
[11:05:53] [ROWS] ===== updateMessageCell for 1597 β€” chatRows.count=53 =====
[11:05:53] [ROWS] 0: SEPARATOR
[11:05:53] [ROWS] 1: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=3 textLen=7
[11:05:53] [ROWS] 2: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=12 textLen=12
[11:05:53] [ROWS] 3: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:53] [ROWS] 4: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:53] [ROWS] 5: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:53] [ROWS] 6: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:53] [ROWS] 7: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:53] [ROWS] 8: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:53] [ROWS] 9: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:53] [ROWS] 10: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:53] [ROWS] 11: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:53] [ROWS] 12: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:53] [ROWS] 13: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:53] [ROWS] 14: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:53] [ROWS] 15: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:53] [ROWS] 16: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:53] [ROWS] 17: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:53] [ROWS] 18: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:53] [ROWS] 19: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:53] [ROWS] 20: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:53] [ROWS] 21: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:53] [ROWS] 22: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:53] [ROWS] 23: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:05:53] [ROWS] 24: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:53] [ROWS] 25: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:53] [ROWS] 26: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:53] [ROWS] 27: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:05:53] [ROWS] 28: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:53] [ROWS] 29: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:53] [ROWS] 30: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:53] [ROWS] 31: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:53] [ROWS] 32: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:53] [ROWS] 33: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:53] [ROWS] 34: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:53] [ROWS] 35: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:53] [ROWS] 36: SEPARATOR
[11:05:53] [ROWS] 37: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:53] [ROWS] 38: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:53] [ROWS] 39: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:05:53] [ROWS] 40: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:53] [ROWS] 41: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:05:53] [ROWS] 42: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:05:53] [ROWS] 43: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:53] [ROWS] 44: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:53] [ROWS] 45: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:53] [ROWS] 46: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:53] [ROWS] 47: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:53] [ROWS] 48: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:53] [ROWS] 49: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:53] [ROWS] 50: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:53] [ROWS] 51: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:53] [ROWS] 52: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:53] [ROWS] ===== END (updateMessageCell for 1597) =====
[11:05:53] [HEIGHT_DEBUG] Row 1 msg 1597: isPlayingEvolution=true, textLength=3, text='Nou...'
[11:05:53] [HEIGHT] Row 1 msg 1597: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:53] [HEIGHT_DEBUG] Row 2 msg 1596: isPlayingEvolution=false, textLength=12, text='De fe fe e f...'
[11:05:53] [HEIGHT] Row 2 msg 1596: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:53] [HEIGHT_DEBUG] Row 1 msg 1597: isPlayingEvolution=true, textLength=3, text='Nou...'
[11:05:53] [HEIGHT] Row 1 msg 1597: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:53] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:05:53] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [HEIGHT_DEBUG] Row 2 msg 1596: isPlayingEvolution=false, textLength=12, text='De fe fe e f...'
[11:05:53] [HEIGHT] Row 2 msg 1596: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:53] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:05:53] Will get events_php
[11:05:53] [TYPING] πŸ”„ ========== POLL START ==========
[11:05:53] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:05:53] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:05:53] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:05:53] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:05:53] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:05:53] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:05:53] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2, "status": ok]
[11:05:53] [TYPING] πŸ“₯ Found 0 typing users in response
[11:05:53] [TYPING] πŸ“₯ Updating typing users SET: []
[11:05:53] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:05:53] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:05:53] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:05:53] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:05:53] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:05:53] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:05:53] [TYPING] πŸ”„ ========== POLL END ==========
[11:05:53] [EVT] get_events.php HTTP 200
── Response Headers ──
Server: Apache/2.4.65 (Unix) PHP/8.4.14
X-Powered-By: PHP/8.4.14
Date: Sun, 16 Nov 2025 10:05:53 GMT
Connection: Keep-Alive
Keep-Alive: timeout=5, max=88
Content-Type: application/json; charset=utf-8
Content-Length: 130
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":1,"events":[{"event_id":10622,"event_type":3,"message_id":1597,"session_id":"ILUIWU2"}]}
[11:05:53] Done
[11:05:53] [EVOLUTION] πŸ“ Event 3/10 - Text now: "Nouv..."
[11:05:53] [UPDATE] πŸ”„ updateMessageCell(for: 1597) β€” full safe reload
[11:05:53] [ROWS] ===== updateMessageCell for 1597 β€” chatRows.count=53 =====
[11:05:53] [ROWS] 0: SEPARATOR
[11:05:53] [ROWS] 1: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=4 textLen=7
[11:05:53] [ROWS] 2: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=12 textLen=12
[11:05:53] [ROWS] 3: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:53] [ROWS] 4: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:53] [ROWS] 5: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:53] [ROWS] 6: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:53] [ROWS] 7: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:53] [ROWS] 8: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:53] [ROWS] 9: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:53] [ROWS] 10: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:53] [ROWS] 11: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:53] [ROWS] 12: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:53] [ROWS] 13: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:53] [ROWS] 14: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:53] [ROWS] 15: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:53] [ROWS] 16: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:53] [ROWS] 17: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:53] [ROWS] 18: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:53] [ROWS] 19: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:53] [ROWS] 20: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:53] [ROWS] 21: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:53] [ROWS] 22: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:53] [ROWS] 23: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:05:53] [ROWS] 24: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:53] [ROWS] 25: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:53] [ROWS] 26: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:53] [ROWS] 27: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:05:53] [ROWS] 28: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:53] [ROWS] 29: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:53] [ROWS] 30: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:53] [ROWS] 31: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:53] [ROWS] 32: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:53] [ROWS] 33: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:53] [ROWS] 34: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:53] [ROWS] 35: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:53] [ROWS] 36: SEPARATOR
[11:05:53] [ROWS] 37: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:53] [ROWS] 38: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:53] [ROWS] 39: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:05:53] [ROWS] 40: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:53] [ROWS] 41: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:05:53] [ROWS] 42: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:05:53] [ROWS] 43: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:53] [ROWS] 44: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:53] [ROWS] 45: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:53] [ROWS] 46: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:53] [ROWS] 47: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:53] [ROWS] 48: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:53] [ROWS] 49: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:53] [ROWS] 50: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:53] [ROWS] 51: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:53] [ROWS] 52: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:53] [ROWS] ===== END (updateMessageCell for 1597) =====
[11:05:53] [HEIGHT_DEBUG] Row 1 msg 1597: isPlayingEvolution=true, textLength=4, text='Nouv...'
[11:05:53] [HEIGHT] Row 1 msg 1597: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:53] [HEIGHT_DEBUG] Row 2 msg 1596: isPlayingEvolution=false, textLength=12, text='De fe fe e f...'
[11:05:53] [HEIGHT] Row 2 msg 1596: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:53] [HEIGHT_DEBUG] Row 1 msg 1597: isPlayingEvolution=true, textLength=4, text='Nouv...'
[11:05:53] [HEIGHT] Row 1 msg 1597: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:53] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:05:53] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [HEIGHT_DEBUG] Row 2 msg 1596: isPlayingEvolution=false, textLength=12, text='De fe fe e f...'
[11:05:53] [HEIGHT] Row 2 msg 1596: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:53] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:53] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:54] [EVOLUTION] πŸ“ Event 4/10 - Text now: "Nouve..."
[11:05:54] [UPDATE] πŸ”„ updateMessageCell(for: 1597) β€” full safe reload
[11:05:54] [ROWS] ===== updateMessageCell for 1597 β€” chatRows.count=53 =====
[11:05:54] [ROWS] 0: SEPARATOR
[11:05:54] [ROWS] 1: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=5 textLen=7
[11:05:54] [ROWS] 2: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=12 textLen=12
[11:05:54] [ROWS] 3: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:54] [ROWS] 4: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:54] [ROWS] 5: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:54] [ROWS] 6: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:54] [ROWS] 7: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:54] [ROWS] 8: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:54] [ROWS] 9: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:54] [ROWS] 10: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:54] [ROWS] 11: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:54] [ROWS] 12: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:54] [ROWS] 13: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:54] [ROWS] 14: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:54] [ROWS] 15: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:54] [ROWS] 16: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:54] [ROWS] 17: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:54] [ROWS] 18: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:54] [ROWS] 19: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:54] [ROWS] 20: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:54] [ROWS] 21: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:54] [ROWS] 22: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:54] [ROWS] 23: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:05:54] [ROWS] 24: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:54] [ROWS] 25: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:54] [ROWS] 26: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:54] [ROWS] 27: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:05:54] [ROWS] 28: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:54] [ROWS] 29: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:54] [ROWS] 30: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:54] [ROWS] 31: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:54] [ROWS] 32: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:54] [ROWS] 33: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:54] [ROWS] 34: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:54] [ROWS] 35: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:54] [ROWS] 36: SEPARATOR
[11:05:54] [ROWS] 37: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:54] [ROWS] 38: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:54] [ROWS] 39: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:05:54] [ROWS] 40: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:54] [ROWS] 41: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:05:54] [ROWS] 42: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:05:54] [ROWS] 43: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:54] [ROWS] 44: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:54] [ROWS] 45: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:54] [ROWS] 46: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:54] [ROWS] 47: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:54] [ROWS] 48: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:54] [ROWS] 49: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:54] [ROWS] 50: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:54] [ROWS] 51: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:54] [ROWS] 52: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:54] [ROWS] ===== END (updateMessageCell for 1597) =====
[11:05:54] [HEIGHT_DEBUG] Row 1 msg 1597: isPlayingEvolution=true, textLength=5, text='Nouve...'
[11:05:54] [HEIGHT] Row 1 msg 1597: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:54] [HEIGHT_DEBUG] Row 2 msg 1596: isPlayingEvolution=false, textLength=12, text='De fe fe e f...'
[11:05:54] [HEIGHT] Row 2 msg 1596: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:54] [HEIGHT_DEBUG] Row 1 msg 1597: isPlayingEvolution=true, textLength=5, text='Nouve...'
[11:05:54] [HEIGHT] Row 1 msg 1597: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:54] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:05:54] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:05:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:54] [HEIGHT_DEBUG] Row 2 msg 1596: isPlayingEvolution=false, textLength=12, text='De fe fe e f...'
[11:05:54] [HEIGHT] Row 2 msg 1596: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:54] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:54] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:54] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:54] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:54] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:54] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:54] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:54] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:54] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:54] [EVOLUTION] πŸ“ Event 5/10 - Text now: "Nouveq..."
[11:05:54] [UPDATE] πŸ”„ updateMessageCell(for: 1597) β€” full safe reload
[11:05:54] [ROWS] ===== updateMessageCell for 1597 β€” chatRows.count=53 =====
[11:05:54] [ROWS] 0: SEPARATOR
[11:05:54] [ROWS] 1: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=6 textLen=7
[11:05:54] [ROWS] 2: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=12 textLen=12
[11:05:54] [ROWS] 3: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:54] [ROWS] 4: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:54] [ROWS] 5: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:54] [ROWS] 6: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:54] [ROWS] 7: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:54] [ROWS] 8: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:54] [ROWS] 9: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:54] [ROWS] 10: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:54] [ROWS] 11: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:54] [ROWS] 12: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:54] [ROWS] 13: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:54] [ROWS] 14: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:54] [ROWS] 15: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:54] [ROWS] 16: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:54] [ROWS] 17: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:54] [ROWS] 18: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:54] [ROWS] 19: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:54] [ROWS] 20: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:54] [ROWS] 21: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:54] [ROWS] 22: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:54] [ROWS] 23: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:05:54] [ROWS] 24: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:54] [ROWS] 25: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:54] [ROWS] 26: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:54] [ROWS] 27: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:05:54] [ROWS] 28: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:54] [ROWS] 29: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:54] [ROWS] 30: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:54] [ROWS] 31: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:54] [ROWS] 32: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:54] [ROWS] 33: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:54] [ROWS] 34: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:54] [ROWS] 35: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:54] [ROWS] 36: SEPARATOR
[11:05:54] [ROWS] 37: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:54] [ROWS] 38: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:54] [ROWS] 39: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:05:54] [ROWS] 40: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:54] [ROWS] 41: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:05:54] [ROWS] 42: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:05:54] [ROWS] 43: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:54] [ROWS] 44: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:54] [ROWS] 45: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:54] [ROWS] 46: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:54] [ROWS] 47: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:54] [ROWS] 48: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:54] [ROWS] 49: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:54] [ROWS] 50: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:54] [ROWS] 51: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:54] [ROWS] 52: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:54] [ROWS] ===== END (updateMessageCell for 1597) =====
[11:05:54] [HEIGHT_DEBUG] Row 1 msg 1597: isPlayingEvolution=true, textLength=6, text='Nouveq...'
[11:05:54] [HEIGHT] Row 1 msg 1597: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:54] [HEIGHT_DEBUG] Row 2 msg 1596: isPlayingEvolution=false, textLength=12, text='De fe fe e f...'
[11:05:54] [HEIGHT] Row 2 msg 1596: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:54] [HEIGHT_DEBUG] Row 1 msg 1597: isPlayingEvolution=true, textLength=6, text='Nouveq...'
[11:05:54] [HEIGHT] Row 1 msg 1597: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:54] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:05:54] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:05:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:54] [HEIGHT_DEBUG] Row 2 msg 1596: isPlayingEvolution=false, textLength=12, text='De fe fe e f...'
[11:05:54] [HEIGHT] Row 2 msg 1596: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:54] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:54] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:54] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:54] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:54] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:54] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:54] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:54] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:54] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:54] [EVOLUTION] πŸ“ Event 6/10 - Text now: "Nouvequ..."
[11:05:54] [UPDATE] πŸ”„ updateMessageCell(for: 1597) β€” full safe reload
[11:05:54] [ROWS] ===== updateMessageCell for 1597 β€” chatRows.count=53 =====
[11:05:54] [ROWS] 0: SEPARATOR
[11:05:54] [ROWS] 1: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=7 textLen=7
[11:05:54] [ROWS] 2: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=12 textLen=12
[11:05:54] [ROWS] 3: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:54] [ROWS] 4: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:54] [ROWS] 5: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:54] [ROWS] 6: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:54] [ROWS] 7: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:54] [ROWS] 8: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:54] [ROWS] 9: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:54] [ROWS] 10: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:54] [ROWS] 11: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:54] [ROWS] 12: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:54] [ROWS] 13: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:54] [ROWS] 14: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:54] [ROWS] 15: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:54] [ROWS] 16: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:54] [ROWS] 17: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:54] [ROWS] 18: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:54] [ROWS] 19: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:54] [ROWS] 20: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:54] [ROWS] 21: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:54] [ROWS] 22: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:54] [ROWS] 23: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:05:54] [ROWS] 24: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:54] [ROWS] 25: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:54] [ROWS] 26: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:54] [ROWS] 27: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:05:54] [ROWS] 28: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:54] [ROWS] 29: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:54] [ROWS] 30: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:54] [ROWS] 31: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:54] [ROWS] 32: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:54] [ROWS] 33: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:54] [ROWS] 34: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:54] [ROWS] 35: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:54] [ROWS] 36: SEPARATOR
[11:05:54] [ROWS] 37: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:54] [ROWS] 38: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:54] [ROWS] 39: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:05:54] [ROWS] 40: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:54] [ROWS] 41: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:05:54] [ROWS] 42: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:05:54] [ROWS] 43: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:54] [ROWS] 44: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:54] [ROWS] 45: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:54] [ROWS] 46: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:54] [ROWS] 47: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:54] [ROWS] 48: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:54] [ROWS] 49: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:54] [ROWS] 50: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:54] [ROWS] 51: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:54] [ROWS] 52: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:54] [ROWS] ===== END (updateMessageCell for 1597) =====
[11:05:54] [HEIGHT_DEBUG] Row 1 msg 1597: isPlayingEvolution=true, textLength=7, text='Nouvequ...'
[11:05:54] [HEIGHT] Row 1 msg 1597: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:54] [HEIGHT_DEBUG] Row 2 msg 1596: isPlayingEvolution=false, textLength=12, text='De fe fe e f...'
[11:05:54] [HEIGHT] Row 2 msg 1596: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:54] [HEIGHT_DEBUG] Row 1 msg 1597: isPlayingEvolution=true, textLength=7, text='Nouvequ...'
[11:05:54] [HEIGHT] Row 1 msg 1597: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:54] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:05:54] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:05:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:54] [HEIGHT_DEBUG] Row 2 msg 1596: isPlayingEvolution=false, textLength=12, text='De fe fe e f...'
[11:05:54] [HEIGHT] Row 2 msg 1596: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:54] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:54] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:54] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:54] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:54] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:54] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:54] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:54] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:54] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:55] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:05:55] Will get events_php
[11:05:55] [TYPING] πŸ”„ ========== POLL START ==========
[11:05:55] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:05:55] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:05:55] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:05:55] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:05:55] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:05:55] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:05:55] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2, "status": ok]
[11:05:55] [TYPING] πŸ“₯ Found 0 typing users in response
[11:05:55] [TYPING] πŸ“₯ Updating typing users SET: []
[11:05:55] [EVT] get_events.php HTTP 200
── Response Headers ──
Server: Apache/2.4.65 (Unix) PHP/8.4.14
X-Powered-By: PHP/8.4.14
Date: Sun, 16 Nov 2025 10:05:55 GMT
Connection: Keep-Alive
Keep-Alive: timeout=5, max=86
Content-Type: application/json; charset=utf-8
Content-Length: 56
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:05:55] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:05:55] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:05:55] Done
[11:05:55] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:05:55] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:05:55] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:05:55] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:05:55] [TYPING] πŸ”„ ========== POLL END ==========
[11:05:55] Main
[11:05:56] [EVOLUTION] πŸ“ Event 7/10 - Text now: "Nouveu..."
[11:05:56] [UPDATE] πŸ”„ updateMessageCell(for: 1597) β€” full safe reload
[11:05:56] [ROWS] ===== updateMessageCell for 1597 β€” chatRows.count=53 =====
[11:05:56] [ROWS] 0: SEPARATOR
[11:05:56] [ROWS] 1: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=6 textLen=7
[11:05:56] [ROWS] 2: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=12 textLen=12
[11:05:56] [ROWS] 3: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:56] [ROWS] 4: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:56] [ROWS] 5: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:56] [ROWS] 6: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:56] [ROWS] 7: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:56] [ROWS] 8: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:56] [ROWS] 9: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:56] [ROWS] 10: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:56] [ROWS] 11: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:56] [ROWS] 12: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:56] [ROWS] 13: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:56] [ROWS] 14: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:56] [ROWS] 15: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:56] [ROWS] 16: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:56] [ROWS] 17: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:56] [ROWS] 18: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:56] [ROWS] 19: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:56] [ROWS] 20: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:56] [ROWS] 21: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:56] [ROWS] 22: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:56] [ROWS] 23: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:05:56] [ROWS] 24: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:56] [ROWS] 25: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:56] [ROWS] 26: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:56] [ROWS] 27: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:05:56] [ROWS] 28: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:56] [ROWS] 29: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:56] [ROWS] 30: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:56] [ROWS] 31: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:56] [ROWS] 32: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:56] [ROWS] 33: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:56] [ROWS] 34: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:56] [ROWS] 35: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:56] [ROWS] 36: SEPARATOR
[11:05:56] [ROWS] 37: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:56] [ROWS] 38: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:56] [ROWS] 39: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:05:56] [ROWS] 40: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:56] [ROWS] 41: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:05:56] [ROWS] 42: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:05:56] [ROWS] 43: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:56] [ROWS] 44: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:56] [ROWS] 45: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:56] [ROWS] 46: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:56] [ROWS] 47: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:56] [ROWS] 48: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:56] [ROWS] 49: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:56] [ROWS] 50: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:56] [ROWS] 51: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:56] [ROWS] 52: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:56] [ROWS] ===== END (updateMessageCell for 1597) =====
[11:05:56] [HEIGHT_DEBUG] Row 1 msg 1597: isPlayingEvolution=true, textLength=6, text='Nouveu...'
[11:05:56] [HEIGHT] Row 1 msg 1597: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:56] [HEIGHT_DEBUG] Row 2 msg 1596: isPlayingEvolution=false, textLength=12, text='De fe fe e f...'
[11:05:56] [HEIGHT] Row 2 msg 1596: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:56] [HEIGHT_DEBUG] Row 1 msg 1597: isPlayingEvolution=true, textLength=6, text='Nouveu...'
[11:05:56] [HEIGHT] Row 1 msg 1597: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:56] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:05:56] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:05:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:56] [HEIGHT_DEBUG] Row 2 msg 1596: isPlayingEvolution=false, textLength=12, text='De fe fe e f...'
[11:05:56] [HEIGHT] Row 2 msg 1596: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:56] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:56] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:56] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:56] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:56] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:56] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:56] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:56] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:56] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:56] [EVOLUTION] πŸ“ Event 8/10 - Text now: "Nouveau..."
[11:05:56] [UPDATE] πŸ”„ updateMessageCell(for: 1597) β€” full safe reload
[11:05:56] [ROWS] ===== updateMessageCell for 1597 β€” chatRows.count=53 =====
[11:05:56] [ROWS] 0: SEPARATOR
[11:05:56] [ROWS] 1: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=7 textLen=7
[11:05:56] [ROWS] 2: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=12 textLen=12
[11:05:56] [ROWS] 3: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:56] [ROWS] 4: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:56] [ROWS] 5: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:56] [ROWS] 6: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:56] [ROWS] 7: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:56] [ROWS] 8: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:56] [ROWS] 9: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:56] [ROWS] 10: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:56] [ROWS] 11: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:56] [ROWS] 12: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:56] [ROWS] 13: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:56] [ROWS] 14: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:56] [ROWS] 15: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:56] [ROWS] 16: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:56] [ROWS] 17: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:56] [ROWS] 18: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:56] [ROWS] 19: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:56] [ROWS] 20: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:56] [ROWS] 21: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:56] [ROWS] 22: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:56] [ROWS] 23: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:05:56] [ROWS] 24: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:56] [ROWS] 25: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:56] [ROWS] 26: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:56] [ROWS] 27: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:05:56] [ROWS] 28: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:56] [ROWS] 29: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:56] [ROWS] 30: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:56] [ROWS] 31: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:56] [ROWS] 32: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:56] [ROWS] 33: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:56] [ROWS] 34: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:56] [ROWS] 35: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:56] [ROWS] 36: SEPARATOR
[11:05:56] [ROWS] 37: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:56] [ROWS] 38: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:56] [ROWS] 39: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:05:56] [ROWS] 40: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:56] [ROWS] 41: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:05:56] [ROWS] 42: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:05:56] [ROWS] 43: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:56] [ROWS] 44: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:56] [ROWS] 45: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:56] [ROWS] 46: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:56] [ROWS] 47: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:56] [ROWS] 48: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:56] [ROWS] 49: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:56] [ROWS] 50: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:56] [ROWS] 51: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:56] [ROWS] 52: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:56] [ROWS] ===== END (updateMessageCell for 1597) =====
[11:05:56] [HEIGHT_DEBUG] Row 1 msg 1597: isPlayingEvolution=true, textLength=7, text='Nouveau...'
[11:05:56] [HEIGHT] Row 1 msg 1597: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:56] [HEIGHT_DEBUG] Row 2 msg 1596: isPlayingEvolution=false, textLength=12, text='De fe fe e f...'
[11:05:56] [HEIGHT] Row 2 msg 1596: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:56] [HEIGHT_DEBUG] Row 1 msg 1597: isPlayingEvolution=true, textLength=7, text='Nouveau...'
[11:05:56] [HEIGHT] Row 1 msg 1597: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:56] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:05:56] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:05:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:56] [HEIGHT_DEBUG] Row 2 msg 1596: isPlayingEvolution=false, textLength=12, text='De fe fe e f...'
[11:05:56] [HEIGHT] Row 2 msg 1596: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:56] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:56] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:56] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:56] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:56] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:56] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:56] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:56] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:56] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:56] [EVOLUTION] πŸ“ Event 9/10 - Text now: "Nouveau ..."
[11:05:56] [UPDATE] πŸ”„ updateMessageCell(for: 1597) β€” full safe reload
[11:05:56] [ROWS] ===== updateMessageCell for 1597 β€” chatRows.count=53 =====
[11:05:56] [ROWS] 0: SEPARATOR
[11:05:56] [ROWS] 1: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=8 textLen=7
[11:05:56] [ROWS] 2: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=12 textLen=12
[11:05:56] [ROWS] 3: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:56] [ROWS] 4: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:56] [ROWS] 5: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:56] [ROWS] 6: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:56] [ROWS] 7: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:56] [ROWS] 8: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:56] [ROWS] 9: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:56] [ROWS] 10: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:56] [ROWS] 11: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:56] [ROWS] 12: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:56] [ROWS] 13: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:56] [ROWS] 14: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:56] [ROWS] 15: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:56] [ROWS] 16: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:56] [ROWS] 17: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:56] [ROWS] 18: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:56] [ROWS] 19: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:56] [ROWS] 20: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:56] [ROWS] 21: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:56] [ROWS] 22: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:56] [ROWS] 23: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:05:56] [ROWS] 24: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:56] [ROWS] 25: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:56] [ROWS] 26: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:56] [ROWS] 27: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:05:56] [ROWS] 28: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:56] [ROWS] 29: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:56] [ROWS] 30: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:56] [ROWS] 31: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:56] [ROWS] 32: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:56] [ROWS] 33: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:56] [ROWS] 34: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:56] [ROWS] 35: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:56] [ROWS] 36: SEPARATOR
[11:05:56] [ROWS] 37: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:56] [ROWS] 38: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:56] [ROWS] 39: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:05:56] [ROWS] 40: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:56] [ROWS] 41: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:05:56] [ROWS] 42: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:05:56] [ROWS] 43: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:56] [ROWS] 44: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:56] [ROWS] 45: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:56] [ROWS] 46: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:56] [ROWS] 47: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:56] [ROWS] 48: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:56] [ROWS] 49: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:56] [ROWS] 50: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:56] [ROWS] 51: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:56] [ROWS] 52: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:56] [ROWS] ===== END (updateMessageCell for 1597) =====
[11:05:56] [HEIGHT_DEBUG] Row 1 msg 1597: isPlayingEvolution=true, textLength=8, text='Nouveau ...'
[11:05:56] [HEIGHT] Row 1 msg 1597: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:56] [HEIGHT_DEBUG] Row 2 msg 1596: isPlayingEvolution=false, textLength=12, text='De fe fe e f...'
[11:05:56] [HEIGHT] Row 2 msg 1596: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:56] [HEIGHT_DEBUG] Row 1 msg 1597: isPlayingEvolution=true, textLength=8, text='Nouveau ...'
[11:05:56] [HEIGHT] Row 1 msg 1597: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:56] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:05:56] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:05:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:56] [HEIGHT_DEBUG] Row 2 msg 1596: isPlayingEvolution=false, textLength=12, text='De fe fe e f...'
[11:05:56] [HEIGHT] Row 2 msg 1596: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:56] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:56] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:56] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:56] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:56] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:56] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:56] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:56] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:56] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:56] [EVOLUTION] βœ… Finished playback for message 1597
[11:05:56] [UPDATE] πŸ”„ updateMessageCell(for: 1597) β€” full safe reload
[11:05:56] [ROWS] ===== updateMessageCell for 1597 β€” chatRows.count=53 =====
[11:05:56] [ROWS] 0: SEPARATOR
[11:05:56] [ROWS] 1: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=7 textLen=7
[11:05:56] [ROWS] 2: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=12 textLen=12
[11:05:56] [ROWS] 3: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:56] [ROWS] 4: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:56] [ROWS] 5: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:56] [ROWS] 6: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:56] [ROWS] 7: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:56] [ROWS] 8: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:56] [ROWS] 9: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:56] [ROWS] 10: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:56] [ROWS] 11: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:56] [ROWS] 12: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:56] [ROWS] 13: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:56] [ROWS] 14: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:56] [ROWS] 15: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:56] [ROWS] 16: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:56] [ROWS] 17: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:56] [ROWS] 18: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:56] [ROWS] 19: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:05:56] [ROWS] 20: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:05:56] [ROWS] 21: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:56] [ROWS] 22: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:56] [ROWS] 23: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:05:56] [ROWS] 24: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:56] [ROWS] 25: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:56] [ROWS] 26: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:56] [ROWS] 27: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:05:56] [ROWS] 28: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:56] [ROWS] 29: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:05:56] [ROWS] 30: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:56] [ROWS] 31: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:56] [ROWS] 32: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:56] [ROWS] 33: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:56] [ROWS] 34: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:56] [ROWS] 35: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:05:56] [ROWS] 36: SEPARATOR
[11:05:56] [ROWS] 37: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:05:56] [ROWS] 38: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:56] [ROWS] 39: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:05:56] [ROWS] 40: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:05:56] [ROWS] 41: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:05:56] [ROWS] 42: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:05:56] [ROWS] 43: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:05:56] [ROWS] 44: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:05:56] [ROWS] 45: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:56] [ROWS] 46: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:56] [ROWS] 47: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:56] [ROWS] 48: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:05:56] [ROWS] 49: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:56] [ROWS] 50: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:56] [ROWS] 51: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:05:56] [ROWS] 52: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:05:56] [ROWS] ===== END (updateMessageCell for 1597) =====
[11:05:56] [HEIGHT_DEBUG] Row 1 msg 1597: isPlayingEvolution=false, textLength=7, text='Nouveau...'
[11:05:56] [HEIGHT] Row 1 msg 1597: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:56] [HEIGHT_DEBUG] Row 2 msg 1596: isPlayingEvolution=false, textLength=12, text='De fe fe e f...'
[11:05:56] [HEIGHT] Row 2 msg 1596: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:56] [HEIGHT_DEBUG] Row 1 msg 1597: isPlayingEvolution=false, textLength=7, text='Nouveau...'
[11:05:56] [HEIGHT] Row 1 msg 1597: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:05:56] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:05:56] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:05:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:56] [HEIGHT_DEBUG] Row 2 msg 1596: isPlayingEvolution=false, textLength=12, text='De fe fe e f...'
[11:05:56] [HEIGHT] Row 2 msg 1596: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:05:56] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:56] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:56] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:56] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:56] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:56] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:56] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:56] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:56] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:05:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:05:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:05:56] [EVOLUTION] βœ… All queued messages have been played
[11:05:56] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:05:56] [INFO_PAGE] Found 412 messages for session 'ILUIWU2'
[11:05:56] [INFO_PAGE] Total messages in database: 1178
[11:05:57] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:05:57] Will get events_php
[11:05:57] [TYPING] πŸ”„ ========== POLL START ==========
[11:06:07] [CRASH] Previous session did not exit cleanly - crash detected
[11:06:07] [GIPHY] SDK not available - using REST API fallback
[11:06:07] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:06:07] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:06:07] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:06:07] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:06:07] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:06:07] [SCENE] Launched directly to chat view with sessionId: ILUIWU2
[11:06:07] [PUSH] APNs token: 6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c
[11:06:07] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:06:08] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:06:08] Documents Directory: /var/mobile/Containers/Data/Application/4A50EB51-3E53-4E37-97AB-0E89FE71A447/Documents
[11:06:08] [NOTIFICATION] πŸ”” Notification button created and added to topNavBar
[11:06:08] [NOTIFICATION] πŸ”” Button tintColor: grey (0.5, 0.5, 0.5)
[11:06:08] [NOTIFICATION] πŸ”” Button isUserInteractionEnabled: true
[11:06:08] [INFO_PAGE] InformationViewController viewDidLoad called
[11:06:08] [INFO_PAGE] Actions configured (bell button is external)
[11:06:08] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:06:08] [INFO_PAGE] Successfully opened database at /var/mobile/Containers/Data/Application/4A50EB51-3E53-4E37-97AB-0E89FE71A447/Documents/chat_local_viewer.db
[11:06:08] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:06:08] [INFO_PAGE] Found 412 messages for session 'ILUIWU2'
[11:06:08] [INFO_PAGE] Total messages in database: 1178
[11:06:08] [INFO_PAGE] InformationViewController setup complete
[11:06:08] [INFO_PAGE] ℹ️ Information page added to tab 3
[11:06:08] [THEME] Applying current theme
[11:06:08] [CHAT] Applied day theme (mode: day)
[11:06:08] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:06:08] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:06:08] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:06:08] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:06:08] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:06:08] [SUMMARY] Already showed summary today (2025-11-16)
[11:06:08] Did transition
[11:06:08] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:06:08] [VIEWER] Screen lock enabled - normal idle behavior
[11:06:08] [QUERY] πŸ” Checking tab - currentTabIndex=0
[11:06:08] [QUERY] πŸ”΅ [TAB 0] No query connection needed
[11:06:08] [QUERY] βœ… [TAB 0] Initialized without query connection
[11:06:08] [LOCATION] Started location updates for distance calculation (already authorized)
[11:06:08] [TAB 0] Skipping reconnect polling - only needed for tab 1
[11:06:08] [VIEWER_INIT] Loading messages with read receipts from server
[11:06:08] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:06:08] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:06:08] [DB]   msg[0] id=1597, isMyMessage=false, readBy.count=0
[11:06:08] [DB]   msg[1] id=1596, isMyMessage=false, readBy.count=0
[11:06:08] [DB]   msg[2] id=1595, isMyMessage=false, readBy.count=0
[11:06:08] [EVOLUTION] πŸ” Found 0 NEW unread messages from local DB before fetching read receipts (lastSeenMessageId=1597): []
[11:06:08] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1597, readBy=[]", "id=1596, readBy=[]", "id=1595, readBy=[]"]
[11:06:08] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:06:08] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:06:08] [DB]   msg[0] id=1597, isMyMessage=false, readBy.count=0
[11:06:08] [DB]   msg[1] id=1596, isMyMessage=false, readBy.count=0
[11:06:08] [DB]   msg[2] id=1595, isMyMessage=false, readBy.count=0
[11:06:08] [EVENT_POLL] Starting periodic event polling for viewer mode (5s interval)
[11:06:08] [ORIENTATION] Updated pagingScrollView height to 247.5 for width 440.0
[11:06:08] [SUMMARY] Already showed summary today (2025-11-16)
[11:06:08] Did transition
[11:06:08] [NOTIFICATION] πŸ”” Constraints activated for notification button
[11:06:08] [NOTIFICATION] πŸ”” topNavBar frame: (0.0, 0.0, 440.0, 50.0)
[11:06:08] [NOTIFICATION] πŸ”” menuButton frame: (0.0, 0.0, 39.0, 30.0)
[11:06:08] [NOTIFICATION] πŸ”” notificationButton frame: (0.0, 0.0, 56.333333333333336, 58.0)
[11:06:08] [NOTIFICATION] πŸ”” Notification button brought to front
[11:06:08] [NOTIFICATION] πŸ”„ Updating icon to: bell.slash.fill (muted=true)
[11:06:08] [NOTIFICATION] βœ… Icon updated successfully
[11:06:08] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[11:06:08] [MIGRATION] No messages need sender_name backfill
[11:06:08] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:06:08] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:06:08] [DB]   msg[0] id=1597, isMyMessage=false, readBy.count=0
[11:06:08] [DB]   msg[1] id=1596, isMyMessage=false, readBy.count=0
[11:06:08] [DB]   msg[2] id=1595, isMyMessage=false, readBy.count=0
[11:06:08] [INFO_PAGE] InformationViewController viewWillAppear - applying theme
[11:06:08] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:06:08] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:06:08] [PAGINATION_SCROLL] offset=-12.0, contentHeight=108.0, distFromBottom=120.0, dragging=false, decel=false, isLoading=false, cooldown=63899057168.27302s
[11:06:08] [PAGINATION_SCROLL] offset=0.0, contentHeight=108.0, distFromBottom=-650.0, dragging=false, decel=false, isLoading=false, cooldown=63899057168.27425s
[11:06:08] [LOCATION] Authorization changed: 4
[11:06:08] [NOTIFICATION] πŸ”” FINAL STATE after viewDidLoad:
[11:06:08] [NOTIFICATION] πŸ”” notificationButton.frame: (392.0, 67.0, 40.0, 40.0)
[11:06:08] [NOTIFICATION] πŸ”” notificationButton.isHidden: false
[11:06:08] [NOTIFICATION] πŸ”” notificationButton.alpha: 1.0
[11:06:08] [NOTIFICATION] πŸ”” notificationButton.superview: true
[11:06:08] [NOTIFICATION] πŸ”” topNavBar.isHidden: false
[11:06:08] [NOTIFICATION] πŸ”” topNavBar.subviews.count: 3
[11:06:08] [PUSH] Device role updated to 'viewer': HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:06:08] [USER] βœ… User registered successfully
[11:06:08] [USER] User registration successful
[11:06:08] [PUSH] Device role updated to 'viewer': HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:06:08] [CHAT] βœ… refreshAllFromServer - parsed 413 messages from server
[11:06:08] [DB] clearDBForSession(ILUIWU2): deleted 412 messages, result=101
[11:06:09] ReloadData 15 (413 messages loaded, 0 pending media)
[11:06:09] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:06:09] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:06:09] [DB]   msg[0] id=1598, isMyMessage=false, readBy.count=0
[11:06:09] [DB]   msg[1] id=1597, isMyMessage=false, readBy.count=0
[11:06:09] [DB]   msg[2] id=1596, isMyMessage=false, readBy.count=0
[11:06:09] [EVOLUTION] πŸ” Found 1 NEW unread messages after refreshAllFromServer (lastSeenMessageId=1597): [1598]
[11:06:09] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1598, readBy=[]", "id=1597, readBy=[]", "id=1596, readBy=[]"]
[11:06:09] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:06:09] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:06:09] [DB]   msg[0] id=1598, isMyMessage=false, readBy.count=0
[11:06:09] [DB]   msg[1] id=1597, isMyMessage=false, readBy.count=0
[11:06:09] [DB]   msg[2] id=1596, isMyMessage=false, readBy.count=0
[11:06:09] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("operation_type"): 3, AnyHashable("message_id"): 1598, AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("session_id"): ILUIWU2]
[11:06:09] [PUSH] Parsed message_id: 1598
[11:06:09] [PUSH] Parsed operation_type: 3
[11:06:09] [PUSH] Taking direct action: opType=3, messageId=1598
[11:06:09] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=1598
[11:06:10] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:06:10] [UNREAD_DEBUG]   FINAL msg[0] id=1597, readBy.count=1
[11:06:10] [UNREAD_DEBUG]   FINAL msg[1] id=1596, readBy.count=1
[11:06:10] [UNREAD_DEBUG]   FINAL msg[2] id=1595, readBy.count=1
[11:06:10] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:06:10] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:06:10] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:06:10] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:06:10] [ROWS] 0: SEPARATOR
[11:06:10] [ROWS] 1: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:10] [ROWS] 2: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:10] [ROWS] 3: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:10] [ROWS] 4: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:06:10] [ROWS] 5: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:06:10] [ROWS] 6: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:10] [ROWS] 7: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:10] [ROWS] 8: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:10] [ROWS] 9: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:10] [ROWS] 10: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:10] [ROWS] 11: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:10] [ROWS] 12: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:10] [ROWS] 13: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:10] [ROWS] 14: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:10] [ROWS] 15: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:10] [ROWS] 16: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:10] [ROWS] 17: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:10] [ROWS] 18: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:10] [ROWS] 19: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:10] [ROWS] 20: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:06:10] [ROWS] 21: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:10] [ROWS] 22: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:10] [ROWS] 23: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:06:10] [ROWS] 24: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:10] [ROWS] 25: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:10] [ROWS] 26: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:10] [ROWS] 27: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:06:10] [ROWS] 28: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:06:10] [ROWS] 29: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:10] [ROWS] 30: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:10] [ROWS] 31: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:10] [ROWS] 32: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:10] [ROWS] 33: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:10] [ROWS] 34: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:10] [ROWS] 35: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:10] [ROWS] 36: SEPARATOR
[11:06:10] [ROWS] 37: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:06:10] [ROWS] 38: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:10] [ROWS] 39: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:06:10] [ROWS] 40: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:06:10] [ROWS] 41: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:06:10] [ROWS] 42: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:06:10] [ROWS] 43: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:10] [ROWS] 44: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:10] [ROWS] 45: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:10] [ROWS] 46: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:10] [ROWS] 47: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:06:10] [ROWS] 48: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:06:10] [ROWS] 49: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:10] [ROWS] 50: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:10] [ROWS] 51: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:10] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:06:10] [TAB_FILTER] πŸ“Š Reloading table with 416 rows
[11:06:10] [HEIGHT_DEBUG] Row 1 msg 1598: isPlayingEvolution=false, textLength=7, text='Premier...'
[11:06:10] [EMOJI] βœ… Loaded 451 emoji-to-GIF mappings
[11:06:10] [HEIGHT] Row 1 msg 1598: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:06:10] [HEIGHT_DEBUG] Row 2 msg 1597: isPlayingEvolution=false, textLength=7, text='Nouveau...'
[11:06:10] [HEIGHT] Row 2 msg 1597: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:06:10] [HEIGHT_DEBUG] Row 1 msg 1598: isPlayingEvolution=false, textLength=7, text='Premier...'
[11:06:10] [HEIGHT] Row 1 msg 1598: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:06:10] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:06:10] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:10] [HEIGHT_DEBUG] Row 2 msg 1597: isPlayingEvolution=false, textLength=7, text='Nouveau...'
[11:06:10] [HEIGHT] Row 2 msg 1597: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:06:10] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:10] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:10] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:10] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:10] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:10] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:10] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:10] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:10] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:10] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:06:10] [INIT_PAGINATION] Loaded 50 total messages, displaying 50 for tab 0
[11:06:10] [LOCATION] Failed to get location: The operation couldn’t be completed. (kCLErrorDomain error 1.)
[11:06:10] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:06:10] Will get events_php
[11:06:10] [TYPING] πŸ”„ ========== POLL START ==========
[11:06:10] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:06:10] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:06:10] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:06:10] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:06:10] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:06:10] [UNREAD_DEBUG]   FINAL msg[0] id=1597, readBy.count=1
[11:06:10] [UNREAD_DEBUG]   FINAL msg[1] id=1596, readBy.count=1
[11:06:10] [UNREAD_DEBUG]   FINAL msg[2] id=1595, readBy.count=1
[11:06:10] [VIEWER_INIT] Loaded 50 messages with read receipts, hasMore: true
[11:06:10] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:06:10] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:06:10] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:06:10] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:06:10] [ROWS] 0: SEPARATOR
[11:06:10] [ROWS] 1: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:10] [ROWS] 2: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:10] [ROWS] 3: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:10] [ROWS] 4: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:06:10] [ROWS] 5: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:06:10] [ROWS] 6: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:10] [ROWS] 7: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:10] [ROWS] 8: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:10] [ROWS] 9: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:10] [ROWS] 10: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:10] [ROWS] 11: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:10] [ROWS] 12: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:10] [ROWS] 13: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:10] [ROWS] 14: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:10] [ROWS] 15: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:10] [ROWS] 16: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:10] [ROWS] 17: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:10] [ROWS] 18: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:10] [ROWS] 19: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:10] [ROWS] 20: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:06:10] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:06:10] [ROWS] 21: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:10] [ROWS] 22: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:10] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[{"senderId":"E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE","senderName":"LoloTest"}]}
[11:06:10] [ROWS] 23: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:06:10] [ROWS] 24: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:10] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "sessionId": ILUIWU2, "typingUsers": <__NSSingleObjectArrayI 0x1094b32a0>(
{
    senderId = "E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE";
    senderName = LoloTest;
}
)
]
[11:06:10] [ROWS] 25: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:10] [ROWS] 26: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:10] [TYPING] πŸ“₯ Found 1 typing users in response
[11:06:10] [ROWS] 27: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:06:10] [ROWS] 28: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:06:10] [ROWS] 29: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:10] [ROWS] 30: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:10] [ROWS] 31: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:10] [ROWS] 32: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:10] [ROWS] 33: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:10] [ROWS] 34: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:10] [ROWS] 35: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:10] [ROWS] 36: SEPARATOR
[11:06:10] [ROWS] 37: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:06:10] [ROWS] 38: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:10] [ROWS] 39: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:06:10] [ROWS] 40: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:06:10] [ROWS] 41: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:06:10] [ROWS] 42: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:06:10] [EVT] get_events.php HTTP 200
── Response Headers ──
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Keep-Alive: timeout=5, max=97
Content-Length: 280
Date: Sun, 16 Nov 2025 10:06:10 GMT
Content-Type: application/json; charset=utf-8
Server: Apache/2.4.65 (Unix) PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":3,"events":[{"event_id":10624,"event_type":3,"message_id":1598,"session_id":"ILUIWU2"},{"event_id":10625,"event_type":3,"message_id":1598,"session_id":"ILUIWU2"},{"event_id":10626,"event_type":3,"message_id":1598,"session_id":"ILUIWU2"}]}
[11:06:10] [ROWS] 43: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:10] [ROWS] 44: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:10] [ROWS] 45: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:10] [ROWS] 46: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:10] [ROWS] 47: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:06:10] [ROWS] 48: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:06:10] [ROWS] 49: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:10] [ROWS] 50: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:10] [ROWS] 51: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:10] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:06:10] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:06:10] Done
[11:06:10] [HEIGHT_DEBUG] Row 1 msg 1597: isPlayingEvolution=false, textLength=7, text='Nouveau...'
[11:06:10] [HEIGHT] Row 1 msg 1597: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:06:10] [HEIGHT_DEBUG] Row 2 msg 1596: isPlayingEvolution=false, textLength=12, text='De fe fe e f...'
[11:06:10] [HEIGHT] Row 2 msg 1596: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:06:10] [HEIGHT_DEBUG] Row 1 msg 1597: isPlayingEvolution=false, textLength=7, text='Nouveau...'
[11:06:10] [HEIGHT] Row 1 msg 1597: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:06:10] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:06:10] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:10] [HEIGHT_DEBUG] Row 2 msg 1596: isPlayingEvolution=false, textLength=12, text='De fe fe e f...'
[11:06:10] [HEIGHT] Row 2 msg 1596: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:06:10] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:10] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:10] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:10] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:10] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:10] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:10] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:10] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:10] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:10] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:06:10] ReloadData 18 (viewer init with read receipts)
[11:06:10] [TYPING] πŸ“₯ Processing user [1/1]: ["senderId": E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE, "senderName": LoloTest]
[11:06:10] [TYPING] πŸ“₯   senderId: 'E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE' (length: 36)
[11:06:10] [TYPING] πŸ“₯   senderName: 'LoloTest'
[11:06:10] [TYPING] πŸ“₯   myUserId: '3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF' (length: 36)
[11:06:10] [TYPING] πŸ“₯   Are they equal? false
[11:06:10] [TYPING] πŸ“₯ βœ… ADDED E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE (LoloTest) to currentTypingUsers
[11:06:10] [TYPING] πŸ“₯ Updating typing users SET: [Eye.TypingUser(userId: "E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE", displayName: "LoloTest")]
[11:06:10] [TYPING] πŸ“₯ About to set self.typingUsers from [] to [Eye.TypingUser(userId: "E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE", displayName: "LoloTest")]
[11:06:10] [TYPING] πŸ“₯ After update, self.typingUsers = [Eye.TypingUser(userId: "E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE", displayName: "LoloTest")]
[11:06:10] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=1, typingUsers=[Eye.TypingUser(userId: "E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE", displayName: "LoloTest")]
[11:06:10] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:06:10] [TYPING] πŸ”” ========== SHOWING TYPING INDICATOR ==========
[11:06:10] [TYPING] πŸ”” Text: "LoloTest is typing..."
[11:06:10] [TYPING] πŸ”” Frame: (16.0, 842.0, 408.0, 20.0)
[11:06:10] [TYPING] πŸ”” Bounds: (0.0, 0.0, 408.0, 20.0)
[11:06:10] [TYPING] πŸ”” isHidden: false
[11:06:10] [TYPING] πŸ”” alpha: 1.0
[11:06:10] [TYPING] πŸ”” backgroundColor: Optional(UIExtendedSRGBColorSpace 0.2 0.5 0.9 0.8)
[11:06:10] [TYPING] πŸ”” textColor: Optional(UIExtendedGrayColorSpace 1 1)
[11:06:10] [TYPING] πŸ”” font: Optional(<UICTFont: 0x10a3e4500> font-family: ".SFUI-Medium"; font-weight: normal; font-style: normal; font-size: 13.00pt)
[11:06:10] [TYPING] πŸ”” superview: YES
[11:06:10] [TYPING] πŸ”” superview.frame: (0.0, 0.0, 440.0, 956.0)
[11:06:10] [TYPING] πŸ”” superview.bounds: (0.0, 0.0, 440.0, 956.0)
[11:06:10] [TYPING] πŸ”” inputBar.frame: (0.0, 870.0, 440.0, 52.0)
[11:06:10] [TYPING] πŸ”” Number of subviews in view: 16
[11:06:10] [TYPING] πŸ”” ========================================
[11:06:10] [TYPING] πŸ“₯ βœ… POLL RESULT: 1 users typing
[11:06:10] [TYPING] πŸ”„ ========== POLL END ==========
[11:06:10] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:06:10] [UNREAD_DEBUG]   FINAL msg[0] id=1598, readBy.count=1
[11:06:10] [UNREAD_DEBUG]   FINAL msg[1] id=1597, readBy.count=1
[11:06:10] [UNREAD_DEBUG]   FINAL msg[2] id=1596, readBy.count=1
[11:06:10] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:06:10] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:06:10] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:06:10] [EVOLUTION] πŸ“ Updated lastSeenMessageId: 1597 β†’ 1598
[11:06:10] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:06:10] [ROWS] 0: SEPARATOR
[11:06:10] [ROWS] 1: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:10] [ROWS] 2: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:10] [ROWS] 3: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:10] [ROWS] 4: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:10] [ROWS] 5: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:06:10] [ROWS] 6: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:06:10] [ROWS] 7: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:10] [ROWS] 8: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:10] [ROWS] 9: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:10] [ROWS] 10: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:10] [ROWS] 11: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:10] [ROWS] 12: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:10] [ROWS] 13: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:10] [ROWS] 14: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:10] [ROWS] 15: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:10] [ROWS] 16: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:10] [ROWS] 17: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:10] [ROWS] 18: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:10] [ROWS] 19: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:10] [ROWS] 20: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:10] [ROWS] 21: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:06:10] [ROWS] 22: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:10] [ROWS] 23: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:10] [ROWS] 24: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:06:10] [ROWS] 25: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:10] [ROWS] 26: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:10] [ROWS] 27: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:10] [ROWS] 28: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:06:10] [ROWS] 29: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:06:10] [ROWS] 30: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:10] [ROWS] 31: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:10] [ROWS] 32: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:10] [ROWS] 33: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:10] [ROWS] 34: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:10] [ROWS] 35: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:10] [ROWS] 36: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:10] [ROWS] 37: SEPARATOR
[11:06:10] [ROWS] 38: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:06:10] [ROWS] 39: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:10] [ROWS] 40: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:06:10] [ROWS] 41: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:06:10] [ROWS] 42: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:06:10] [ROWS] 43: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:06:10] [ROWS] 44: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:10] [ROWS] 45: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:10] [ROWS] 46: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:10] [ROWS] 47: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:10] [ROWS] 48: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:06:10] [ROWS] 49: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:06:10] [ROWS] 50: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:10] [ROWS] 51: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:10] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:06:10] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:06:10] [HEIGHT_DEBUG] Row 1 msg 1598: isPlayingEvolution=false, textLength=7, text='Premier...'
[11:06:10] [HEIGHT] Row 1 msg 1598: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:06:10] [HEIGHT_DEBUG] Row 2 msg 1597: isPlayingEvolution=false, textLength=7, text='Nouveau...'
[11:06:10] [HEIGHT] Row 2 msg 1597: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:06:10] [HEIGHT_DEBUG] Row 1 msg 1598: isPlayingEvolution=false, textLength=7, text='Premier...'
[11:06:10] [HEIGHT] Row 1 msg 1598: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:06:10] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:06:10] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:10] [HEIGHT_DEBUG] Row 2 msg 1597: isPlayingEvolution=false, textLength=7, text='Nouveau...'
[11:06:10] [HEIGHT] Row 2 msg 1597: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:06:10] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:10] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:10] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:10] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:10] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:10] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:10] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:10] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:10] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:10] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:06:10] [INITIAL_LOAD] Loaded 50 messages (first page), displaying 50 for tab 0, hasMore: true
[11:06:10] ReloadData 1
[11:06:10] [PURGE] Deleted 0 unused media files:

[11:06:10] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:06:10] [EVOLUTION] πŸ“­ No unread message IDs provided for evolution playback
[11:06:10] [EVOLUTION] πŸ“¬ Preparing 1 unread message(s) for evolution playback: [1598]
[11:06:10] [EVOLUTION] 🎬 Preparing message 1598 for evolution playback (app launch)
[11:06:10] [EVOLUTION] πŸ” Reloading table for evolution - chatMessages.count=50
[11:06:10] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:06:10] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:06:10] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:06:10] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:06:10] [ROWS] 0: SEPARATOR
[11:06:10] [ROWS] 1: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=7
[11:06:10] [ROWS] 2: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:10] [ROWS] 3: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:10] [ROWS] 4: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:10] [ROWS] 5: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:06:10] [ROWS] 6: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:06:10] [ROWS] 7: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:10] [ROWS] 8: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:10] [ROWS] 9: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:10] [ROWS] 10: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:10] [ROWS] 11: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:10] [ROWS] 12: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:10] [ROWS] 13: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:10] [ROWS] 14: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:10] [ROWS] 15: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:10] [ROWS] 16: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:10] [ROWS] 17: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:10] [ROWS] 18: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:10] [ROWS] 19: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:10] [ROWS] 20: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:10] [ROWS] 21: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:06:10] [ROWS] 22: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:10] [ROWS] 23: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:10] [ROWS] 24: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:06:10] [ROWS] 25: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:10] [ROWS] 26: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:10] [ROWS] 27: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:10] [ROWS] 28: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:06:10] [ROWS] 29: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:06:10] [ROWS] 30: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:10] [ROWS] 31: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:10] [ROWS] 32: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:10] [ROWS] 33: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:10] [ROWS] 34: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:10] [ROWS] 35: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:10] [ROWS] 36: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:10] [ROWS] 37: SEPARATOR
[11:06:10] [ROWS] 38: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:06:10] [ROWS] 39: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:10] [ROWS] 40: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:06:10] [ROWS] 41: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:06:10] [ROWS] 42: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:06:10] [ROWS] 43: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:06:10] [ROWS] 44: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:10] [ROWS] 45: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:10] [ROWS] 46: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:10] [ROWS] 47: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:10] [ROWS] 48: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:06:10] [ROWS] 49: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:06:10] [ROWS] 50: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:10] [ROWS] 51: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:10] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:06:10] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:06:10] [HEIGHT_DEBUG] Row 1 msg 1598: isPlayingEvolution=true, textLength=0, text='...'
[11:06:10] [HEIGHT] Row 1 msg 1598: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:06:10] [HEIGHT_DEBUG] Row 2 msg 1597: isPlayingEvolution=false, textLength=7, text='Nouveau...'
[11:06:10] [HEIGHT] Row 2 msg 1597: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:06:10] [HEIGHT_DEBUG] Row 1 msg 1598: isPlayingEvolution=true, textLength=0, text='...'
[11:06:10] [HEIGHT] Row 1 msg 1598: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:06:10] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:06:10] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:06:10] [HEIGHT_DEBUG] Row 2 msg 1597: isPlayingEvolution=false, textLength=7, text='Nouveau...'
[11:06:10] [HEIGHT] Row 2 msg 1597: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:06:10] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:10] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:10] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:10] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:10] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:10] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:10] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:10] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:10] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:10] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:06:10] [EVOLUTION] πŸ“ Queued 1 messages for sequential playback: [1598]
[11:06:10] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("operation_type"): 3, AnyHashable("message_id"): 1598, AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("session_id"): ILUIWU2]
[11:06:10] [PUSH] Parsed message_id: 1598
[11:06:10] [PUSH] Parsed operation_type: 3
[11:06:10] [PUSH] Taking direct action: opType=3, messageId=1598
[11:06:10] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=1598
[11:06:10] [EVOLUTION] 🎬 Starting sequential playback of queued messages
[11:06:10] [EVOLUTION] ▢️ Playing next queued message 1598 - 0 remaining in queue
[11:06:10] [EVOLUTION] πŸ“‘ Fetching evolution data for message 1598
[11:06:10] [EVOLUTION] πŸ” Raw response (603 bytes): {"ok":true,"has_evolution":true,"message_id":1598,"evolution":{"events":[{"c":"P","t":0,"op":"i","p":0},{"t":245,"op":"i","c":"r","p":1},{"op":"i","t":292,"c":"e","p":2},{"op":"i","p":3,"t":467,"c":";
[11:06:10] [EVOLUTION] πŸ” Parsed JSON keys: ["created_at", "evolution", "has_evolution", "message_id", "ok"]
[11:06:10] [EVOLUTION] πŸ” has_evolution: 1
[11:06:10] [EVOLUTION] βœ… Got 15 events for message 1598
[11:06:10] [OVERLAP_FIX] πŸš€ Starting evolution - forcing initial height recalculation
[11:06:10] [UPDATE] πŸ”„ updateMessageCell(for: 1598) β€” full safe reload
[11:06:10] [ROWS] ===== updateMessageCell for 1598 β€” chatRows.count=52 =====
[11:06:10] [ROWS] 0: SEPARATOR
[11:06:10] [ROWS] 1: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=7
[11:06:10] [ROWS] 2: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:10] [ROWS] 3: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:10] [ROWS] 4: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:10] [ROWS] 5: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:06:10] [ROWS] 6: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:06:10] [ROWS] 7: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:10] [ROWS] 8: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:10] [ROWS] 9: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:10] [ROWS] 10: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:10] [ROWS] 11: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:10] [ROWS] 12: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:10] [ROWS] 13: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:10] [ROWS] 14: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:10] [ROWS] 15: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:10] [ROWS] 16: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:10] [ROWS] 17: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:10] [ROWS] 18: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:10] [ROWS] 19: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:10] [ROWS] 20: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:10] [ROWS] 21: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:06:10] [ROWS] 22: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:10] [ROWS] 23: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:10] [ROWS] 24: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:06:10] [ROWS] 25: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:10] [ROWS] 26: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:10] [ROWS] 27: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:10] [ROWS] 28: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:06:10] [ROWS] 29: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:06:10] [ROWS] 30: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:10] [ROWS] 31: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:10] [ROWS] 32: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:10] [ROWS] 33: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:10] [ROWS] 34: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:10] [ROWS] 35: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:10] [ROWS] 36: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:10] [ROWS] 37: SEPARATOR
[11:06:10] [ROWS] 38: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:06:10] [ROWS] 39: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:10] [ROWS] 40: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:06:10] [ROWS] 41: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:06:10] [ROWS] 42: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:06:10] [ROWS] 43: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:06:10] [ROWS] 44: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:10] [ROWS] 45: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:10] [ROWS] 46: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:10] [ROWS] 47: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:10] [ROWS] 48: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:06:10] [ROWS] 49: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:06:10] [ROWS] 50: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:10] [ROWS] 51: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:10] [ROWS] ===== END (updateMessageCell for 1598) =====
[11:06:10] [HEIGHT_DEBUG] Row 1 msg 1598: isPlayingEvolution=true, textLength=0, text='...'
[11:06:10] [HEIGHT] Row 1 msg 1598: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:06:10] [HEIGHT_DEBUG] Row 2 msg 1597: isPlayingEvolution=false, textLength=7, text='Nouveau...'
[11:06:10] [HEIGHT] Row 2 msg 1597: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:06:10] [HEIGHT_DEBUG] Row 1 msg 1598: isPlayingEvolution=true, textLength=0, text='...'
[11:06:10] [HEIGHT] Row 1 msg 1598: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:06:10] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:06:10] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:06:10] [HEIGHT_DEBUG] Row 2 msg 1597: isPlayingEvolution=false, textLength=7, text='Nouveau...'
[11:06:10] [HEIGHT] Row 2 msg 1597: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:06:10] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:10] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:10] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:10] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:10] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:10] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:10] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:10] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:10] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:10] [EVOLUTION] ▢️ Starting inline playback for message 1598 with 15 events
[11:06:10] [EVOLUTION] πŸ“ Event 0/15 - Text now: "P..."
[11:06:10] [UPDATE] πŸ”„ updateMessageCell(for: 1598) β€” full safe reload
[11:06:10] [ROWS] ===== updateMessageCell for 1598 β€” chatRows.count=52 =====
[11:06:10] [ROWS] 0: SEPARATOR
[11:06:10] [ROWS] 1: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=1 textLen=7
[11:06:10] [ROWS] 2: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:10] [ROWS] 3: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:10] [ROWS] 4: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:10] [ROWS] 5: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:06:10] [ROWS] 6: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:06:10] [ROWS] 7: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:10] [ROWS] 8: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:10] [ROWS] 9: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:10] [ROWS] 10: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:10] [ROWS] 11: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:10] [ROWS] 12: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:10] [ROWS] 13: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:10] [ROWS] 14: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:10] [ROWS] 15: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:10] [ROWS] 16: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:10] [ROWS] 17: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:10] [ROWS] 18: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:10] [ROWS] 19: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:10] [ROWS] 20: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:10] [ROWS] 21: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:06:10] [ROWS] 22: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:10] [ROWS] 23: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:10] [ROWS] 24: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:06:10] [ROWS] 25: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:10] [ROWS] 26: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:10] [ROWS] 27: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:10] [ROWS] 28: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:06:10] [ROWS] 29: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:06:10] [ROWS] 30: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:10] [ROWS] 31: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:10] [ROWS] 32: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:10] [ROWS] 33: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:10] [ROWS] 34: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:10] [ROWS] 35: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:10] [ROWS] 36: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:10] [ROWS] 37: SEPARATOR
[11:06:10] [ROWS] 38: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:06:10] [ROWS] 39: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:10] [ROWS] 40: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:06:10] [ROWS] 41: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:06:10] [ROWS] 42: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:06:10] [ROWS] 43: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:06:10] [ROWS] 44: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:10] [ROWS] 45: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:10] [ROWS] 46: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:10] [ROWS] 47: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:10] [ROWS] 48: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:06:10] [ROWS] 49: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:06:10] [ROWS] 50: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:10] [ROWS] 51: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:10] [ROWS] ===== END (updateMessageCell for 1598) =====
[11:06:10] [HEIGHT_DEBUG] Row 1 msg 1598: isPlayingEvolution=true, textLength=1, text='P...'
[11:06:10] [HEIGHT] Row 1 msg 1598: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:06:10] [HEIGHT_DEBUG] Row 2 msg 1597: isPlayingEvolution=false, textLength=7, text='Nouveau...'
[11:06:10] [HEIGHT] Row 2 msg 1597: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:06:10] [HEIGHT_DEBUG] Row 1 msg 1598: isPlayingEvolution=true, textLength=1, text='P...'
[11:06:10] [HEIGHT] Row 1 msg 1598: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:06:10] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:06:10] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:10] [HEIGHT_DEBUG] Row 2 msg 1597: isPlayingEvolution=false, textLength=7, text='Nouveau...'
[11:06:10] [HEIGHT] Row 2 msg 1597: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:06:10] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:10] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:10] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:10] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:10] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:10] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:10] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:10] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:10] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:11] [EVOLUTION] πŸ“ Event 1/15 - Text now: "Pr..."
[11:06:11] [UPDATE] πŸ”„ updateMessageCell(for: 1598) β€” full safe reload
[11:06:11] [ROWS] ===== updateMessageCell for 1598 β€” chatRows.count=52 =====
[11:06:11] [ROWS] 0: SEPARATOR
[11:06:11] [ROWS] 1: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=2 textLen=7
[11:06:11] [ROWS] 2: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:11] [ROWS] 3: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:11] [ROWS] 4: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:11] [ROWS] 5: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:06:11] [ROWS] 6: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:06:11] [ROWS] 7: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:11] [ROWS] 8: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:11] [ROWS] 9: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:11] [ROWS] 10: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:11] [ROWS] 11: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:11] [ROWS] 12: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:11] [ROWS] 13: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:11] [ROWS] 14: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:11] [ROWS] 15: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:11] [ROWS] 16: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:11] [ROWS] 17: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:11] [ROWS] 18: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:11] [ROWS] 19: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:11] [ROWS] 20: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:11] [ROWS] 21: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:06:11] [ROWS] 22: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:11] [ROWS] 23: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:11] [ROWS] 24: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:06:11] [ROWS] 25: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:11] [ROWS] 26: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:11] [ROWS] 27: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:11] [ROWS] 28: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:06:11] [ROWS] 29: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:06:11] [ROWS] 30: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:11] [ROWS] 31: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:11] [ROWS] 32: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:11] [ROWS] 33: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:11] [ROWS] 34: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:11] [ROWS] 35: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:11] [ROWS] 36: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:11] [ROWS] 37: SEPARATOR
[11:06:11] [ROWS] 38: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:06:11] [ROWS] 39: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:11] [ROWS] 40: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:06:11] [ROWS] 41: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:06:11] [ROWS] 42: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:06:11] [ROWS] 43: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:06:11] [ROWS] 44: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:11] [ROWS] 45: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:11] [ROWS] 46: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:11] [ROWS] 47: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:11] [ROWS] 48: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:06:11] [ROWS] 49: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:06:11] [ROWS] 50: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:11] [ROWS] 51: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:11] [ROWS] ===== END (updateMessageCell for 1598) =====
[11:06:11] [HEIGHT_DEBUG] Row 1 msg 1598: isPlayingEvolution=true, textLength=2, text='Pr...'
[11:06:11] [HEIGHT] Row 1 msg 1598: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:06:11] [HEIGHT_DEBUG] Row 2 msg 1597: isPlayingEvolution=false, textLength=7, text='Nouveau...'
[11:06:11] [HEIGHT] Row 2 msg 1597: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:06:11] [HEIGHT_DEBUG] Row 1 msg 1598: isPlayingEvolution=true, textLength=2, text='Pr...'
[11:06:11] [HEIGHT] Row 1 msg 1598: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:06:11] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:06:11] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:06:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:11] [HEIGHT_DEBUG] Row 2 msg 1597: isPlayingEvolution=false, textLength=7, text='Nouveau...'
[11:06:11] [HEIGHT] Row 2 msg 1597: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:06:11] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:11] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:11] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:11] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:11] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:11] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:11] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:11] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:11] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:11] [EVOLUTION] πŸ“ Event 2/15 - Text now: "Pre..."
[11:06:11] [UPDATE] πŸ”„ updateMessageCell(for: 1598) β€” full safe reload
[11:06:11] [ROWS] ===== updateMessageCell for 1598 β€” chatRows.count=52 =====
[11:06:11] [ROWS] 0: SEPARATOR
[11:06:11] [ROWS] 1: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=3 textLen=7
[11:06:11] [ROWS] 2: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:11] [ROWS] 3: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:11] [ROWS] 4: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:11] [ROWS] 5: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:06:11] [ROWS] 6: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:06:11] [ROWS] 7: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:11] [ROWS] 8: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:11] [ROWS] 9: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:11] [ROWS] 10: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:11] [ROWS] 11: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:11] [ROWS] 12: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:11] [ROWS] 13: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:11] [ROWS] 14: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:11] [ROWS] 15: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:11] [ROWS] 16: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:11] [ROWS] 17: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:11] [ROWS] 18: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:11] [ROWS] 19: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:11] [ROWS] 20: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:11] [ROWS] 21: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:06:11] [ROWS] 22: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:11] [ROWS] 23: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:11] [ROWS] 24: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:06:11] [ROWS] 25: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:11] [ROWS] 26: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:11] [ROWS] 27: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:11] [ROWS] 28: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:06:11] [ROWS] 29: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:06:11] [ROWS] 30: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:11] [ROWS] 31: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:11] [ROWS] 32: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:11] [ROWS] 33: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:11] [ROWS] 34: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:11] [ROWS] 35: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:11] [ROWS] 36: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:11] [ROWS] 37: SEPARATOR
[11:06:11] [ROWS] 38: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:06:11] [ROWS] 39: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:11] [ROWS] 40: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:06:11] [ROWS] 41: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:06:11] [ROWS] 42: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:06:11] [ROWS] 43: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:06:11] [ROWS] 44: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:11] [ROWS] 45: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:11] [ROWS] 46: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:11] [ROWS] 47: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:11] [ROWS] 48: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:06:11] [ROWS] 49: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:06:11] [ROWS] 50: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:11] [ROWS] 51: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:11] [ROWS] ===== END (updateMessageCell for 1598) =====
[11:06:11] [HEIGHT_DEBUG] Row 1 msg 1598: isPlayingEvolution=true, textLength=3, text='Pre...'
[11:06:11] [HEIGHT] Row 1 msg 1598: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:06:11] [HEIGHT_DEBUG] Row 2 msg 1597: isPlayingEvolution=false, textLength=7, text='Nouveau...'
[11:06:11] [HEIGHT] Row 2 msg 1597: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:06:11] [HEIGHT_DEBUG] Row 1 msg 1598: isPlayingEvolution=true, textLength=3, text='Pre...'
[11:06:11] [HEIGHT] Row 1 msg 1598: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:06:11] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:06:11] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:06:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:11] [HEIGHT_DEBUG] Row 2 msg 1597: isPlayingEvolution=false, textLength=7, text='Nouveau...'
[11:06:11] [HEIGHT] Row 2 msg 1597: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:06:11] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:11] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:11] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:11] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:11] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:11] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:11] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:11] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:11] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:11] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_id"): 1599, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU2, AnyHashable("aps"): {
    "content-available" = 1;
}]
[11:06:11] [PUSH] Parsed message_id: 1599
[11:06:11] [PUSH] Parsed operation_type: 0
[11:06:11] [PUSH] Taking direct action: opType=0, messageId=1599
[11:06:11] [PUSH] TakeActionFromPush called: OperationType=0, MessageIds=1599
[11:06:11] [PUSH] Handling message fetch for opType=0, messageId=1599
[11:06:11] [PUSH] Requesting URL: http://crivello.dyndns.org:81/WebRTC/chat/chat_get_messages.php?session_id=ILUIWU2&viewer=1&messages=1599
[11:06:11] [EVOLUTION] πŸ“ Event 3/15 - Text now: "Pre;..."
[11:06:11] [UPDATE] πŸ”„ updateMessageCell(for: 1598) β€” full safe reload
[11:06:11] [ROWS] ===== updateMessageCell for 1598 β€” chatRows.count=52 =====
[11:06:11] [ROWS] 0: SEPARATOR
[11:06:11] [ROWS] 1: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=4 textLen=7
[11:06:11] [ROWS] 2: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:11] [ROWS] 3: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:11] [ROWS] 4: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:11] [ROWS] 5: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:06:11] [ROWS] 6: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:06:11] [ROWS] 7: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:11] [ROWS] 8: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:11] [ROWS] 9: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:11] [ROWS] 10: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:11] [ROWS] 11: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:11] [ROWS] 12: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:11] [ROWS] 13: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:11] [ROWS] 14: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:11] [ROWS] 15: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:11] [ROWS] 16: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:11] [ROWS] 17: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:11] [ROWS] 18: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:11] [ROWS] 19: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:11] [ROWS] 20: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:11] [ROWS] 21: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:06:11] [ROWS] 22: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:11] [ROWS] 23: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:11] [ROWS] 24: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:06:11] [ROWS] 25: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:11] [ROWS] 26: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:11] [ROWS] 27: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:11] [ROWS] 28: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:06:11] [ROWS] 29: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:06:11] [ROWS] 30: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:11] [ROWS] 31: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:11] [ROWS] 32: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:11] [ROWS] 33: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:11] [ROWS] 34: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:11] [ROWS] 35: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:11] [ROWS] 36: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:11] [ROWS] 37: SEPARATOR
[11:06:11] [ROWS] 38: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:06:11] [ROWS] 39: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:11] [ROWS] 40: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:06:11] [ROWS] 41: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:06:11] [ROWS] 42: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:06:11] [ROWS] 43: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:06:11] [ROWS] 44: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:11] [ROWS] 45: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:11] [ROWS] 46: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:11] [ROWS] 47: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:11] [ROWS] 48: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:06:11] [ROWS] 49: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:06:11] [ROWS] 50: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:11] [ROWS] 51: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:11] [ROWS] ===== END (updateMessageCell for 1598) =====
[11:06:11] [HEIGHT_DEBUG] Row 1 msg 1598: isPlayingEvolution=true, textLength=4, text='Pre;...'
[11:06:11] [HEIGHT] Row 1 msg 1598: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:06:11] [HEIGHT_DEBUG] Row 2 msg 1597: isPlayingEvolution=false, textLength=7, text='Nouveau...'
[11:06:11] [HEIGHT] Row 2 msg 1597: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:06:11] [HEIGHT_DEBUG] Row 1 msg 1598: isPlayingEvolution=true, textLength=4, text='Pre;...'
[11:06:11] [HEIGHT] Row 1 msg 1598: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:06:11] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:06:11] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:06:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:11] [HEIGHT_DEBUG] Row 2 msg 1597: isPlayingEvolution=false, textLength=7, text='Nouveau...'
[11:06:11] [HEIGHT] Row 2 msg 1597: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:06:11] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:11] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:11] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:11] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:11] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:11] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:11] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:11] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:11] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:12] [EVOLUTION] πŸ“ Event 4/15 - Text now: "Pre;i..."
[11:06:12] [UPDATE] πŸ”„ updateMessageCell(for: 1598) β€” full safe reload
[11:06:12] [ROWS] ===== updateMessageCell for 1598 β€” chatRows.count=52 =====
[11:06:12] [ROWS] 0: SEPARATOR
[11:06:12] [ROWS] 1: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=5 textLen=7
[11:06:12] [ROWS] 2: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:12] [ROWS] 3: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:12] [ROWS] 4: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:12] [ROWS] 5: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:06:12] [ROWS] 6: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:06:12] [ROWS] 7: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:12] [ROWS] 8: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:12] [ROWS] 9: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:12] [ROWS] 10: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:12] [ROWS] 11: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:12] [ROWS] 12: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:12] [ROWS] 13: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:12] [ROWS] 14: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:12] [ROWS] 15: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:12] [ROWS] 16: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:12] [ROWS] 17: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:12] [ROWS] 18: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:12] [ROWS] 19: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:12] [ROWS] 20: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:12] [ROWS] 21: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:06:12] [ROWS] 22: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:12] [ROWS] 23: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:12] [ROWS] 24: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:06:12] [ROWS] 25: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:12] [ROWS] 26: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:12] [ROWS] 27: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:12] [ROWS] 28: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:06:12] [ROWS] 29: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:06:12] [ROWS] 30: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:12] [ROWS] 31: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:12] [ROWS] 32: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:12] [ROWS] 33: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:12] [ROWS] 34: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:12] [ROWS] 35: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:12] [ROWS] 36: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:12] [ROWS] 37: SEPARATOR
[11:06:12] [ROWS] 38: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:06:12] [ROWS] 39: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:12] [ROWS] 40: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:06:12] [ROWS] 41: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:06:12] [ROWS] 42: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:06:12] [ROWS] 43: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:06:12] [ROWS] 44: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:12] [ROWS] 45: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:12] [ROWS] 46: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:12] [ROWS] 47: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:12] [ROWS] 48: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:06:12] [ROWS] 49: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:06:12] [ROWS] 50: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:12] [ROWS] 51: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:12] [ROWS] ===== END (updateMessageCell for 1598) =====
[11:06:12] [HEIGHT_DEBUG] Row 1 msg 1598: isPlayingEvolution=true, textLength=5, text='Pre;i...'
[11:06:12] [HEIGHT] Row 1 msg 1598: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:06:12] [HEIGHT_DEBUG] Row 2 msg 1597: isPlayingEvolution=false, textLength=7, text='Nouveau...'
[11:06:12] [HEIGHT] Row 2 msg 1597: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:06:12] [HEIGHT_DEBUG] Row 1 msg 1598: isPlayingEvolution=true, textLength=5, text='Pre;i...'
[11:06:12] [HEIGHT] Row 1 msg 1598: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:06:12] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:06:12] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:06:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:12] [HEIGHT_DEBUG] Row 2 msg 1597: isPlayingEvolution=false, textLength=7, text='Nouveau...'
[11:06:12] [HEIGHT] Row 2 msg 1597: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:06:12] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:12] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:12] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:12] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:12] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:12] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:12] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:12] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:12] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:12] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:06:12] Will get events_php
[11:06:12] [TYPING] πŸ”„ ========== POLL START ==========
[11:06:12] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:06:12] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:06:12] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:06:12] [TYPING] πŸ”„ Current typingUsers.count: 1
[11:06:12] [EVOLUTION] πŸ“ Event 5/15 - Text now: "Pre;ie..."
[11:06:12] [UPDATE] πŸ”„ updateMessageCell(for: 1598) β€” full safe reload
[11:06:12] [ROWS] ===== updateMessageCell for 1598 β€” chatRows.count=52 =====
[11:06:12] [ROWS] 0: SEPARATOR
[11:06:12] [ROWS] 1: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=6 textLen=7
[11:06:12] [ROWS] 2: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:12] [ROWS] 3: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:12] [ROWS] 4: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:12] [ROWS] 5: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:06:12] [ROWS] 6: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:06:12] [ROWS] 7: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:12] [ROWS] 8: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:12] [ROWS] 9: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:12] [ROWS] 10: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:12] [ROWS] 11: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:12] [ROWS] 12: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:12] [ROWS] 13: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:12] [ROWS] 14: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:12] [ROWS] 15: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:12] [ROWS] 16: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:12] [ROWS] 17: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:12] [ROWS] 18: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:12] [ROWS] 19: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:12] [ROWS] 20: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:12] [ROWS] 21: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:06:12] [ROWS] 22: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:12] [ROWS] 23: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:12] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:06:12] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:06:12] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:06:12] [ROWS] 24: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:06:12] [TYPING] πŸ“₯ Found 0 typing users in response
[11:06:12] [ROWS] 25: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:12] [ROWS] 26: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:12] [ROWS] 27: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:12] [ROWS] 28: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:06:12] [ROWS] 29: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:06:12] [ROWS] 30: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:12] [ROWS] 31: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:12] [ROWS] 32: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:12] [ROWS] 33: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:12] [ROWS] 34: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:12] [ROWS] 35: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:12] [ROWS] 36: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:12] [ROWS] 37: SEPARATOR
[11:06:12] [ROWS] 38: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:06:12] [ROWS] 39: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:12] [ROWS] 40: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:06:12] [ROWS] 41: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:06:12] [ROWS] 42: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:06:12] [ROWS] 43: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:06:12] [ROWS] 44: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:12] [ROWS] 45: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:12] [ROWS] 46: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:12] [ROWS] 47: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:12] [ROWS] 48: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:06:12] [ROWS] 49: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:06:12] [ROWS] 50: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:12] [ROWS] 51: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:12] [ROWS] ===== END (updateMessageCell for 1598) =====
[11:06:12] [HEIGHT_DEBUG] Row 1 msg 1598: isPlayingEvolution=true, textLength=6, text='Pre;ie...'
[11:06:12] [HEIGHT] Row 1 msg 1598: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:06:12] [HEIGHT_DEBUG] Row 2 msg 1597: isPlayingEvolution=false, textLength=7, text='Nouveau...'
[11:06:12] [HEIGHT] Row 2 msg 1597: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:06:12] [HEIGHT_DEBUG] Row 1 msg 1598: isPlayingEvolution=true, textLength=6, text='Pre;ie...'
[11:06:12] [HEIGHT] Row 1 msg 1598: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:06:12] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:06:12] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:06:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:12] [HEIGHT_DEBUG] Row 2 msg 1597: isPlayingEvolution=false, textLength=7, text='Nouveau...'
[11:06:12] [HEIGHT] Row 2 msg 1597: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:06:12] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:12] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:12] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:12] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:12] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:12] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:12] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:12] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:12] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:12] [TYPING] πŸ“₯ Updating typing users SET: []
[11:06:12] [TYPING] πŸ“₯ About to set self.typingUsers from [Eye.TypingUser(userId: "E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE", displayName: "LoloTest")] to []
[11:06:12] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:06:12] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:06:12] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:06:12] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:06:12] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:06:12] [TYPING] πŸ”„ ========== POLL END ==========
[11:06:12] [EVOLUTION] πŸ“ Event 6/15 - Text now: "Pre;ier..."
[11:06:12] [UPDATE] πŸ”„ updateMessageCell(for: 1598) β€” full safe reload
[11:06:12] [ROWS] ===== updateMessageCell for 1598 β€” chatRows.count=52 =====
[11:06:12] [ROWS] 0: SEPARATOR
[11:06:12] [ROWS] 1: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=7 textLen=7
[11:06:12] [ROWS] 2: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:12] [ROWS] 3: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:12] [ROWS] 4: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:12] [ROWS] 5: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:06:12] [ROWS] 6: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:06:12] [ROWS] 7: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:12] [ROWS] 8: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:12] [ROWS] 9: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:12] [ROWS] 10: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:12] [ROWS] 11: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:12] [ROWS] 12: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:12] [ROWS] 13: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:12] [ROWS] 14: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:12] [ROWS] 15: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:12] [ROWS] 16: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:12] [ROWS] 17: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:12] [ROWS] 18: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:12] [ROWS] 19: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:12] [ROWS] 20: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:12] [ROWS] 21: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:06:12] [ROWS] 22: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:12] [ROWS] 23: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:12] [ROWS] 24: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:06:12] [ROWS] 25: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:12] [ROWS] 26: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:12] [ROWS] 27: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:12] [ROWS] 28: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:06:12] [ROWS] 29: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:06:12] [ROWS] 30: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:12] [ROWS] 31: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:12] [ROWS] 32: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:12] [ROWS] 33: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:12] [ROWS] 34: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:12] [ROWS] 35: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:12] [ROWS] 36: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:12] [ROWS] 37: SEPARATOR
[11:06:12] [ROWS] 38: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:06:12] [ROWS] 39: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:12] [ROWS] 40: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:06:12] [ROWS] 41: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:06:12] [ROWS] 42: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:06:12] [ROWS] 43: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:06:12] [ROWS] 44: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:12] [ROWS] 45: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:12] [ROWS] 46: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:12] [ROWS] 47: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:12] [ROWS] 48: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:06:12] [ROWS] 49: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:06:12] [ROWS] 50: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:12] [ROWS] 51: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:12] [ROWS] ===== END (updateMessageCell for 1598) =====
[11:06:12] [HEIGHT_DEBUG] Row 1 msg 1598: isPlayingEvolution=true, textLength=7, text='Pre;ier...'
[11:06:12] [HEIGHT] Row 1 msg 1598: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:06:12] [HEIGHT_DEBUG] Row 2 msg 1597: isPlayingEvolution=false, textLength=7, text='Nouveau...'
[11:06:12] [HEIGHT] Row 2 msg 1597: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:06:12] [HEIGHT_DEBUG] Row 1 msg 1598: isPlayingEvolution=true, textLength=7, text='Pre;ier...'
[11:06:12] [HEIGHT] Row 1 msg 1598: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:06:12] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:06:12] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:06:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:12] [HEIGHT_DEBUG] Row 2 msg 1597: isPlayingEvolution=false, textLength=7, text='Nouveau...'
[11:06:12] [HEIGHT] Row 2 msg 1597: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:06:12] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:12] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:12] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:12] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:12] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:12] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:12] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:12] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:12] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:13] [EVOLUTION] πŸ“ Event 7/15 - Text now: "Pre;ie..."
[11:06:13] [UPDATE] πŸ”„ updateMessageCell(for: 1598) β€” full safe reload
[11:06:13] [ROWS] ===== updateMessageCell for 1598 β€” chatRows.count=52 =====
[11:06:13] [ROWS] 0: SEPARATOR
[11:06:13] [ROWS] 1: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=6 textLen=7
[11:06:13] [ROWS] 2: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:13] [ROWS] 3: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:13] [ROWS] 4: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:13] [ROWS] 5: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:06:13] [ROWS] 6: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:06:13] [ROWS] 7: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:13] [ROWS] 8: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:13] [ROWS] 9: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:13] [ROWS] 10: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:13] [ROWS] 11: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:13] [ROWS] 12: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:13] [ROWS] 13: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:13] [ROWS] 14: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:13] [ROWS] 15: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:13] [ROWS] 16: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:13] [ROWS] 17: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:13] [ROWS] 18: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:13] [ROWS] 19: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:13] [ROWS] 20: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:13] [ROWS] 21: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:06:13] [ROWS] 22: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:13] [ROWS] 23: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:13] [ROWS] 24: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:06:13] [ROWS] 25: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:13] [ROWS] 26: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:13] [ROWS] 27: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:13] [ROWS] 28: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:06:13] [ROWS] 29: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:06:13] [ROWS] 30: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:13] [ROWS] 31: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:13] [ROWS] 32: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:13] [ROWS] 33: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:13] [ROWS] 34: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:13] [ROWS] 35: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:13] [ROWS] 36: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:13] [ROWS] 37: SEPARATOR
[11:06:13] [ROWS] 38: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:06:13] [ROWS] 39: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:13] [ROWS] 40: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:06:13] [ROWS] 41: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:06:13] [ROWS] 42: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:06:13] [ROWS] 43: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:06:13] [ROWS] 44: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:13] [ROWS] 45: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:13] [ROWS] 46: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:13] [ROWS] 47: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:13] [ROWS] 48: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:06:13] [ROWS] 49: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:06:13] [ROWS] 50: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:13] [ROWS] 51: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:13] [PUSH] get_message error: Error Domain=NSURLErrorDomain Code=-1005 "The network connection was lost." UserInfo={_kCFStreamErrorCodeKey=-4, NSUnderlyingError=0x1094a6ac0 {Error Domain=kCFErrorDomainCFNetwork Code=-1005 "(null)" UserInfo={NSErrorPeerAddressKey=<CFData 0x1141554f0 [0x1f43240d8]>{length = 16, capacity = 16, bytes = 0x1002005154e34b220000000000000000}, _kCFStreamErrorCodeKey=-4, _kCFStreamErrorDomainKey=4}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <C8234A81-D081-47F6-87EE-0F808881E45A>.<23>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
    "LocalDataTask <C8234A81-D081-47F6-87EE-0F808881E45A>.<23>"
), NSLocalizedDescription=The network connection was lost., NSErrorFailingURLStringKey=http://crivello.dyndns.org:81/WebRTC/chat/chat_get_messages.php?session_id=ILUIWU2&viewer=1&messages=1599, NSErrorFailingURLKey=http://crivello.dyndns.org:81/WebRTC/chat/chat_get_messages.php?session_id=ILUIWU2&viewer=1&messages=1599, _kCFStreamErrorDomainKey=4}
[11:06:13] [ROWS] ===== END (updateMessageCell for 1598) =====
[11:06:13] [EVT] get_events error: Error Domain=NSURLErrorDomain Code=-1005 "The network connection was lost." UserInfo={_kCFStreamErrorCodeKey=-4, NSUnderlyingError=0x1094a4f30 {Error Domain=kCFErrorDomainCFNetwork Code=-1005 "(null)" UserInfo={NSErrorPeerAddressKey=<CFData 0x114155630 [0x1f43240d8]>{length = 16, capacity = 16, bytes = 0x1002005154e34b220000000000000000}, _kCFStreamErrorCodeKey=-4, _kCFStreamErrorDomainKey=4}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <738C46DF-9CDB-4D52-BA8D-78E20F61CD27>.<24>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
    "LocalDataTask <738C46DF-9CDB-4D52-BA8D-78E20F61CD27>.<24>"
), NSLocalizedDescription=The network connection was lost., NSErrorFailingURLStringKey=http://crivello.dyndns.org:81/WebRTC/chat/get_events.php?session_id=ILUIWU2&viewer=1&since=10626, NSErrorFailingURLKey=http://crivello.dyndns.org:81/WebRTC/chat/get_events.php?session_id=ILUIWU2&viewer=1&since=10626, _kCFStreamErrorDomainKey=4}
[11:06:13] [HEIGHT_DEBUG] Row 1 msg 1598: isPlayingEvolution=true, textLength=6, text='Pre;ie...'
[11:06:13] [HEIGHT] Row 1 msg 1598: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:06:13] [HEIGHT_DEBUG] Row 2 msg 1597: isPlayingEvolution=false, textLength=7, text='Nouveau...'
[11:06:13] [HEIGHT] Row 2 msg 1597: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:06:13] [HEIGHT_DEBUG] Row 1 msg 1598: isPlayingEvolution=true, textLength=6, text='Pre;ie...'
[11:06:13] [HEIGHT] Row 1 msg 1598: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:06:13] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:06:13] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:06:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:13] [HEIGHT_DEBUG] Row 2 msg 1597: isPlayingEvolution=false, textLength=7, text='Nouveau...'
[11:06:13] [HEIGHT] Row 2 msg 1597: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:06:13] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:13] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:13] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:13] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:13] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:13] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:13] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:13] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:13] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:13] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_id"): 1599, AnyHashable("session_id"): ILUIWU2, AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("operation_type"): 3]
[11:06:13] [PUSH] Parsed message_id: 1599
[11:06:13] [PUSH] Parsed operation_type: 3
[11:06:13] [PUSH] Taking direct action: opType=3, messageId=1599
[11:06:13] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=1599
[11:06:13] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:06:13] [INFO_PAGE] Found 413 messages for session 'ILUIWU2'
[11:06:13] [INFO_PAGE] Total messages in database: 1179
[11:06:13] [EVOLUTION] πŸ“ Event 8/15 - Text now: "Pre;i..."
[11:06:13] [UPDATE] πŸ”„ updateMessageCell(for: 1598) β€” full safe reload
[11:06:13] [ROWS] ===== updateMessageCell for 1598 β€” chatRows.count=52 =====
[11:06:13] [ROWS] 0: SEPARATOR
[11:06:13] [ROWS] 1: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=5 textLen=7
[11:06:13] [ROWS] 2: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:13] [ROWS] 3: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:13] [ROWS] 4: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:13] [ROWS] 5: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:06:13] [ROWS] 6: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:06:13] [ROWS] 7: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:13] [ROWS] 8: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:13] [ROWS] 9: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:13] [ROWS] 10: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:13] [ROWS] 11: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:13] [ROWS] 12: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:13] [ROWS] 13: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:13] [ROWS] 14: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:13] [ROWS] 15: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:13] [ROWS] 16: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:13] [ROWS] 17: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:13] [ROWS] 18: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:13] [ROWS] 19: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:13] [ROWS] 20: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:13] [ROWS] 21: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:06:13] [ROWS] 22: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:13] [ROWS] 23: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:13] [ROWS] 24: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:06:13] [ROWS] 25: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:13] [ROWS] 26: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:13] [ROWS] 27: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:13] [ROWS] 28: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:06:13] [ROWS] 29: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:06:13] [ROWS] 30: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:13] [ROWS] 31: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:13] [ROWS] 32: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:13] [ROWS] 33: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:13] [ROWS] 34: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:13] [ROWS] 35: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:13] [ROWS] 36: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:13] [ROWS] 37: SEPARATOR
[11:06:13] [ROWS] 38: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:06:13] [ROWS] 39: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:13] [ROWS] 40: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:06:13] [ROWS] 41: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:06:13] [ROWS] 42: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:06:13] [ROWS] 43: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:06:13] [ROWS] 44: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:13] [ROWS] 45: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:13] [ROWS] 46: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:13] [ROWS] 47: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:13] [ROWS] 48: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:06:13] [ROWS] 49: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:06:13] [ROWS] 50: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:13] [ROWS] 51: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:13] [ROWS] ===== END (updateMessageCell for 1598) =====
[11:06:13] [HEIGHT_DEBUG] Row 1 msg 1598: isPlayingEvolution=true, textLength=5, text='Pre;i...'
[11:06:13] [HEIGHT] Row 1 msg 1598: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:06:13] [HEIGHT_DEBUG] Row 2 msg 1597: isPlayingEvolution=false, textLength=7, text='Nouveau...'
[11:06:13] [HEIGHT] Row 2 msg 1597: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:06:13] [HEIGHT_DEBUG] Row 1 msg 1598: isPlayingEvolution=true, textLength=5, text='Pre;i...'
[11:06:13] [HEIGHT] Row 1 msg 1598: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:06:13] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:06:13] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:06:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:13] [HEIGHT_DEBUG] Row 2 msg 1597: isPlayingEvolution=false, textLength=7, text='Nouveau...'
[11:06:13] [HEIGHT] Row 2 msg 1597: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:06:13] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:13] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:13] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:13] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:13] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:13] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:13] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:13] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:13] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:15] [CRASH] Previous session did not exit cleanly - crash detected
[11:06:15] [GIPHY] SDK not available - using REST API fallback
[11:06:15] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:06:15] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:06:15] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:06:15] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:06:15] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:06:15] [SCENE] Launched directly to chat view with sessionId: ILUIWU2
[11:06:15] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:06:15] Documents Directory: /var/mobile/Containers/Data/Application/FE4AD27A-C4F8-4F4C-8B34-D23B50695392/Documents
[11:06:15] [NOTIFICATION] πŸ”” Notification button created and added to topNavBar
[11:06:15] [NOTIFICATION] πŸ”” Button tintColor: grey (0.5, 0.5, 0.5)
[11:06:15] [NOTIFICATION] πŸ”” Button isUserInteractionEnabled: true
[11:06:15] [INFO_PAGE] InformationViewController viewDidLoad called
[11:06:15] [INFO_PAGE] Actions configured (bell button is external)
[11:06:15] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:06:15] [INFO_PAGE] Successfully opened database at /var/mobile/Containers/Data/Application/FE4AD27A-C4F8-4F4C-8B34-D23B50695392/Documents/chat_local_viewer.db
[11:06:15] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:06:15] [INFO_PAGE] Found 413 messages for session 'ILUIWU2'
[11:06:15] [INFO_PAGE] Total messages in database: 1179
[11:06:15] [INFO_PAGE] InformationViewController setup complete
[11:06:15] [INFO_PAGE] ℹ️ Information page added to tab 3
[11:06:15] [THEME] Applying current theme
[11:06:15] [CHAT] Applied day theme (mode: day)
[11:06:15] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:06:15] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:06:15] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:06:15] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:06:15] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:06:15] [SUMMARY] Already showed summary today (2025-11-16)
[11:06:15] Did transition
[11:06:15] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:06:15] [VIEWER] Screen lock enabled - normal idle behavior
[11:06:15] [QUERY] πŸ” Checking tab - currentTabIndex=0
[11:06:15] [QUERY] πŸ”΅ [TAB 0] No query connection needed
[11:06:15] [QUERY] βœ… [TAB 0] Initialized without query connection
[11:06:15] [LOCATION] Started location updates for distance calculation (already authorized)
[11:06:15] [TAB 0] Skipping reconnect polling - only needed for tab 1
[11:06:15] [VIEWER_INIT] Loading messages with read receipts from server
[11:06:15] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:06:15] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:06:15] [DB]   msg[0] id=1598, isMyMessage=false, readBy.count=0
[11:06:15] [DB]   msg[1] id=1597, isMyMessage=false, readBy.count=0
[11:06:15] [DB]   msg[2] id=1596, isMyMessage=false, readBy.count=0
[11:06:15] [EVOLUTION] πŸ” Found 0 NEW unread messages from local DB before fetching read receipts (lastSeenMessageId=1598): []
[11:06:15] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1598, readBy=[]", "id=1597, readBy=[]", "id=1596, readBy=[]"]
[11:06:15] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:06:15] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:06:15] [DB]   msg[0] id=1598, isMyMessage=false, readBy.count=0
[11:06:15] [DB]   msg[1] id=1597, isMyMessage=false, readBy.count=0
[11:06:15] [DB]   msg[2] id=1596, isMyMessage=false, readBy.count=0
[11:06:15] [EVENT_POLL] Starting periodic event polling for viewer mode (5s interval)
[11:06:15] [ORIENTATION] Updated pagingScrollView height to 247.5 for width 440.0
[11:06:15] [SUMMARY] Already showed summary today (2025-11-16)
[11:06:15] Did transition
[11:06:15] [NOTIFICATION] πŸ”” Constraints activated for notification button
[11:06:15] [NOTIFICATION] πŸ”” topNavBar frame: (0.0, 0.0, 440.0, 50.0)
[11:06:15] [NOTIFICATION] πŸ”” menuButton frame: (0.0, 0.0, 39.0, 30.0)
[11:06:15] [NOTIFICATION] πŸ”” notificationButton frame: (0.0, 0.0, 56.333333333333336, 58.0)
[11:06:15] [NOTIFICATION] πŸ”” Notification button brought to front
[11:06:15] [NOTIFICATION] πŸ”„ Updating icon to: bell.slash.fill (muted=true)
[11:06:15] [NOTIFICATION] βœ… Icon updated successfully
[11:06:15] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[11:06:15] [MIGRATION] No messages need sender_name backfill
[11:06:15] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:06:15] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:06:15] [DB]   msg[0] id=1598, isMyMessage=false, readBy.count=0
[11:06:15] [DB]   msg[1] id=1597, isMyMessage=false, readBy.count=0
[11:06:15] [DB]   msg[2] id=1596, isMyMessage=false, readBy.count=0
[11:06:15] [INFO_PAGE] InformationViewController viewWillAppear - applying theme
[11:06:15] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:06:15] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:06:15] [PAGINATION_SCROLL] offset=-12.0, contentHeight=108.0, distFromBottom=120.0, dragging=false, decel=false, isLoading=false, cooldown=63899057175.25s
[11:06:15] [PAGINATION_SCROLL] offset=0.0, contentHeight=108.0, distFromBottom=-650.0, dragging=false, decel=false, isLoading=false, cooldown=63899057175.251976s
[11:06:15] [LOCATION] Authorization changed: 4
[11:06:15] [LOCATION] Updated location: 46.50141056019663, 6.722693502233695
[11:06:15] [LOCATION] Updated location: 46.50141056019663, 6.722693502233695
[11:06:15] [NOTIFICATION] πŸ”” FINAL STATE after viewDidLoad:
[11:06:15] [NOTIFICATION] πŸ”” notificationButton.frame: (392.0, 67.0, 40.0, 40.0)
[11:06:15] [NOTIFICATION] πŸ”” notificationButton.isHidden: false
[11:06:15] [NOTIFICATION] πŸ”” notificationButton.alpha: 1.0
[11:06:15] [NOTIFICATION] πŸ”” notificationButton.superview: true
[11:06:15] [NOTIFICATION] πŸ”” topNavBar.isHidden: false
[11:06:15] [NOTIFICATION] πŸ”” topNavBar.subviews.count: 3
[11:06:15] [PUSH] handlePollEventsNotification userInfo: [:]
[11:06:15] [PUSH] No message_id in userInfo
[11:06:15] [PUSH] No operation_type in userInfo
[11:06:15] [PUSH] Performing full refresh to catch up on any missed messages
[11:06:15] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:06:15] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:06:15] [DB]   msg[0] id=1598, isMyMessage=false, readBy.count=0
[11:06:15] [DB]   msg[1] id=1597, isMyMessage=false, readBy.count=0
[11:06:15] [DB]   msg[2] id=1596, isMyMessage=false, readBy.count=0
[11:06:15] [EVOLUTION] πŸ” [FOREGROUND] Found 0 NEW unread messages after refreshAllFromServer (lastSeenMessageId=1598): []
[11:06:15] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:06:15] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:06:15] [DB]   msg[0] id=1598, isMyMessage=false, readBy.count=0
[11:06:15] [DB]   msg[1] id=1597, isMyMessage=false, readBy.count=0
[11:06:15] [DB]   msg[2] id=1596, isMyMessage=false, readBy.count=0
[11:06:15] [PUSH] APNs token: 6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c
[11:06:15] [PUSH] Device role updated to 'viewer': HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:06:15] [PUSH] Device role updated to 'viewer': HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:06:15] [USER] βœ… User registered successfully
[11:06:15] [USER] User registration successful
[11:06:15] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:06:15] [CHAT] βœ… refreshAllFromServer - parsed 414 messages from server
[11:06:15] [DB] clearDBForSession(ILUIWU2): deleted 413 messages, result=101
[11:06:15] ReloadData 15 (414 messages loaded, 0 pending media)
[11:06:15] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:06:15] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:06:15] [DB]   msg[0] id=1599, isMyMessage=false, readBy.count=0
[11:06:15] [DB]   msg[1] id=1598, isMyMessage=false, readBy.count=0
[11:06:15] [DB]   msg[2] id=1597, isMyMessage=false, readBy.count=0
[11:06:15] [EVOLUTION] πŸ” Found 1 NEW unread messages after refreshAllFromServer (lastSeenMessageId=1598): [1599]
[11:06:15] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1599, readBy=[]", "id=1598, readBy=[]", "id=1597, readBy=[]"]
[11:06:15] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:06:15] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:06:15] [DB]   msg[0] id=1599, isMyMessage=false, readBy.count=0
[11:06:15] [DB]   msg[1] id=1598, isMyMessage=false, readBy.count=0
[11:06:15] [DB]   msg[2] id=1597, isMyMessage=false, readBy.count=0
[11:06:15] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:06:15] [UNREAD_DEBUG]   FINAL msg[0] id=1598, readBy.count=1
[11:06:15] [UNREAD_DEBUG]   FINAL msg[1] id=1597, readBy.count=1
[11:06:15] [UNREAD_DEBUG]   FINAL msg[2] id=1596, readBy.count=1
[11:06:15] [VIEWER_INIT] Loaded 50 messages with read receipts, hasMore: true
[11:06:15] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:06:15] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:06:15] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:06:15] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:06:15] [ROWS] 0: SEPARATOR
[11:06:15] [ROWS] 1: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:15] [ROWS] 2: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:15] [ROWS] 3: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:15] [ROWS] 4: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:15] [ROWS] 5: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:06:15] [ROWS] 6: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:06:15] [ROWS] 7: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:15] [ROWS] 8: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:15] [ROWS] 9: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:15] [ROWS] 10: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:15] [ROWS] 11: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:15] [ROWS] 12: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:15] [ROWS] 13: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:15] [ROWS] 14: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:15] [ROWS] 15: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:15] [ROWS] 16: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:15] [ROWS] 17: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:15] [ROWS] 18: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:15] [ROWS] 19: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:15] [ROWS] 20: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:15] [ROWS] 21: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:06:15] [ROWS] 22: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:15] [ROWS] 23: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:15] [ROWS] 24: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:06:15] [ROWS] 25: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:15] [ROWS] 26: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:15] [ROWS] 27: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:15] [ROWS] 28: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:06:15] [ROWS] 29: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:06:15] [ROWS] 30: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:15] [ROWS] 31: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:15] [ROWS] 32: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:15] [ROWS] 33: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:15] [ROWS] 34: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:15] [ROWS] 35: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:15] [ROWS] 36: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:15] [ROWS] 37: SEPARATOR
[11:06:15] [ROWS] 38: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:06:15] [ROWS] 39: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:15] [ROWS] 40: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:06:15] [ROWS] 41: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:06:15] [ROWS] 42: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:06:15] [ROWS] 43: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:06:15] [ROWS] 44: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:15] [ROWS] 45: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:15] [ROWS] 46: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:15] [ROWS] 47: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:15] [ROWS] 48: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:06:15] [ROWS] 49: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:06:15] [ROWS] 50: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:15] [ROWS] 51: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:15] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:06:15] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:06:15] [HEIGHT_DEBUG] Row 1 msg 1598: isPlayingEvolution=false, textLength=7, text='Premier...'
[11:06:15] [EMOJI] βœ… Loaded 451 emoji-to-GIF mappings
[11:06:15] [HEIGHT] Row 1 msg 1598: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:06:15] [HEIGHT_DEBUG] Row 2 msg 1597: isPlayingEvolution=false, textLength=7, text='Nouveau...'
[11:06:15] [HEIGHT] Row 2 msg 1597: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:06:15] [HEIGHT_DEBUG] Row 1 msg 1598: isPlayingEvolution=false, textLength=7, text='Premier...'
[11:06:15] [HEIGHT] Row 1 msg 1598: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:06:15] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:06:15] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:06:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:15] [HEIGHT_DEBUG] Row 2 msg 1597: isPlayingEvolution=false, textLength=7, text='Nouveau...'
[11:06:15] [HEIGHT] Row 2 msg 1597: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:06:15] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:15] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:15] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:15] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:15] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:15] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:15] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:15] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:15] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:15] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:06:15] ReloadData 18 (viewer init with read receipts)
[11:06:15] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:06:15] [UNREAD_DEBUG]   FINAL msg[0] id=1598, readBy.count=1
[11:06:15] [UNREAD_DEBUG]   FINAL msg[1] id=1597, readBy.count=1
[11:06:15] [UNREAD_DEBUG]   FINAL msg[2] id=1596, readBy.count=1
[11:06:15] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:06:15] [UNREAD_DEBUG]   FINAL msg[0] id=1598, readBy.count=1
[11:06:15] [UNREAD_DEBUG]   FINAL msg[1] id=1597, readBy.count=1
[11:06:15] [UNREAD_DEBUG]   FINAL msg[2] id=1596, readBy.count=1
[11:06:15] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:06:15] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:06:15] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:06:15] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:06:15] [ROWS] 0: SEPARATOR
[11:06:15] [ROWS] 1: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:15] [ROWS] 2: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:15] [ROWS] 3: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:15] [ROWS] 4: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:15] [ROWS] 5: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:06:15] [ROWS] 6: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:06:15] [ROWS] 7: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:15] [ROWS] 8: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:15] [ROWS] 9: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:15] [ROWS] 10: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:15] [ROWS] 11: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:15] [ROWS] 12: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:15] [ROWS] 13: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:15] [ROWS] 14: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:15] [ROWS] 15: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:15] [ROWS] 16: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:15] [ROWS] 17: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:15] [ROWS] 18: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:15] [ROWS] 19: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:15] [ROWS] 20: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:15] [ROWS] 21: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:06:15] [ROWS] 22: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:15] [ROWS] 23: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:15] [ROWS] 24: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:06:15] [ROWS] 25: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:15] [ROWS] 26: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:15] [ROWS] 27: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:15] [ROWS] 28: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:06:15] [ROWS] 29: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:06:15] [ROWS] 30: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:15] [ROWS] 31: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:15] [ROWS] 32: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:15] [ROWS] 33: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:15] [ROWS] 34: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:15] [ROWS] 35: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:15] [ROWS] 36: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:15] [ROWS] 37: SEPARATOR
[11:06:15] [ROWS] 38: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:06:15] [ROWS] 39: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:15] [ROWS] 40: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:06:15] [ROWS] 41: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:06:15] [ROWS] 42: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:06:15] [ROWS] 43: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:06:15] [ROWS] 44: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:15] [ROWS] 45: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:15] [ROWS] 46: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:15] [ROWS] 47: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:15] [ROWS] 48: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:06:15] [ROWS] 49: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:06:15] [ROWS] 50: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:15] [ROWS] 51: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:15] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:06:15] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:06:15] [HEIGHT_DEBUG] Row 1 msg 1598: isPlayingEvolution=false, textLength=7, text='Premier...'
[11:06:15] [HEIGHT] Row 1 msg 1598: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:06:15] [HEIGHT_DEBUG] Row 2 msg 1597: isPlayingEvolution=false, textLength=7, text='Nouveau...'
[11:06:15] [HEIGHT] Row 2 msg 1597: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:06:15] [HEIGHT_DEBUG] Row 1 msg 1598: isPlayingEvolution=false, textLength=7, text='Premier...'
[11:06:15] [HEIGHT] Row 1 msg 1598: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:06:15] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:06:15] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:06:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:15] [HEIGHT_DEBUG] Row 2 msg 1597: isPlayingEvolution=false, textLength=7, text='Nouveau...'
[11:06:15] [HEIGHT] Row 2 msg 1597: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:06:15] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:15] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:15] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:15] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:15] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:15] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:15] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:15] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:15] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:15] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:06:15] [FOREGROUND_REFRESH] Loaded 50 messages, displaying 50 for tab 0
[11:06:15] [EVOLUTION] πŸ“­ No unread message IDs provided for evolution playback
[11:06:15] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:06:15] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:06:15] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:06:15] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:06:15] [ROWS] 0: SEPARATOR
[11:06:15] [ROWS] 1: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:15] [ROWS] 2: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:15] [ROWS] 3: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:15] [ROWS] 4: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:15] [ROWS] 5: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:06:15] [ROWS] 6: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:06:15] [ROWS] 7: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:15] [ROWS] 8: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:15] [ROWS] 9: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:15] [ROWS] 10: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:15] [ROWS] 11: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:15] [ROWS] 12: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:15] [ROWS] 13: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:15] [ROWS] 14: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:15] [ROWS] 15: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:15] [ROWS] 16: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:15] [ROWS] 17: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:15] [ROWS] 18: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:15] [ROWS] 19: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:15] [ROWS] 20: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:15] [ROWS] 21: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:06:15] [ROWS] 22: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:15] [ROWS] 23: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:15] [ROWS] 24: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:06:15] [ROWS] 25: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:15] [ROWS] 26: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:15] [ROWS] 27: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:15] [ROWS] 28: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:06:15] [ROWS] 29: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:06:15] [ROWS] 30: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:15] [ROWS] 31: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:15] [ROWS] 32: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:15] [ROWS] 33: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:15] [ROWS] 34: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:15] [ROWS] 35: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:15] [ROWS] 36: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:15] [ROWS] 37: SEPARATOR
[11:06:15] [ROWS] 38: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:06:15] [ROWS] 39: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:15] [ROWS] 40: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:06:15] [ROWS] 41: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:06:15] [ROWS] 42: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:06:15] [ROWS] 43: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:06:15] [ROWS] 44: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:15] [ROWS] 45: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:15] [ROWS] 46: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:15] [ROWS] 47: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:15] [ROWS] 48: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:06:15] [ROWS] 49: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:06:15] [ROWS] 50: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:15] [ROWS] 51: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:15] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:06:15] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:06:15] [HEIGHT_DEBUG] Row 1 msg 1598: isPlayingEvolution=false, textLength=7, text='Premier...'
[11:06:15] [HEIGHT] Row 1 msg 1598: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:06:15] [HEIGHT_DEBUG] Row 2 msg 1597: isPlayingEvolution=false, textLength=7, text='Nouveau...'
[11:06:15] [HEIGHT] Row 2 msg 1597: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:06:15] [HEIGHT_DEBUG] Row 1 msg 1598: isPlayingEvolution=false, textLength=7, text='Premier...'
[11:06:15] [HEIGHT] Row 1 msg 1598: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:06:15] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:06:15] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:06:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:15] [HEIGHT_DEBUG] Row 2 msg 1597: isPlayingEvolution=false, textLength=7, text='Nouveau...'
[11:06:15] [HEIGHT] Row 2 msg 1597: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:06:15] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:15] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:15] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:15] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:15] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:15] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:15] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:15] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:15] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:15] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:06:15] [INIT_PAGINATION] Loaded 50 total messages, displaying 50 for tab 0
[11:06:15] [EVOLUTION] πŸ“­ No unread message IDs provided for evolution playback
[11:06:16] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:06:16] [UNREAD_DEBUG]   FINAL msg[0] id=1599, readBy.count=0
[11:06:16] [UNREAD_DEBUG]   FINAL msg[1] id=1598, readBy.count=1
[11:06:16] [UNREAD_DEBUG]   FINAL msg[2] id=1597, readBy.count=1
[11:06:16] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:06:16] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:06:16] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:06:16] [EVOLUTION] πŸ“ Updated lastSeenMessageId: 1598 β†’ 1599
[11:06:16] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:06:16] [ROWS] 0: SEPARATOR
[11:06:16] [ROWS] 1: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:16] [ROWS] 2: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:16] [ROWS] 3: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:16] [ROWS] 4: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:16] [ROWS] 5: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:16] [ROWS] 6: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:06:16] [ROWS] 7: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:06:16] [ROWS] 8: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:16] [ROWS] 9: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:16] [ROWS] 10: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:16] [ROWS] 11: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:16] [ROWS] 12: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:16] [ROWS] 13: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:16] [ROWS] 14: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:16] [ROWS] 15: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:16] [ROWS] 16: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:16] [ROWS] 17: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:16] [ROWS] 18: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:16] [ROWS] 19: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:16] [ROWS] 20: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:16] [ROWS] 21: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:16] [ROWS] 22: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:06:16] [ROWS] 23: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:16] [ROWS] 24: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:16] [ROWS] 25: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:06:16] [ROWS] 26: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:16] [ROWS] 27: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:16] [ROWS] 28: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:16] [ROWS] 29: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:06:16] [ROWS] 30: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:06:16] [ROWS] 31: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:16] [ROWS] 32: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:16] [ROWS] 33: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:16] [ROWS] 34: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:16] [ROWS] 35: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:16] [ROWS] 36: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:16] [ROWS] 37: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:16] [ROWS] 38: SEPARATOR
[11:06:16] [ROWS] 39: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:06:16] [ROWS] 40: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:16] [ROWS] 41: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:06:16] [ROWS] 42: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:06:16] [ROWS] 43: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:06:16] [ROWS] 44: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:06:16] [ROWS] 45: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:16] [ROWS] 46: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:16] [ROWS] 47: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:16] [ROWS] 48: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:16] [ROWS] 49: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:06:16] [ROWS] 50: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:06:16] [ROWS] 51: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:16] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:06:16] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:06:16] [HEIGHT_DEBUG] Row 1 msg 1599: isPlayingEvolution=false, textLength=6, text='Second...'
[11:06:16] [HEIGHT] Row 1 msg 1599: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:06:16] [HEIGHT_DEBUG] Row 2 msg 1598: isPlayingEvolution=false, textLength=7, text='Premier...'
[11:06:16] [HEIGHT] Row 2 msg 1598: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:06:16] [HEIGHT_DEBUG] Row 1 msg 1599: isPlayingEvolution=false, textLength=6, text='Second...'
[11:06:16] [HEIGHT] Row 1 msg 1599: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:06:16] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:06:16] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:16] [HEIGHT_DEBUG] Row 2 msg 1598: isPlayingEvolution=false, textLength=7, text='Premier...'
[11:06:16] [HEIGHT] Row 2 msg 1598: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:06:16] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:16] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:16] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:16] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:16] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:16] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:16] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:16] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:16] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:16] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:06:16] [INITIAL_LOAD] Loaded 50 messages (first page), displaying 50 for tab 0, hasMore: true
[11:06:16] ReloadData 1
[11:06:16] [PURGE] Deleted 0 unused media files:

[11:06:16] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:06:16] [EVOLUTION] πŸ“¬ Preparing 1 unread message(s) for evolution playback: [1599]
[11:06:16] [EVOLUTION] 🎬 Preparing message 1599 for evolution playback (app launch)
[11:06:16] [EVOLUTION] πŸ” Reloading table for evolution - chatMessages.count=50
[11:06:16] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:06:16] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:06:16] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:06:16] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:06:16] [ROWS] 0: SEPARATOR
[11:06:16] [ROWS] 1: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=6
[11:06:16] [ROWS] 2: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:16] [ROWS] 3: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:16] [ROWS] 4: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:16] [ROWS] 5: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:16] [ROWS] 6: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:06:16] [ROWS] 7: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:06:16] [ROWS] 8: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:16] [ROWS] 9: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:16] [ROWS] 10: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:16] [ROWS] 11: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:16] [ROWS] 12: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:16] [ROWS] 13: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:16] [ROWS] 14: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:16] [ROWS] 15: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:16] [ROWS] 16: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:16] [ROWS] 17: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:16] [ROWS] 18: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:16] [ROWS] 19: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:16] [ROWS] 20: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:16] [ROWS] 21: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:16] [ROWS] 22: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:06:16] [ROWS] 23: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:16] [ROWS] 24: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:16] [ROWS] 25: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:06:16] [ROWS] 26: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:16] [ROWS] 27: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:16] [ROWS] 28: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:16] [ROWS] 29: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:06:16] [ROWS] 30: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:06:16] [ROWS] 31: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:16] [ROWS] 32: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:16] [ROWS] 33: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:16] [ROWS] 34: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:16] [ROWS] 35: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:16] [ROWS] 36: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:16] [ROWS] 37: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:16] [ROWS] 38: SEPARATOR
[11:06:16] [ROWS] 39: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:06:16] [ROWS] 40: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:16] [ROWS] 41: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:06:16] [ROWS] 42: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:06:16] [ROWS] 43: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:06:16] [ROWS] 44: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:06:16] [ROWS] 45: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:16] [ROWS] 46: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:16] [ROWS] 47: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:16] [ROWS] 48: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:16] [ROWS] 49: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:06:16] [ROWS] 50: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:06:16] [ROWS] 51: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:16] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:06:16] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:06:16] [HEIGHT_DEBUG] Row 1 msg 1599: isPlayingEvolution=true, textLength=0, text='...'
[11:06:16] [HEIGHT] Row 1 msg 1599: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:06:16] [HEIGHT_DEBUG] Row 2 msg 1598: isPlayingEvolution=false, textLength=7, text='Premier...'
[11:06:16] [HEIGHT] Row 2 msg 1598: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:06:16] [HEIGHT_DEBUG] Row 1 msg 1599: isPlayingEvolution=true, textLength=0, text='...'
[11:06:16] [HEIGHT] Row 1 msg 1599: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:06:16] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:06:16] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:06:16] [HEIGHT_DEBUG] Row 2 msg 1598: isPlayingEvolution=false, textLength=7, text='Premier...'
[11:06:16] [HEIGHT] Row 2 msg 1598: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:06:16] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:16] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:16] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:16] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:16] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:16] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:16] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:16] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:16] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:16] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:06:16] [EVOLUTION] πŸ“ Queued 1 messages for sequential playback: [1599]
[11:06:16] [EVOLUTION] 🎬 Starting sequential playback of queued messages
[11:06:16] [EVOLUTION] ▢️ Playing next queued message 1599 - 0 remaining in queue
[11:06:16] [EVOLUTION] πŸ“‘ Fetching evolution data for message 1599
[11:06:16] [EVOLUTION] πŸ” Raw response (307 bytes): {"ok":true,"has_evolution":true,"message_id":1599,"evolution":{"events":[{"op":"i","p":0,"t":0,"c":"S"},{"op":"i","p":1,"t":323,"c":"e"},{"t":525,"c":"c","op":"i","p":2},{"op":"i","p":3,"c":"o","t":65
[11:06:16] [EVOLUTION] πŸ” Parsed JSON keys: ["created_at", "evolution", "has_evolution", "message_id", "ok"]
[11:06:16] [EVOLUTION] πŸ” has_evolution: 1
[11:06:16] [EVOLUTION] βœ… Got 6 events for message 1599
[11:06:16] [OVERLAP_FIX] πŸš€ Starting evolution - forcing initial height recalculation
[11:06:16] [UPDATE] πŸ”„ updateMessageCell(for: 1599) β€” full safe reload
[11:06:16] [ROWS] ===== updateMessageCell for 1599 β€” chatRows.count=52 =====
[11:06:16] [ROWS] 0: SEPARATOR
[11:06:16] [ROWS] 1: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=6
[11:06:16] [ROWS] 2: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:16] [ROWS] 3: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:16] [ROWS] 4: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:16] [ROWS] 5: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:16] [ROWS] 6: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:06:16] [ROWS] 7: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:06:16] [ROWS] 8: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:16] [ROWS] 9: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:16] [ROWS] 10: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:16] [ROWS] 11: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:16] [ROWS] 12: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:16] [ROWS] 13: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:16] [ROWS] 14: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:16] [ROWS] 15: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:16] [ROWS] 16: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:16] [ROWS] 17: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:16] [ROWS] 18: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:16] [ROWS] 19: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:16] [ROWS] 20: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:16] [ROWS] 21: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:16] [ROWS] 22: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:06:16] [ROWS] 23: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:16] [ROWS] 24: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:16] [ROWS] 25: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:06:16] [ROWS] 26: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:16] [ROWS] 27: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:16] [ROWS] 28: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:16] [ROWS] 29: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:06:16] [ROWS] 30: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:06:16] [ROWS] 31: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:16] [ROWS] 32: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:16] [ROWS] 33: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:16] [ROWS] 34: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:16] [ROWS] 35: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:16] [ROWS] 36: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:16] [ROWS] 37: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:16] [ROWS] 38: SEPARATOR
[11:06:16] [ROWS] 39: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:06:16] [ROWS] 40: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:16] [ROWS] 41: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:06:16] [ROWS] 42: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:06:16] [ROWS] 43: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:06:16] [ROWS] 44: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:06:16] [ROWS] 45: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:16] [ROWS] 46: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:16] [ROWS] 47: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:16] [ROWS] 48: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:16] [ROWS] 49: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:06:16] [ROWS] 50: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:06:16] [ROWS] 51: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:16] [ROWS] ===== END (updateMessageCell for 1599) =====
[11:06:16] [HEIGHT_DEBUG] Row 1 msg 1599: isPlayingEvolution=true, textLength=0, text='...'
[11:06:16] [HEIGHT] Row 1 msg 1599: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:06:16] [HEIGHT_DEBUG] Row 2 msg 1598: isPlayingEvolution=false, textLength=7, text='Premier...'
[11:06:16] [HEIGHT] Row 2 msg 1598: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:06:16] [HEIGHT_DEBUG] Row 1 msg 1599: isPlayingEvolution=true, textLength=0, text='...'
[11:06:16] [HEIGHT] Row 1 msg 1599: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:06:16] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:06:16] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:06:16] [HEIGHT_DEBUG] Row 2 msg 1598: isPlayingEvolution=false, textLength=7, text='Premier...'
[11:06:16] [HEIGHT] Row 2 msg 1598: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:06:16] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:16] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:16] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:16] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:16] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:16] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:16] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:16] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:16] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:16] [EVOLUTION] ▢️ Starting inline playback for message 1599 with 6 events
[11:06:16] [EVOLUTION] πŸ“ Event 0/6 - Text now: "S..."
[11:06:16] [UPDATE] πŸ”„ updateMessageCell(for: 1599) β€” full safe reload
[11:06:16] [ROWS] ===== updateMessageCell for 1599 β€” chatRows.count=52 =====
[11:06:16] [ROWS] 0: SEPARATOR
[11:06:16] [ROWS] 1: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=1 textLen=6
[11:06:16] [ROWS] 2: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:16] [ROWS] 3: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:16] [ROWS] 4: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:16] [ROWS] 5: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:16] [ROWS] 6: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:06:16] [ROWS] 7: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:06:16] [ROWS] 8: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:16] [ROWS] 9: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:16] [ROWS] 10: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:16] [ROWS] 11: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:16] [ROWS] 12: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:16] [ROWS] 13: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:16] [ROWS] 14: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:16] [ROWS] 15: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:16] [ROWS] 16: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:16] [ROWS] 17: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:16] [ROWS] 18: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:16] [ROWS] 19: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:16] [ROWS] 20: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:16] [ROWS] 21: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:16] [ROWS] 22: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:06:16] [ROWS] 23: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:16] [ROWS] 24: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:16] [ROWS] 25: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:06:16] [ROWS] 26: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:16] [ROWS] 27: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:16] [ROWS] 28: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:16] [ROWS] 29: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:06:16] [ROWS] 30: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:06:16] [ROWS] 31: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:16] [ROWS] 32: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:16] [ROWS] 33: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:16] [ROWS] 34: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:16] [ROWS] 35: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:16] [ROWS] 36: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:16] [ROWS] 37: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:16] [ROWS] 38: SEPARATOR
[11:06:16] [ROWS] 39: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:06:16] [ROWS] 40: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:16] [ROWS] 41: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:06:16] [ROWS] 42: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:06:16] [ROWS] 43: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:06:16] [ROWS] 44: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:06:16] [ROWS] 45: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:16] [ROWS] 46: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:16] [ROWS] 47: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:16] [ROWS] 48: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:16] [ROWS] 49: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:06:16] [ROWS] 50: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:06:16] [ROWS] 51: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:16] [ROWS] ===== END (updateMessageCell for 1599) =====
[11:06:16] [HEIGHT_DEBUG] Row 1 msg 1599: isPlayingEvolution=true, textLength=1, text='S...'
[11:06:16] [HEIGHT] Row 1 msg 1599: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:06:16] [HEIGHT_DEBUG] Row 2 msg 1598: isPlayingEvolution=false, textLength=7, text='Premier...'
[11:06:16] [HEIGHT] Row 2 msg 1598: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:06:16] [HEIGHT_DEBUG] Row 1 msg 1599: isPlayingEvolution=true, textLength=1, text='S...'
[11:06:16] [HEIGHT] Row 1 msg 1599: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:06:16] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:06:16] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:16] [HEIGHT_DEBUG] Row 2 msg 1598: isPlayingEvolution=false, textLength=7, text='Premier...'
[11:06:16] [HEIGHT] Row 2 msg 1598: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:06:16] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:16] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:16] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:16] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:16] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:16] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:16] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:16] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:16] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:16] [EVOLUTION] πŸ“ Event 1/6 - Text now: "Se..."
[11:06:16] [UPDATE] πŸ”„ updateMessageCell(for: 1599) β€” full safe reload
[11:06:16] [ROWS] ===== updateMessageCell for 1599 β€” chatRows.count=52 =====
[11:06:16] [ROWS] 0: SEPARATOR
[11:06:16] [ROWS] 1: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=2 textLen=6
[11:06:16] [ROWS] 2: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:16] [ROWS] 3: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:16] [ROWS] 4: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:16] [ROWS] 5: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:16] [ROWS] 6: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:06:16] [ROWS] 7: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:06:16] [ROWS] 8: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:16] [ROWS] 9: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:16] [ROWS] 10: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:16] [ROWS] 11: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:16] [ROWS] 12: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:16] [ROWS] 13: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:16] [ROWS] 14: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:16] [ROWS] 15: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:16] [ROWS] 16: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:16] [ROWS] 17: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:16] [ROWS] 18: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:16] [ROWS] 19: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:16] [ROWS] 20: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:16] [ROWS] 21: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:16] [ROWS] 22: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:06:16] [ROWS] 23: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:16] [ROWS] 24: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:16] [ROWS] 25: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:06:16] [ROWS] 26: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:16] [ROWS] 27: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:16] [ROWS] 28: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:16] [ROWS] 29: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:06:16] [ROWS] 30: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:06:16] [ROWS] 31: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:16] [ROWS] 32: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:16] [ROWS] 33: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:16] [ROWS] 34: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:16] [ROWS] 35: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:16] [ROWS] 36: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:16] [ROWS] 37: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:16] [ROWS] 38: SEPARATOR
[11:06:16] [ROWS] 39: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:06:16] [ROWS] 40: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:16] [ROWS] 41: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:06:16] [ROWS] 42: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:06:16] [ROWS] 43: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:06:16] [ROWS] 44: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:06:16] [ROWS] 45: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:16] [ROWS] 46: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:16] [ROWS] 47: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:16] [ROWS] 48: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:16] [ROWS] 49: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:06:16] [ROWS] 50: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:06:16] [ROWS] 51: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:16] [ROWS] ===== END (updateMessageCell for 1599) =====
[11:06:16] [HEIGHT_DEBUG] Row 1 msg 1599: isPlayingEvolution=true, textLength=2, text='Se...'
[11:06:16] [HEIGHT] Row 1 msg 1599: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:06:16] [HEIGHT_DEBUG] Row 2 msg 1598: isPlayingEvolution=false, textLength=7, text='Premier...'
[11:06:16] [HEIGHT] Row 2 msg 1598: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:06:16] [HEIGHT_DEBUG] Row 1 msg 1599: isPlayingEvolution=true, textLength=2, text='Se...'
[11:06:16] [HEIGHT] Row 1 msg 1599: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:06:16] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:06:16] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:16] [HEIGHT_DEBUG] Row 2 msg 1598: isPlayingEvolution=false, textLength=7, text='Premier...'
[11:06:16] [HEIGHT] Row 2 msg 1598: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:06:16] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:16] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:16] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:16] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:16] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:16] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:16] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:16] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:16] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:16] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU2, AnyHashable("message_id"): 1599]
[11:06:16] [PUSH] Parsed message_id: 1599
[11:06:16] [PUSH] Parsed operation_type: 3
[11:06:16] [PUSH] Taking direct action: opType=3, messageId=1599
[11:06:16] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=1599
[11:06:16] [EVOLUTION] πŸ“ Event 2/6 - Text now: "Sec..."
[11:06:16] [UPDATE] πŸ”„ updateMessageCell(for: 1599) β€” full safe reload
[11:06:16] [ROWS] ===== updateMessageCell for 1599 β€” chatRows.count=52 =====
[11:06:16] [ROWS] 0: SEPARATOR
[11:06:16] [ROWS] 1: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=3 textLen=6
[11:06:16] [ROWS] 2: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:16] [ROWS] 3: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:16] [ROWS] 4: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:16] [ROWS] 5: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:16] [ROWS] 6: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:06:16] [ROWS] 7: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:06:16] [ROWS] 8: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:16] [ROWS] 9: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:16] [ROWS] 10: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:16] [ROWS] 11: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:16] [ROWS] 12: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:16] [ROWS] 13: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:16] [ROWS] 14: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:16] [ROWS] 15: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:16] [ROWS] 16: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:16] [ROWS] 17: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:16] [ROWS] 18: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:16] [ROWS] 19: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:16] [ROWS] 20: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:16] [ROWS] 21: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:16] [ROWS] 22: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:06:16] [ROWS] 23: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:16] [ROWS] 24: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:16] [ROWS] 25: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:06:16] [ROWS] 26: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:16] [ROWS] 27: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:16] [ROWS] 28: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:16] [ROWS] 29: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:06:16] [ROWS] 30: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:06:16] [ROWS] 31: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:16] [ROWS] 32: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:16] [ROWS] 33: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:16] [ROWS] 34: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:16] [ROWS] 35: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:16] [ROWS] 36: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:16] [ROWS] 37: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:16] [ROWS] 38: SEPARATOR
[11:06:16] [ROWS] 39: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:06:16] [ROWS] 40: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:16] [ROWS] 41: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:06:16] [ROWS] 42: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:06:16] [ROWS] 43: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:06:16] [ROWS] 44: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:06:16] [ROWS] 45: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:16] [ROWS] 46: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:16] [ROWS] 47: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:16] [ROWS] 48: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:16] [ROWS] 49: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:06:16] [ROWS] 50: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:06:16] [ROWS] 51: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:16] [ROWS] ===== END (updateMessageCell for 1599) =====
[11:06:16] [HEIGHT_DEBUG] Row 1 msg 1599: isPlayingEvolution=true, textLength=3, text='Sec...'
[11:06:16] [HEIGHT] Row 1 msg 1599: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:06:16] [HEIGHT_DEBUG] Row 2 msg 1598: isPlayingEvolution=false, textLength=7, text='Premier...'
[11:06:16] [HEIGHT] Row 2 msg 1598: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:06:16] [HEIGHT_DEBUG] Row 1 msg 1599: isPlayingEvolution=true, textLength=3, text='Sec...'
[11:06:16] [HEIGHT] Row 1 msg 1599: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:06:16] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:06:16] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:16] [HEIGHT_DEBUG] Row 2 msg 1598: isPlayingEvolution=false, textLength=7, text='Premier...'
[11:06:16] [HEIGHT] Row 2 msg 1598: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:06:16] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:16] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:16] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:16] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:16] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:16] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:16] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:16] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:16] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:17] [EVOLUTION] πŸ“ Event 3/6 - Text now: "Seco..."
[11:06:17] [UPDATE] πŸ”„ updateMessageCell(for: 1599) β€” full safe reload
[11:06:17] [ROWS] ===== updateMessageCell for 1599 β€” chatRows.count=52 =====
[11:06:17] [ROWS] 0: SEPARATOR
[11:06:17] [ROWS] 1: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=4 textLen=6
[11:06:17] [ROWS] 2: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:17] [ROWS] 3: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:17] [ROWS] 4: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:17] [ROWS] 5: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:17] [ROWS] 6: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:06:17] [ROWS] 7: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:06:17] [ROWS] 8: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:17] [ROWS] 9: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:17] [ROWS] 10: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:17] [ROWS] 11: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:17] [ROWS] 12: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:17] [ROWS] 13: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:17] [ROWS] 14: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:17] [ROWS] 15: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:17] [ROWS] 16: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:17] [ROWS] 17: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:17] [ROWS] 18: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:17] [ROWS] 19: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:17] [ROWS] 20: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:17] [ROWS] 21: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:17] [ROWS] 22: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:06:17] [ROWS] 23: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:17] [ROWS] 24: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:17] [ROWS] 25: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:06:17] [ROWS] 26: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:17] [ROWS] 27: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:17] [ROWS] 28: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:17] [ROWS] 29: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:06:17] [ROWS] 30: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:06:17] [ROWS] 31: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:17] [ROWS] 32: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:17] [ROWS] 33: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:17] [ROWS] 34: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:17] [ROWS] 35: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:17] [ROWS] 36: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:17] [ROWS] 37: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:17] [ROWS] 38: SEPARATOR
[11:06:17] [ROWS] 39: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:06:17] [ROWS] 40: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:17] [ROWS] 41: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:06:17] [ROWS] 42: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:06:17] [ROWS] 43: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:06:17] [ROWS] 44: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:06:17] [ROWS] 45: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:17] [ROWS] 46: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:17] [ROWS] 47: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:17] [ROWS] 48: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:17] [ROWS] 49: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:06:17] [ROWS] 50: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:06:17] [ROWS] 51: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:17] [ROWS] ===== END (updateMessageCell for 1599) =====
[11:06:17] [HEIGHT_DEBUG] Row 1 msg 1599: isPlayingEvolution=true, textLength=4, text='Seco...'
[11:06:17] [HEIGHT] Row 1 msg 1599: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:06:17] [HEIGHT_DEBUG] Row 2 msg 1598: isPlayingEvolution=false, textLength=7, text='Premier...'
[11:06:17] [HEIGHT] Row 2 msg 1598: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:06:17] [HEIGHT_DEBUG] Row 1 msg 1599: isPlayingEvolution=true, textLength=4, text='Seco...'
[11:06:17] [HEIGHT] Row 1 msg 1599: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:06:17] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:06:17] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:06:17] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:17] [HEIGHT_DEBUG] Row 2 msg 1598: isPlayingEvolution=false, textLength=7, text='Premier...'
[11:06:17] [HEIGHT] Row 2 msg 1598: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:06:17] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:17] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:17] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:17] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:17] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:17] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:17] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:17] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:17] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:17] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:17] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:17] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:17] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:17] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:17] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:17] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:17] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:17] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:17] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:17] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:17] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:17] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:17] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:17] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:17] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:17] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:17] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:17] [EVOLUTION] πŸ“ Event 4/6 - Text now: "Secon..."
[11:06:17] [UPDATE] πŸ”„ updateMessageCell(for: 1599) β€” full safe reload
[11:06:17] [ROWS] ===== updateMessageCell for 1599 β€” chatRows.count=52 =====
[11:06:17] [ROWS] 0: SEPARATOR
[11:06:17] [ROWS] 1: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=5 textLen=6
[11:06:17] [ROWS] 2: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:17] [ROWS] 3: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:17] [ROWS] 4: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:17] [ROWS] 5: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:17] [ROWS] 6: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:06:17] [ROWS] 7: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:06:17] [ROWS] 8: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:17] [ROWS] 9: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:17] [ROWS] 10: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:17] [ROWS] 11: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:17] [ROWS] 12: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:17] [ROWS] 13: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:17] [ROWS] 14: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:17] [ROWS] 15: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:17] [ROWS] 16: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:17] [ROWS] 17: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:17] [ROWS] 18: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:17] [ROWS] 19: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:17] [ROWS] 20: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:17] [ROWS] 21: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:17] [ROWS] 22: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:06:17] [ROWS] 23: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:17] [ROWS] 24: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:17] [ROWS] 25: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:06:17] [ROWS] 26: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:17] [ROWS] 27: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:17] [ROWS] 28: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:17] [ROWS] 29: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:06:17] [ROWS] 30: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:06:17] [ROWS] 31: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:17] [ROWS] 32: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:17] [ROWS] 33: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:17] [ROWS] 34: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:17] [ROWS] 35: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:17] [ROWS] 36: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:17] [ROWS] 37: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:17] [ROWS] 38: SEPARATOR
[11:06:17] [ROWS] 39: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:06:17] [ROWS] 40: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:17] [ROWS] 41: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:06:17] [ROWS] 42: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:06:17] [ROWS] 43: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:06:17] [ROWS] 44: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:06:17] [ROWS] 45: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:17] [ROWS] 46: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:17] [ROWS] 47: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:17] [ROWS] 48: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:17] [ROWS] 49: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:06:17] [ROWS] 50: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:06:17] [ROWS] 51: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:17] [ROWS] ===== END (updateMessageCell for 1599) =====
[11:06:17] [HEIGHT_DEBUG] Row 1 msg 1599: isPlayingEvolution=true, textLength=5, text='Secon...'
[11:06:17] [HEIGHT] Row 1 msg 1599: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:06:17] [HEIGHT_DEBUG] Row 2 msg 1598: isPlayingEvolution=false, textLength=7, text='Premier...'
[11:06:17] [HEIGHT] Row 2 msg 1598: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:06:17] [HEIGHT_DEBUG] Row 1 msg 1599: isPlayingEvolution=true, textLength=5, text='Secon...'
[11:06:17] [HEIGHT] Row 1 msg 1599: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:06:17] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:06:17] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:06:17] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:17] [HEIGHT_DEBUG] Row 2 msg 1598: isPlayingEvolution=false, textLength=7, text='Premier...'
[11:06:17] [HEIGHT] Row 2 msg 1598: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:06:17] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:17] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:17] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:17] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:17] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:17] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:17] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:17] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:17] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:17] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:17] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:17] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:17] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:17] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:17] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:17] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:17] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:17] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:17] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:17] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:17] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:17] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:17] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:17] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:17] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:17] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:17] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:17] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:06:17] Will get events_php
[11:06:17] [TYPING] πŸ”„ ========== POLL START ==========
[11:06:17] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:06:17] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:06:17] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:06:17] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:06:17] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:06:17] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:06:17] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:06:17] [TYPING] πŸ“₯ Found 0 typing users in response
[11:06:17] [TYPING] πŸ“₯ Updating typing users SET: []
[11:06:17] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:06:17] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:06:17] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:06:17] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:06:17] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:06:17] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:06:17] [TYPING] πŸ”„ ========== POLL END ==========
[11:06:17] [EVT] get_events.php HTTP 200
── Response Headers ──
Server: Apache/2.4.65 (Unix) PHP/8.4.14
X-Powered-By: PHP/8.4.14
Date: Sun, 16 Nov 2025 10:06:17 GMT
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=97
Connection: Keep-Alive
Content-Length: 280
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":3,"events":[{"event_id":10628,"event_type":3,"message_id":1599,"session_id":"ILUIWU2"},{"event_id":10629,"event_type":3,"message_id":1599,"session_id":"ILUIWU2"},{"event_id":10630,"event_type":3,"message_id":1599,"session_id":"ILUIWU2"}]}
[11:06:17] Done
[11:06:17] [EVOLUTION] πŸ“ Event 5/6 - Text now: "Second..."
[11:06:17] [UPDATE] πŸ”„ updateMessageCell(for: 1599) β€” full safe reload
[11:06:17] [ROWS] ===== updateMessageCell for 1599 β€” chatRows.count=52 =====
[11:06:17] [ROWS] 0: SEPARATOR
[11:06:17] [ROWS] 1: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=6 textLen=6
[11:06:17] [ROWS] 2: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:17] [ROWS] 3: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:17] [ROWS] 4: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:17] [ROWS] 5: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:17] [ROWS] 6: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:06:17] [ROWS] 7: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:06:17] [ROWS] 8: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:17] [ROWS] 9: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:17] [ROWS] 10: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:17] [ROWS] 11: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:17] [ROWS] 12: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:17] [ROWS] 13: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:17] [ROWS] 14: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:17] [ROWS] 15: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:17] [ROWS] 16: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:17] [ROWS] 17: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:17] [ROWS] 18: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:17] [ROWS] 19: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:17] [ROWS] 20: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:17] [ROWS] 21: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:17] [ROWS] 22: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:06:17] [ROWS] 23: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:17] [ROWS] 24: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:17] [ROWS] 25: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:06:17] [ROWS] 26: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:17] [ROWS] 27: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:17] [ROWS] 28: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:17] [ROWS] 29: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:06:17] [ROWS] 30: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:06:17] [ROWS] 31: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:17] [ROWS] 32: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:17] [ROWS] 33: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:17] [ROWS] 34: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:17] [ROWS] 35: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:17] [ROWS] 36: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:17] [ROWS] 37: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:17] [ROWS] 38: SEPARATOR
[11:06:17] [ROWS] 39: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:06:17] [ROWS] 40: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:17] [ROWS] 41: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:06:17] [ROWS] 42: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:06:17] [ROWS] 43: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:06:17] [ROWS] 44: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:06:17] [ROWS] 45: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:17] [ROWS] 46: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:17] [ROWS] 47: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:17] [ROWS] 48: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:17] [ROWS] 49: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:06:17] [ROWS] 50: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:06:17] [ROWS] 51: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:17] [ROWS] ===== END (updateMessageCell for 1599) =====
[11:06:17] [HEIGHT_DEBUG] Row 1 msg 1599: isPlayingEvolution=true, textLength=6, text='Second...'
[11:06:17] [HEIGHT] Row 1 msg 1599: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:06:17] [HEIGHT_DEBUG] Row 2 msg 1598: isPlayingEvolution=false, textLength=7, text='Premier...'
[11:06:17] [HEIGHT] Row 2 msg 1598: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:06:17] [HEIGHT_DEBUG] Row 1 msg 1599: isPlayingEvolution=true, textLength=6, text='Second...'
[11:06:17] [HEIGHT] Row 1 msg 1599: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:06:17] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:06:17] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:06:17] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:17] [HEIGHT_DEBUG] Row 2 msg 1598: isPlayingEvolution=false, textLength=7, text='Premier...'
[11:06:17] [HEIGHT] Row 2 msg 1598: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:06:17] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:17] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:17] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:17] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:17] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:17] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:17] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:17] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:17] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:17] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:17] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:17] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:17] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:17] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:17] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:17] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:17] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:17] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:17] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:17] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:17] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:17] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:17] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:17] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:17] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:17] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:17] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:17] [EVOLUTION] βœ… Finished playback for message 1599
[11:06:17] [UPDATE] πŸ”„ updateMessageCell(for: 1599) β€” full safe reload
[11:06:17] [ROWS] ===== updateMessageCell for 1599 β€” chatRows.count=52 =====
[11:06:17] [ROWS] 0: SEPARATOR
[11:06:17] [ROWS] 1: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=6 textLen=6
[11:06:17] [ROWS] 2: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:17] [ROWS] 3: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:17] [ROWS] 4: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:17] [ROWS] 5: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:17] [ROWS] 6: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:06:17] [ROWS] 7: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:06:17] [ROWS] 8: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:17] [ROWS] 9: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:17] [ROWS] 10: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:17] [ROWS] 11: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:17] [ROWS] 12: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:17] [ROWS] 13: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:17] [ROWS] 14: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:17] [ROWS] 15: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:17] [ROWS] 16: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:17] [ROWS] 17: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:17] [ROWS] 18: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:17] [ROWS] 19: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:17] [ROWS] 20: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:17] [ROWS] 21: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:06:17] [ROWS] 22: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:06:17] [ROWS] 23: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:17] [ROWS] 24: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:17] [ROWS] 25: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:06:17] [ROWS] 26: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:17] [ROWS] 27: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:17] [ROWS] 28: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:17] [ROWS] 29: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:06:17] [ROWS] 30: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:06:17] [ROWS] 31: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:06:17] [ROWS] 32: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:17] [ROWS] 33: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:17] [ROWS] 34: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:17] [ROWS] 35: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:17] [ROWS] 36: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:17] [ROWS] 37: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:06:17] [ROWS] 38: SEPARATOR
[11:06:17] [ROWS] 39: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:06:17] [ROWS] 40: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:17] [ROWS] 41: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:06:17] [ROWS] 42: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:06:17] [ROWS] 43: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:06:17] [ROWS] 44: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:06:17] [ROWS] 45: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:06:17] [ROWS] 46: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:06:17] [ROWS] 47: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:17] [ROWS] 48: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:06:17] [ROWS] 49: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:06:17] [ROWS] 50: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:06:17] [ROWS] 51: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:06:17] [ROWS] ===== END (updateMessageCell for 1599) =====
[11:06:17] [HEIGHT_DEBUG] Row 1 msg 1599: isPlayingEvolution=false, textLength=6, text='Second...'
[11:06:17] [HEIGHT] Row 1 msg 1599: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:06:17] [HEIGHT_DEBUG] Row 2 msg 1598: isPlayingEvolution=false, textLength=7, text='Premier...'
[11:06:17] [HEIGHT] Row 2 msg 1598: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:06:17] [HEIGHT_DEBUG] Row 1 msg 1599: isPlayingEvolution=false, textLength=6, text='Second...'
[11:06:17] [HEIGHT] Row 1 msg 1599: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:06:17] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:06:17] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:06:17] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:17] [HEIGHT_DEBUG] Row 2 msg 1598: isPlayingEvolution=false, textLength=7, text='Premier...'
[11:06:17] [HEIGHT] Row 2 msg 1598: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:06:17] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:17] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:17] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:17] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:17] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:17] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:17] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:17] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:17] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:17] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:17] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:17] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:17] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:17] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:17] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:17] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:17] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:17] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:17] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:17] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:17] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:17] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:17] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:17] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:17] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:06:17] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:06:17] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:06:17] [EVOLUTION] βœ… All queued messages have been played
[11:06:19] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:06:19] Will get events_php
[11:06:19] [TYPING] πŸ”„ ========== POLL START ==========
[11:06:19] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:06:19] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:06:19] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:06:19] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:06:19] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:06:19] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:06:19] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:06:19] [TYPING] πŸ“₯ Found 0 typing users in response
[11:06:19] [TYPING] πŸ“₯ Updating typing users SET: []
[11:06:19] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:06:19] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:06:19] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:06:19] [EVT] get_events.php HTTP 200
── Response Headers ──
Server: Apache/2.4.65 (Unix) PHP/8.4.14
X-Powered-By: PHP/8.4.14
Date: Sun, 16 Nov 2025 10:06:19 GMT
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=96
Connection: Keep-Alive
Content-Length: 56
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:06:19] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:06:19] Done
[11:06:19] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:06:19] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:06:19] [TYPING] πŸ”„ ========== POLL END ==========
[11:06:19] Main
[11:06:20] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:06:20] [INFO_PAGE] Found 414 messages for session 'ILUIWU2'
[11:06:20] [INFO_PAGE] Total messages in database: 1180
[11:06:21] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:06:21] Will get events_php
[11:06:21] [TYPING] πŸ”„ ========== POLL START ==========
[11:06:21] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:06:21] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:06:21] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:06:21] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:06:21] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:06:21] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:06:21] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2]
[11:06:21] [TYPING] πŸ“₯ Found 0 typing users in response
[11:06:21] [TYPING] πŸ“₯ Updating typing users SET: []
[11:06:21] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:06:21] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:06:21] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:06:21] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:06:21] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:06:21] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:06:21] [TYPING] πŸ”„ ========== POLL END ==========
[11:06:21] [EVT] get_events.php HTTP 200
── Response Headers ──
Server: Apache/2.4.65 (Unix) PHP/8.4.14
X-Powered-By: PHP/8.4.14
Date: Sun, 16 Nov 2025 10:06:21 GMT
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=94
Connection: Keep-Alive
Content-Length: 56
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:06:21] Done
[11:06:21] Main
[11:06:23] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:06:23] Will get events_php
[11:06:23] [TYPING] πŸ”„ ========== POLL START ==========
[11:06:23] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:06:23] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:06:23] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:06:23] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:06:23] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:06:23] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:06:23] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok, "sessionId": ILUIWU2]
[11:06:23] [TYPING] πŸ“₯ Found 0 typing users in response
[11:06:23] [TYPING] πŸ“₯ Updating typing users SET: []
[11:06:23] [EVT] get_events.php HTTP 200
── Response Headers ──
Connection: Keep-Alive
Keep-Alive: timeout=5, max=93
Date: Sun, 16 Nov 2025 10:06:23 GMT
Content-Length: 56
Server: Apache/2.4.65 (Unix) PHP/8.4.14
X-Powered-By: PHP/8.4.14
Content-Type: application/json; charset=utf-8
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:06:23] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:06:23] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:06:23] Done
[11:06:23] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:06:23] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:06:23] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:06:23] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:06:23] [TYPING] πŸ”„ ========== POLL END ==========
[11:06:23] Main
[11:06:25] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:06:25] [INFO_PAGE] Found 414 messages for session 'ILUIWU2'
[11:06:25] [INFO_PAGE] Total messages in database: 1180
[11:06:25] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:06:25] Will get events_php
[11:06:25] [TYPING] πŸ”„ ========== POLL START ==========
[11:06:25] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:06:25] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:06:25] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:06:25] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:06:25] [EVT] get_events.php HTTP 200
── Response Headers ──
Connection: Keep-Alive
Keep-Alive: timeout=5, max=91
Date: Sun, 16 Nov 2025 10:06:25 GMT
Content-Length: 56
Server: Apache/2.4.65 (Unix) PHP/8.4.14
X-Powered-By: PHP/8.4.14
Content-Type: application/json; charset=utf-8
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:06:25] Done
[11:06:25] Main
[11:06:25] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:06:25] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:06:25] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2, "status": ok]
[11:06:25] [TYPING] πŸ“₯ Found 0 typing users in response
[11:06:25] [TYPING] πŸ“₯ Updating typing users SET: []
[11:06:25] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:06:25] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:06:25] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:06:25] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:06:25] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:06:25] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:06:25] [TYPING] πŸ”„ ========== POLL END ==========
[11:06:27] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:06:27] Will get events_php
[11:06:27] [TYPING] πŸ”„ ========== POLL START ==========
[11:06:27] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:06:27] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:06:27] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:06:27] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:06:27] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:06:27] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:06:27] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok, "sessionId": ILUIWU2]
[11:06:27] [TYPING] πŸ“₯ Found 0 typing users in response
[11:06:27] [TYPING] πŸ“₯ Updating typing users SET: []
[11:06:27] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:06:27] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:06:27] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:06:27] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:06:27] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:06:27] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:06:27] [TYPING] πŸ”„ ========== POLL END ==========
[11:06:27] [EVT] get_events.php HTTP 200
── Response Headers ──
Connection: Keep-Alive
Keep-Alive: timeout=5, max=90
Date: Sun, 16 Nov 2025 10:06:27 GMT
Content-Length: 56
Server: Apache/2.4.65 (Unix) PHP/8.4.14
X-Powered-By: PHP/8.4.14
Content-Type: application/json; charset=utf-8
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:06:27] Done
[11:06:27] Main
[11:06:29] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:06:29] Will get events_php
[11:06:29] [TYPING] πŸ”„ ========== POLL START ==========
[11:06:29] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:06:29] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:06:29] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:06:29] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:06:29] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:06:29] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:06:29] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok, "sessionId": ILUIWU2]
[11:06:29] [TYPING] πŸ“₯ Found 0 typing users in response
[11:06:29] [TYPING] πŸ“₯ Updating typing users SET: []
[11:06:29] [EVT] get_events.php HTTP 200
── Response Headers ──
Connection: Keep-Alive
Keep-Alive: timeout=5, max=89
Date: Sun, 16 Nov 2025 10:06:29 GMT
Content-Length: 56
Server: Apache/2.4.65 (Unix) PHP/8.4.14
X-Powered-By: PHP/8.4.14
Content-Type: application/json; charset=utf-8
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:06:29] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:06:29] Done
[11:06:29] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:06:29] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:06:29] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:06:29] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:06:29] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:06:29] [TYPING] πŸ”„ ========== POLL END ==========
[11:06:29] Main
[11:06:30] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:06:30] [INFO_PAGE] Found 414 messages for session 'ILUIWU2'
[11:06:30] [INFO_PAGE] Total messages in database: 1180
[11:06:31] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:06:31] Will get events_php
[11:06:31] [TYPING] πŸ”„ ========== POLL START ==========
[11:06:31] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:06:31] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:06:31] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:06:31] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:06:31] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:06:31] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:06:31] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2, "status": ok]
[11:06:31] [TYPING] πŸ“₯ Found 0 typing users in response
[11:06:31] [TYPING] πŸ“₯ Updating typing users SET: []
[11:06:31] [EVT] get_events.php HTTP 200
── Response Headers ──
Connection: Keep-Alive
Keep-Alive: timeout=5, max=87
Date: Sun, 16 Nov 2025 10:06:31 GMT
Content-Length: 56
Server: Apache/2.4.65 (Unix) PHP/8.4.14
X-Powered-By: PHP/8.4.14
Content-Type: application/json; charset=utf-8
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:06:31] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:06:31] Done
[11:06:31] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:06:31] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:06:31] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:06:31] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:06:31] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:06:31] [TYPING] πŸ”„ ========== POLL END ==========
[11:06:31] Main
[11:06:33] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:06:33] Will get events_php
[11:06:33] [TYPING] πŸ”„ ========== POLL START ==========
[11:06:33] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:06:33] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:06:33] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:06:33] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:06:33] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:06:33] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:06:33] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok, "sessionId": ILUIWU2]
[11:06:33] [TYPING] πŸ“₯ Found 0 typing users in response
[11:06:33] [TYPING] πŸ“₯ Updating typing users SET: []
[11:06:33] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:06:33] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:06:33] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:06:33] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:06:33] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:06:33] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:06:33] [TYPING] πŸ”„ ========== POLL END ==========
[11:06:33] [EVT] get_events.php HTTP 200
── Response Headers ──
Connection: Keep-Alive
Keep-Alive: timeout=5, max=86
Date: Sun, 16 Nov 2025 10:06:33 GMT
Content-Length: 56
Server: Apache/2.4.65 (Unix) PHP/8.4.14
X-Powered-By: PHP/8.4.14
Content-Type: application/json; charset=utf-8
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:06:33] Done
[11:06:33] Main
[11:06:35] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:06:35] [INFO_PAGE] Found 414 messages for session 'ILUIWU2'
[11:06:35] [INFO_PAGE] Total messages in database: 1180
[11:06:35] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:06:35] Will get events_php
[11:06:35] [TYPING] πŸ”„ ========== POLL START ==========
[11:06:35] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:06:35] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:06:35] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:06:35] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:06:35] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:06:35] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:06:35] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2, "status": ok]
[11:06:35] [TYPING] πŸ“₯ Found 0 typing users in response
[11:06:35] [TYPING] πŸ“₯ Updating typing users SET: []
[11:06:35] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Date: Sun, 16 Nov 2025 10:06:35 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Content-Type: application/json; charset=utf-8
X-Powered-By: PHP/8.4.14
Keep-Alive: timeout=5, max=84
Connection: Keep-Alive
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:06:35] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:06:35] Done
[11:06:35] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:06:35] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:06:35] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:06:35] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:06:35] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:06:35] [TYPING] πŸ”„ ========== POLL END ==========
[11:06:35] Main
[11:06:37] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:06:37] Will get events_php
[11:06:37] [TYPING] πŸ”„ ========== POLL START ==========
[11:06:37] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:06:37] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:06:37] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:06:37] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:06:37] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:06:37] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:06:37] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok, "sessionId": ILUIWU2]
[11:06:37] [TYPING] πŸ“₯ Found 0 typing users in response
[11:06:37] [TYPING] πŸ“₯ Updating typing users SET: []
[11:06:37] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:06:37] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:06:37] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:06:37] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:06:37] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:06:37] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:06:37] [TYPING] πŸ”„ ========== POLL END ==========
[11:06:37] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Date: Sun, 16 Nov 2025 10:06:37 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Content-Type: application/json; charset=utf-8
X-Powered-By: PHP/8.4.14
Keep-Alive: timeout=5, max=83
Connection: Keep-Alive
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:06:37] Main
[11:06:37] Done
[11:06:39] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:06:39] Will get events_php
[11:06:39] [TYPING] πŸ”„ ========== POLL START ==========
[11:06:39] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:06:39] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:06:39] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:06:39] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:06:39] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:06:39] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:06:39] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2, "status": ok]
[11:06:39] [TYPING] πŸ“₯ Found 0 typing users in response
[11:06:39] [TYPING] πŸ“₯ Updating typing users SET: []
[11:06:39] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:06:39] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:06:39] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:06:39] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:06:39] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:06:39] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:06:39] [TYPING] πŸ”„ ========== POLL END ==========
[11:06:39] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Date: Sun, 16 Nov 2025 10:06:39 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Content-Type: application/json; charset=utf-8
X-Powered-By: PHP/8.4.14
Keep-Alive: timeout=5, max=82
Connection: Keep-Alive
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:06:39] Main
[11:06:39] Done
[11:06:40] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:06:40] [INFO_PAGE] Found 414 messages for session 'ILUIWU2'
[11:06:40] [INFO_PAGE] Total messages in database: 1180
[11:06:41] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:06:41] Will get events_php
[11:06:41] [TYPING] πŸ”„ ========== POLL START ==========
[11:06:41] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:06:41] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:06:41] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:06:41] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:06:41] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:06:41] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:06:41] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok, "sessionId": ILUIWU2]
[11:06:41] [TYPING] πŸ“₯ Found 0 typing users in response
[11:06:41] [TYPING] πŸ“₯ Updating typing users SET: []
[11:06:41] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:06:41] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:06:41] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:06:41] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Date: Sun, 16 Nov 2025 10:06:41 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Content-Type: application/json; charset=utf-8
X-Powered-By: PHP/8.4.14
Keep-Alive: timeout=5, max=80
Connection: Keep-Alive
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:06:41] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:06:41] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:06:41] Done
[11:06:41] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:06:41] [TYPING] πŸ”„ ========== POLL END ==========
[11:06:41] Main
[11:06:43] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:06:43] Will get events_php
[11:06:43] [TYPING] πŸ”„ ========== POLL START ==========
[11:06:43] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:06:43] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:06:43] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:06:43] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:06:43] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:06:43] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:06:43] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok, "sessionId": ILUIWU2]
[11:06:43] [TYPING] πŸ“₯ Found 0 typing users in response
[11:06:43] [TYPING] πŸ“₯ Updating typing users SET: []
[11:06:43] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:06:43] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:06:43] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:06:43] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:06:43] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:06:43] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:06:43] [TYPING] πŸ”„ ========== POLL END ==========
[11:06:43] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Date: Sun, 16 Nov 2025 10:06:43 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Content-Type: application/json; charset=utf-8
X-Powered-By: PHP/8.4.14
Keep-Alive: timeout=5, max=79
Connection: Keep-Alive
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:06:43] Done
[11:06:43] Main
[11:06:45] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:06:45] [INFO_PAGE] Found 414 messages for session 'ILUIWU2'
[11:06:45] [INFO_PAGE] Total messages in database: 1180
[11:06:45] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:06:45] Will get events_php
[11:06:45] [TYPING] πŸ”„ ========== POLL START ==========
[11:06:45] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:06:45] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:06:45] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:06:45] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:06:45] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:06:45] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:06:45] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2, "status": ok]
[11:06:45] [TYPING] πŸ“₯ Found 0 typing users in response
[11:06:45] [TYPING] πŸ“₯ Updating typing users SET: []
[11:06:45] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:06:45] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:06:45] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:06:45] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:06:45] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:06:45] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:06:45] [TYPING] πŸ”„ ========== POLL END ==========
[11:06:45] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Date: Sun, 16 Nov 2025 10:06:45 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Content-Type: application/json; charset=utf-8
X-Powered-By: PHP/8.4.14
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:06:45] Done
[11:06:45] Main
[11:06:47] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:06:47] Will get events_php
[11:06:47] [TYPING] πŸ”„ ========== POLL START ==========
[11:06:47] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:06:47] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:06:47] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:06:47] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:06:47] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:06:47] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:06:47] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok, "sessionId": ILUIWU2]
[11:06:47] [TYPING] πŸ“₯ Found 0 typing users in response
[11:06:47] [TYPING] πŸ“₯ Updating typing users SET: []
[11:06:47] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:06:47] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:06:47] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:06:47] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:06:47] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:06:47] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:06:47] [TYPING] πŸ”„ ========== POLL END ==========
[11:06:47] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Date: Sun, 16 Nov 2025 10:06:47 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Content-Type: application/json; charset=utf-8
X-Powered-By: PHP/8.4.14
Keep-Alive: timeout=5, max=76
Connection: Keep-Alive
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:06:47] Done
[11:06:47] Main
[11:06:49] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:06:49] Will get events_php
[11:06:49] [TYPING] πŸ”„ ========== POLL START ==========
[11:06:49] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:06:49] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:06:49] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:06:49] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:06:49] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:06:49] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:06:49] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:06:49] [TYPING] πŸ“₯ Found 0 typing users in response
[11:06:49] [TYPING] πŸ“₯ Updating typing users SET: []
[11:06:49] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:06:49] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:06:49] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:06:49] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:06:49] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Date: Sun, 16 Nov 2025 10:06:49 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Content-Type: application/json; charset=utf-8
X-Powered-By: PHP/8.4.14
Keep-Alive: timeout=5, max=75
Connection: Keep-Alive
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:06:49] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:06:49] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:06:49] Done
[11:06:49] [TYPING] πŸ”„ ========== POLL END ==========
[11:06:49] Main
[11:06:50] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:06:50] [INFO_PAGE] Found 414 messages for session 'ILUIWU2'
[11:06:50] [INFO_PAGE] Total messages in database: 1180
[11:06:51] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:06:51] Will get events_php
[11:06:51] [TYPING] πŸ”„ ========== POLL START ==========
[11:06:51] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:06:51] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:06:51] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:06:51] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:06:51] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:06:51] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:06:51] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2]
[11:06:51] [TYPING] πŸ“₯ Found 0 typing users in response
[11:06:51] [TYPING] πŸ“₯ Updating typing users SET: []
[11:06:51] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:06:51] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:06:51] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:06:51] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:06:51] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:06:51] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:06:51] [TYPING] πŸ”„ ========== POLL END ==========
[11:06:51] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Date: Sun, 16 Nov 2025 10:06:51 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Content-Type: application/json; charset=utf-8
X-Powered-By: PHP/8.4.14
Keep-Alive: timeout=5, max=73
Connection: Keep-Alive
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:06:51] Done
[11:06:51] Main
[11:06:53] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:06:53] Will get events_php
[11:06:53] [TYPING] πŸ”„ ========== POLL START ==========
[11:06:53] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:06:53] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:06:53] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:06:53] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:06:53] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:06:53] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:06:53] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2, "status": ok]
[11:06:53] [TYPING] πŸ“₯ Found 0 typing users in response
[11:06:53] [TYPING] πŸ“₯ Updating typing users SET: []
[11:06:53] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:06:53] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:06:53] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:06:53] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:06:53] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:06:53] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:06:53] [TYPING] πŸ”„ ========== POLL END ==========
[11:06:53] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Date: Sun, 16 Nov 2025 10:06:53 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Content-Type: application/json; charset=utf-8
X-Powered-By: PHP/8.4.14
Keep-Alive: timeout=5, max=72
Connection: Keep-Alive
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:06:53] Done
[11:06:53] Main
[11:06:55] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:06:55] [INFO_PAGE] Found 414 messages for session 'ILUIWU2'
[11:06:55] [INFO_PAGE] Total messages in database: 1180
[11:06:55] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:06:55] Will get events_php
[11:06:55] [TYPING] πŸ”„ ========== POLL START ==========
[11:06:55] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:06:55] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:06:55] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:06:55] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:06:55] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:06:55] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:06:55] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok, "sessionId": ILUIWU2]
[11:06:55] [TYPING] πŸ“₯ Found 0 typing users in response
[11:06:55] [TYPING] πŸ“₯ Updating typing users SET: []
[11:06:55] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:06:55] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:06:55] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:06:55] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:06:55] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:06:55] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:06:55] [TYPING] πŸ”„ ========== POLL END ==========
[11:06:55] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Date: Sun, 16 Nov 2025 10:06:55 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Content-Type: application/json; charset=utf-8
X-Powered-By: PHP/8.4.14
Keep-Alive: timeout=5, max=70
Connection: Keep-Alive
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:06:55] Done
[11:06:55] Main
[11:06:57] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:06:57] Will get events_php
[11:06:57] [TYPING] πŸ”„ ========== POLL START ==========
[11:06:57] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:06:57] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:06:57] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:06:57] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:06:57] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:06:57] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:06:57] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok]
[11:06:57] [TYPING] πŸ“₯ Found 0 typing users in response
[11:06:57] [TYPING] πŸ“₯ Updating typing users SET: []
[11:06:57] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:06:57] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:06:57] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Date: Sun, 16 Nov 2025 10:06:57 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Content-Type: application/json; charset=utf-8
X-Powered-By: PHP/8.4.14
Keep-Alive: timeout=5, max=69
Connection: Keep-Alive
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:06:57] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:06:57] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:06:57] Done
[11:06:57] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:06:57] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:06:57] [TYPING] πŸ”„ ========== POLL END ==========
[11:06:57] Main
[11:06:59] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:06:59] Will get events_php
[11:06:59] [TYPING] πŸ”„ ========== POLL START ==========
[11:06:59] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:06:59] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:06:59] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:06:59] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:06:59] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:06:59] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:06:59] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2, "status": ok]
[11:06:59] [TYPING] πŸ“₯ Found 0 typing users in response
[11:06:59] [TYPING] πŸ“₯ Updating typing users SET: []
[11:06:59] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:06:59] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:06:59] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Date: Sun, 16 Nov 2025 10:06:59 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Content-Type: application/json; charset=utf-8
X-Powered-By: PHP/8.4.14
Keep-Alive: timeout=5, max=68
Connection: Keep-Alive
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:06:59] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:06:59] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:06:59] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:06:59] Done
[11:06:59] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:06:59] [TYPING] πŸ”„ ========== POLL END ==========
[11:06:59] Main
[11:07:00] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:07:00] [INFO_PAGE] Found 414 messages for session 'ILUIWU2'
[11:07:00] [INFO_PAGE] Total messages in database: 1180
[11:07:01] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:07:01] Will get events_php
[11:07:01] [TYPING] πŸ”„ ========== POLL START ==========
[11:07:01] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:07:01] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:07:01] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:07:01] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:07:01] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:07:01] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:07:01] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok]
[11:07:01] [TYPING] πŸ“₯ Found 0 typing users in response
[11:07:01] [TYPING] πŸ“₯ Updating typing users SET: []
[11:07:01] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:07:01] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:07:01] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:07:01] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:07:01] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:07:01] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:07:01] [TYPING] πŸ”„ ========== POLL END ==========
[11:07:01] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Date: Sun, 16 Nov 2025 10:07:01 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Content-Type: application/json; charset=utf-8
X-Powered-By: PHP/8.4.14
Keep-Alive: timeout=5, max=66
Connection: Keep-Alive
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:07:01] Done
[11:07:01] Main
[11:07:03] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:07:03] Will get events_php
[11:07:03] [TYPING] πŸ”„ ========== POLL START ==========
[11:07:03] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:07:03] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:07:03] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:07:03] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:07:03] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:07:03] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:07:03] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok, "sessionId": ILUIWU2]
[11:07:03] [TYPING] πŸ“₯ Found 0 typing users in response
[11:07:03] [TYPING] πŸ“₯ Updating typing users SET: []
[11:07:03] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Date: Sun, 16 Nov 2025 10:07:03 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Content-Type: application/json; charset=utf-8
X-Powered-By: PHP/8.4.14
Keep-Alive: timeout=5, max=65
Connection: Keep-Alive
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:07:03] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:07:03] Done
[11:07:03] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:07:03] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:07:03] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:07:03] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:07:03] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:07:03] [TYPING] πŸ”„ ========== POLL END ==========
[11:07:03] Main
[11:07:05] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:07:05] [INFO_PAGE] Found 414 messages for session 'ILUIWU2'
[11:07:05] [INFO_PAGE] Total messages in database: 1180
[11:07:05] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:07:05] Will get events_php
[11:07:05] [TYPING] πŸ”„ ========== POLL START ==========
[11:07:05] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:07:05] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:07:05] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:07:05] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:07:05] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Date: Sun, 16 Nov 2025 10:07:05 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Content-Type: application/json; charset=utf-8
X-Powered-By: PHP/8.4.14
Keep-Alive: timeout=5, max=63
Connection: Keep-Alive
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:07:05] Done
[11:07:05] Main
[11:07:05] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:07:05] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:07:05] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok]
[11:07:05] [TYPING] πŸ“₯ Found 0 typing users in response
[11:07:05] [TYPING] πŸ“₯ Updating typing users SET: []
[11:07:05] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:07:05] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:07:05] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:07:05] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:07:05] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:07:05] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:07:05] [TYPING] πŸ”„ ========== POLL END ==========
[11:07:07] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:07:07] Will get events_php
[11:07:07] [TYPING] πŸ”„ ========== POLL START ==========
[11:07:07] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:07:07] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:07:07] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:07:07] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:07:07] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:07:07] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:07:07] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2]
[11:07:07] [TYPING] πŸ“₯ Found 0 typing users in response
[11:07:07] [TYPING] πŸ“₯ Updating typing users SET: []
[11:07:07] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:07:07] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:07:07] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:07:07] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:07:07] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:07:07] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:07:07] [TYPING] πŸ”„ ========== POLL END ==========
[11:07:07] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Date: Sun, 16 Nov 2025 10:07:07 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Content-Type: application/json; charset=utf-8
X-Powered-By: PHP/8.4.14
Keep-Alive: timeout=5, max=62
Connection: Keep-Alive
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:07:07] Done
[11:07:07] Main
[11:07:09] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:07:09] Will get events_php
[11:07:09] [TYPING] πŸ”„ ========== POLL START ==========
[11:07:09] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:07:09] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:07:09] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:07:09] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:07:09] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:07:09] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:07:09] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok, "sessionId": ILUIWU2]
[11:07:09] [TYPING] πŸ“₯ Found 0 typing users in response
[11:07:09] [TYPING] πŸ“₯ Updating typing users SET: []
[11:07:09] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:07:09] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:07:09] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:07:09] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:07:09] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:07:09] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:07:09] [TYPING] πŸ”„ ========== POLL END ==========
[11:07:09] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Date: Sun, 16 Nov 2025 10:07:09 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Content-Type: application/json; charset=utf-8
X-Powered-By: PHP/8.4.14
Keep-Alive: timeout=5, max=61
Connection: Keep-Alive
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:07:09] Done
[11:07:09] Main
[11:07:10] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:07:10] [INFO_PAGE] Found 414 messages for session 'ILUIWU2'
[11:07:10] [INFO_PAGE] Total messages in database: 1180
[11:07:11] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:07:11] Will get events_php
[11:07:11] [TYPING] πŸ”„ ========== POLL START ==========
[11:07:11] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:07:11] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:07:11] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:07:11] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:07:11] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:07:11] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:07:11] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2, "status": ok]
[11:07:11] [TYPING] πŸ“₯ Found 0 typing users in response
[11:07:11] [TYPING] πŸ“₯ Updating typing users SET: []
[11:07:11] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Date: Sun, 16 Nov 2025 10:07:11 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Content-Type: application/json; charset=utf-8
X-Powered-By: PHP/8.4.14
Keep-Alive: timeout=5, max=59
Connection: Keep-Alive
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:07:11] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:07:11] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:07:11] Done
[11:07:11] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:07:11] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:07:11] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:07:11] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:07:11] [TYPING] πŸ”„ ========== POLL END ==========
[11:07:11] Main
[11:13:48] [CRASH] Previous session did not exit cleanly - crash detected
[11:13:48] [GIPHY] SDK not available - using REST API fallback
[11:13:49] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:13:49] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:13:49] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:13:49] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:13:49] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:13:49] [SCENE] Launched directly to chat view with sessionId: ILUIWU2
[11:13:49] [PUSH] APNs token: 6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c
[11:13:49] [PUSH] Device role updated to 'viewer': HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:13:50] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:13:50] Documents Directory: /var/mobile/Containers/Data/Application/FE4AD27A-C4F8-4F4C-8B34-D23B50695392/Documents
[11:13:50] [NOTIFICATION] πŸ”” Notification button created and added to topNavBar
[11:13:50] [NOTIFICATION] πŸ”” Button tintColor: grey (0.5, 0.5, 0.5)
[11:13:50] [NOTIFICATION] πŸ”” Button isUserInteractionEnabled: true
[11:13:50] [INFO_PAGE] InformationViewController viewDidLoad called
[11:13:50] [INFO_PAGE] Actions configured (bell button is external)
[11:13:50] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:13:50] [INFO_PAGE] Successfully opened database at /var/mobile/Containers/Data/Application/FE4AD27A-C4F8-4F4C-8B34-D23B50695392/Documents/chat_local_viewer.db
[11:13:50] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:13:50] [INFO_PAGE] Found 414 messages for session 'ILUIWU2'
[11:13:50] [INFO_PAGE] Total messages in database: 1180
[11:13:50] [INFO_PAGE] InformationViewController setup complete
[11:13:50] [INFO_PAGE] ℹ️ Information page added to tab 3
[11:13:50] [THEME] Applying current theme
[11:13:50] [CHAT] Applied day theme (mode: day)
[11:13:50] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:13:50] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:13:50] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:13:50] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:13:50] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:13:50] [SUMMARY] Already showed summary today (2025-11-16)
[11:13:50] Did transition
[11:13:50] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:13:50] [VIEWER] Screen lock enabled - normal idle behavior
[11:13:50] [QUERY] πŸ” Checking tab - currentTabIndex=0
[11:13:50] [QUERY] πŸ”΅ [TAB 0] No query connection needed
[11:13:50] [QUERY] βœ… [TAB 0] Initialized without query connection
[11:13:50] [LOCATION] Started location updates for distance calculation (already authorized)
[11:13:50] [TAB 0] Skipping reconnect polling - only needed for tab 1
[11:13:50] [VIEWER_INIT] Loading messages with read receipts from server
[11:13:50] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:13:50] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:13:50] [DB]   msg[0] id=1599, isMyMessage=false, readBy.count=0
[11:13:50] [DB]   msg[1] id=1598, isMyMessage=false, readBy.count=0
[11:13:50] [DB]   msg[2] id=1597, isMyMessage=false, readBy.count=0
[11:13:50] [EVOLUTION] πŸ” Found 0 NEW unread messages from local DB before fetching read receipts (lastSeenMessageId=1599): []
[11:13:50] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1599, readBy=[]", "id=1598, readBy=[]", "id=1597, readBy=[]"]
[11:13:50] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:13:50] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:13:50] [DB]   msg[0] id=1599, isMyMessage=false, readBy.count=0
[11:13:50] [DB]   msg[1] id=1598, isMyMessage=false, readBy.count=0
[11:13:50] [DB]   msg[2] id=1597, isMyMessage=false, readBy.count=0
[11:13:50] [EVENT_POLL] Starting periodic event polling for viewer mode (5s interval)
[11:13:50] [ORIENTATION] Updated pagingScrollView height to 247.5 for width 440.0
[11:13:50] [SUMMARY] Already showed summary today (2025-11-16)
[11:13:50] Did transition
[11:13:50] [NOTIFICATION] πŸ”” Constraints activated for notification button
[11:13:50] [NOTIFICATION] πŸ”” topNavBar frame: (0.0, 0.0, 440.0, 50.0)
[11:13:50] [NOTIFICATION] πŸ”” menuButton frame: (0.0, 0.0, 39.0, 30.0)
[11:13:50] [NOTIFICATION] πŸ”” notificationButton frame: (0.0, 0.0, 56.333333333333336, 58.0)
[11:13:50] [NOTIFICATION] πŸ”” Notification button brought to front
[11:13:50] [NOTIFICATION] πŸ”„ Updating icon to: bell.slash.fill (muted=true)
[11:13:50] [NOTIFICATION] βœ… Icon updated successfully
[11:13:50] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[11:13:50] [MIGRATION] No messages need sender_name backfill
[11:13:50] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:13:50] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:13:50] [DB]   msg[0] id=1599, isMyMessage=false, readBy.count=0
[11:13:50] [DB]   msg[1] id=1598, isMyMessage=false, readBy.count=0
[11:13:50] [DB]   msg[2] id=1597, isMyMessage=false, readBy.count=0
[11:13:50] [INFO_PAGE] InformationViewController viewWillAppear - applying theme
[11:13:50] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:13:50] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:13:50] [PAGINATION_SCROLL] offset=-12.0, contentHeight=108.0, distFromBottom=120.0, dragging=false, decel=false, isLoading=false, cooldown=63899057630.53907s
[11:13:50] [PAGINATION_SCROLL] offset=0.0, contentHeight=108.0, distFromBottom=-650.0, dragging=false, decel=false, isLoading=false, cooldown=63899057630.540344s
[11:13:50] [LOCATION] Authorization changed: 4
[11:13:50] [NOTIFICATION] πŸ”” FINAL STATE after viewDidLoad:
[11:13:50] [NOTIFICATION] πŸ”” notificationButton.frame: (392.0, 67.0, 40.0, 40.0)
[11:13:50] [NOTIFICATION] πŸ”” notificationButton.isHidden: false
[11:13:50] [NOTIFICATION] πŸ”” notificationButton.alpha: 1.0
[11:13:50] [NOTIFICATION] πŸ”” notificationButton.superview: true
[11:13:50] [NOTIFICATION] πŸ”” topNavBar.isHidden: false
[11:13:50] [NOTIFICATION] πŸ”” topNavBar.subviews.count: 3
[11:13:51] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:13:51] [USER] βœ… User registered successfully
[11:13:51] [USER] User registration successful
[11:13:51] [CHAT] βœ… refreshAllFromServer - parsed 415 messages from server
[11:13:51] [DB] clearDBForSession(ILUIWU2): deleted 414 messages, result=101
[11:13:51] ReloadData 15 (415 messages loaded, 0 pending media)
[11:13:51] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:13:51] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:13:51] [DB]   msg[0] id=1600, isMyMessage=false, readBy.count=0
[11:13:51] [DB]   msg[1] id=1599, isMyMessage=false, readBy.count=0
[11:13:51] [DB]   msg[2] id=1598, isMyMessage=false, readBy.count=0
[11:13:51] [EVOLUTION] πŸ” Found 1 NEW unread messages after refreshAllFromServer (lastSeenMessageId=1599): [1600]
[11:13:51] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1600, readBy=[]", "id=1599, readBy=[]", "id=1598, readBy=[]"]
[11:13:51] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:13:51] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:13:51] [DB]   msg[0] id=1600, isMyMessage=false, readBy.count=0
[11:13:51] [DB]   msg[1] id=1599, isMyMessage=false, readBy.count=0
[11:13:51] [DB]   msg[2] id=1598, isMyMessage=false, readBy.count=0
[11:13:52] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_id"): 1601, AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU2]
[11:13:52] [PUSH] Parsed message_id: 1601
[11:13:52] [PUSH] Parsed operation_type: 0
[11:13:52] [PUSH] Taking direct action: opType=0, messageId=1601
[11:13:52] [PUSH] TakeActionFromPush called: OperationType=0, MessageIds=1601
[11:13:52] [PUSH] Handling message fetch for opType=0, messageId=1601
[11:13:52] [PUSH] Requesting URL: http://crivello.dyndns.org:81/WebRTC/chat/chat_get_messages.php?session_id=ILUIWU2&viewer=1&messages=1601
[11:13:52] [LOCATION] Failed to get location: The operation couldn’t be completed. (kCLErrorDomain error 1.)
[11:13:52] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:13:52] Will get events_php
[11:13:52] [TYPING] πŸ”„ ========== POLL START ==========
[11:13:52] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:13:52] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:13:52] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:13:52] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:13:53] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_id"): 1601, AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU2]
[11:13:53] [PUSH] Parsed message_id: 1601
[11:13:53] [PUSH] Parsed operation_type: 3
[11:13:53] [PUSH] Taking direct action: opType=3, messageId=1601
[11:13:53] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=1601
[11:13:53] [PUSH] Role update error: Error Domain=NSURLErrorDomain Code=-1005 "The network connection was lost." UserInfo={_kCFStreamErrorCodeKey=-4, NSUnderlyingError=0x122739e60 {Error Domain=kCFErrorDomainCFNetwork Code=-1005 "(null)" UserInfo={NSErrorPeerAddressKey=<CFData 0x114550ff0 [0x1f43240d8]>{length = 16, capacity = 16, bytes = 0x1002005154e34b220000000000000000}, _kCFStreamErrorCodeKey=-4, _kCFStreamErrorDomainKey=4}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <53EF7693-5ABA-41BE-8ADA-B069979FC88B>.<5>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
    "LocalDataTask <53EF7693-5ABA-41BE-8ADA-B069979FC88B>.<5>"
), NSLocalizedDescription=The network connection was lost., NSErrorFailingURLStringKey=http://crivello.dyndns.org:81/WebRTC/chat/register_device.php, NSErrorFailingURLKey=http://crivello.dyndns.org:81/WebRTC/chat/register_device.php, _kCFStreamErrorDomainKey=4}
[11:13:53] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:13:53] [UNREAD_DEBUG]   FINAL msg[0] id=1599, readBy.count=0
[11:13:53] [UNREAD_DEBUG]   FINAL msg[1] id=1598, readBy.count=0
[11:13:53] [UNREAD_DEBUG]   FINAL msg[2] id=1597, readBy.count=0
[11:13:53] [VIEWER_INIT] Loaded 50 messages with read receipts, hasMore: true
[11:13:53] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:13:53] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:13:53] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:13:53] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:13:53] [ROWS] 0: SEPARATOR
[11:13:53] [ROWS] 1: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:53] [ROWS] 2: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:53] [ROWS] 3: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:53] [ROWS] 4: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:53] [ROWS] 5: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:53] [ROWS] 6: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:13:53] [ROWS] 7: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:13:53] [ROWS] 8: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:53] [ROWS] 9: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:53] [ROWS] 10: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:53] [ROWS] 11: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:53] [ROWS] 12: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:53] [ROWS] 13: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:53] [ROWS] 14: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:53] [ROWS] 15: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:53] [ROWS] 16: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:53] [ROWS] 17: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:53] [ROWS] 18: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:53] [ROWS] 19: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:53] [ROWS] 20: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:53] [ROWS] 21: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:53] [ROWS] 22: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:13:53] [ROWS] 23: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:53] [ROWS] 24: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:53] [ROWS] 25: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:13:53] [ROWS] 26: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:53] [ROWS] 27: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:53] [ROWS] 28: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:53] [ROWS] 29: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:13:53] [ROWS] 30: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:13:53] [ROWS] 31: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:53] [ROWS] 32: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:53] [ROWS] 33: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:53] [ROWS] 34: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:53] [ROWS] 35: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:53] [ROWS] 36: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:53] [ROWS] 37: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:53] [ROWS] 38: SEPARATOR
[11:13:53] [ROWS] 39: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:13:53] [ROWS] 40: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:53] [ROWS] 41: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:13:53] [ROWS] 42: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:13:53] [ROWS] 43: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:13:53] [ROWS] 44: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:13:53] [ROWS] 45: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:53] [ROWS] 46: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:53] [ROWS] 47: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:53] [ROWS] 48: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:53] [ROWS] 49: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:13:53] [ROWS] 50: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:13:53] [ROWS] 51: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:53] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:13:53] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:13:53] [HEIGHT_DEBUG] Row 1 msg 1599: isPlayingEvolution=false, textLength=6, text='Second...'
[11:13:53] [EMOJI] βœ… Loaded 451 emoji-to-GIF mappings
[11:13:53] [HEIGHT] Row 1 msg 1599: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:13:53] [HEIGHT_DEBUG] Row 2 msg 1598: isPlayingEvolution=false, textLength=7, text='Premier...'
[11:13:53] [HEIGHT] Row 2 msg 1598: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:13:53] [HEIGHT_DEBUG] Row 1 msg 1599: isPlayingEvolution=false, textLength=6, text='Second...'
[11:13:53] [HEIGHT] Row 1 msg 1599: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:13:53] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:13:53] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:13:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:53] [HEIGHT_DEBUG] Row 2 msg 1598: isPlayingEvolution=false, textLength=7, text='Premier...'
[11:13:53] [HEIGHT] Row 2 msg 1598: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:13:53] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:53] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:53] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:53] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:53] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:53] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:53] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:53] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:53] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:53] [BADGES] Chat tab unread: 1, Slave tab unread: 0, current tab: 0
[11:13:53] ReloadData 18 (viewer init with read receipts)
[11:13:53] [EVOLUTION] πŸ“­ No unread message IDs provided for evolution playback
[11:13:53] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:13:53] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:13:53] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:13:53] [TYPING] πŸ“₯ Found 0 typing users in response
[11:13:53] [TYPING] πŸ“₯ Updating typing users SET: []
[11:13:53] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:13:53] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:13:53] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:13:53] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:13:53] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:13:53] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:13:53] [TYPING] πŸ”„ ========== POLL END ==========
[11:13:54] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Type: application/json; charset=utf-8
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:13:53 GMT
Keep-Alive: timeout=5, max=100
X-Powered-By: PHP/8.4.14
Content-Length: 205
Connection: Keep-Alive
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":2,"events":[{"event_id":10632,"event_type":3,"message_id":1600,"session_id":"ILUIWU2"},{"event_id":10634,"event_type":3,"message_id":1601,"session_id":"ILUIWU2"}]}
[11:13:54] Done
[11:13:54] [PUSH] get_message response: HTTP 200, 470 bytes
[11:13:54] [PUSH] get_message response body: [{"message_type":0,"message_id":1601,"session_id":"ILUIWU2","message":"Crivello","file_name":"","msgread":1,"datesent":"2025-11-16 10:13:51","timer":0,"timer_started_at":null,"sender_id":"E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE","sender_name":"LoloTest","distance":null,"link_url":null,"link_title":null,"link_description":null,"link_image_url":null,"reply_to_id":null,"replied_message":null,"replied_sender_id":null,"replied_sender_name":null,"ViewerMode":0,"read_by":[]}]
[11:13:54] [EVOLUTION] 🎬 Preparing message 1601 for evolution playback (starting from empty)
[11:13:54] [PUSH] Added new message 1601 to chatMessages with readBy: 0 readers
[11:13:54] [PUSH] Added new message 1601 to allMessagesWithReadBy with readBy: 0 readers
[11:13:54] [ANIMATION] πŸ“Œ PUSH: Added message 1601 to newlyAddedMessageIds (willPlayEvolution=true)
[11:13:54] [PUSH_DEBUG] After inserting message 1601, existing messages readBy status:
[11:13:54] [PUSH_DEBUG]   msg[0] id=1601, readBy.count=0
[11:13:54] [PUSH_DEBUG]   msg[1] id=1599, readBy.count=0
[11:13:54] [PUSH_DEBUG]   msg[2] id=1598, readBy.count=0
[11:13:54] [PUSH_DEBUG]   msg[3] id=1597, readBy.count=0
[11:13:54] [PUSH_DEBUG]   msg[4] id=1596, readBy.count=0
[11:13:54] [EVOLUTION] 🎬 Will trigger auto-play for new message 1601 (from push) after table reload
[11:13:54] ReloadData 4 - using reloadMessagesForCurrentTab for animation
[11:13:54] [HEIGHT_DEBUG] Row 1 msg 1599: isPlayingEvolution=false, textLength=6, text='Second...'
[11:13:54] [HEIGHT] Row 1 msg 1599: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:13:54] [HEIGHT_DEBUG] Row 2 msg 1598: isPlayingEvolution=false, textLength=7, text='Premier...'
[11:13:54] [HEIGHT] Row 2 msg 1598: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:13:54] [HEIGHT_DEBUG] Row 1 msg 1599: isPlayingEvolution=false, textLength=6, text='Second...'
[11:13:54] [HEIGHT] Row 1 msg 1599: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:13:54] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:13:54] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:13:54] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:13:54] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (51 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:13:54] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:13:54] [EVOLUTION] πŸ“ Updated lastSeenMessageId: 1599 β†’ 1601
[11:13:54] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=53 =====
[11:13:54] [ROWS] 0: SEPARATOR
[11:13:54] [ROWS] 1: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=8
[11:13:54] [ROWS] 2: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:54] [ROWS] 3: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:54] [ROWS] 4: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:54] [ROWS] 5: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:54] [ROWS] 6: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:54] [ROWS] 7: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:13:54] [ROWS] 8: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:13:54] [ROWS] 9: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:54] [ROWS] 10: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:54] [ROWS] 11: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:54] [ROWS] 12: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:54] [ROWS] 13: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:54] [ROWS] 14: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:54] [ROWS] 15: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:54] [ROWS] 16: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:54] [ROWS] 17: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:54] [ROWS] 18: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:54] [ROWS] 19: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:54] [ROWS] 20: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:54] [ROWS] 21: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:54] [ROWS] 22: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:54] [ROWS] 23: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:13:54] [ROWS] 24: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:54] [ROWS] 25: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:54] [ROWS] 26: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:13:54] [ROWS] 27: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:54] [ROWS] 28: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:54] [ROWS] 29: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:54] [ROWS] 30: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:13:54] [ROWS] 31: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:13:54] [ROWS] 32: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:54] [ROWS] 33: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:54] [ROWS] 34: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:54] [ROWS] 35: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:54] [ROWS] 36: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:54] [ROWS] 37: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:54] [ROWS] 38: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:54] [ROWS] 39: SEPARATOR
[11:13:54] [ROWS] 40: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:13:54] [ROWS] 41: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:54] [ROWS] 42: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:13:54] [ROWS] 43: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:13:54] [ROWS] 44: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:13:54] [ROWS] 45: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:13:54] [ROWS] 46: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:54] [ROWS] 47: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:54] [ROWS] 48: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:54] [ROWS] 49: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:54] [ROWS] 50: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:13:54] [ROWS] 51: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:13:54] [ROWS] 52: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:54] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:13:54] [TAB_FILTER] πŸ“Š Reloading table with 53 rows
[11:13:54] [HEIGHT_DEBUG] Row 1 msg 1601: isPlayingEvolution=true, textLength=0, text='...'
[11:13:54] [HEIGHT] Row 1 msg 1601: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:13:54] [HEIGHT_DEBUG] Row 2 msg 1599: isPlayingEvolution=false, textLength=6, text='Second...'
[11:13:54] [HEIGHT] Row 2 msg 1599: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:13:54] [HEIGHT_DEBUG] Row 1 msg 1601: isPlayingEvolution=true, textLength=0, text='...'
[11:13:54] [HEIGHT] Row 1 msg 1601: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:13:54] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:13:54] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:13:54] [HEIGHT_DEBUG] Row 2 msg 1599: isPlayingEvolution=false, textLength=6, text='Second...'
[11:13:54] [HEIGHT] Row 2 msg 1599: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:13:54] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:13:54] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:13:54] Will get events_php
[11:13:54] [TYPING] πŸ”„ ========== POLL START ==========
[11:13:54] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:13:54] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:13:54] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:13:54] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:13:54] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Type: application/json; charset=utf-8
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:13:54 GMT
Keep-Alive: timeout=5, max=95
X-Powered-By: PHP/8.4.14
Content-Length: 881
Connection: Keep-Alive
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":11,"events":[{"event_id":10635,"event_type":3,"message_id":1598,"session_id":"ILUIWU2"},{"event_id":10636,"event_type":3,"message_id":1597,"session_id":"ILUIWU2"},{"event_id":10637,"event_type":3,"message_id":1596,"session_id":"ILUIWU2"},{"event_id":10638,"event_type":3,"message_id":1595,"session_id":"ILUIWU2"},{"event_id":10639,"event_type":3,"message_id":1594,"session_id":"ILUIWU2"},{"event_id":10640,"event_type":3,"message_id":1593,"session_id":"ILUIWU2"},{"event_id":10641,"event_type":3,"message_id":1592,"session_id":"ILUIWU2"},{"event_id":10642,"event_type":3,"message_id":1591,"session_id":"ILUIWU2"},{"event_id":10643,"event_type":3,"message_id":1590,"session_id":"ILUIWU2"},{"event_id":10644,"event_type":3,"message_id":1601,"session_id":"ILUIWU2"},{"event_id":10645,"event_type":3,"message_id":1599,"session_id":"ILUIWU2"}]}
[11:13:54] Done
[11:13:54] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:13:54] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:13:54] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:13:54] [TYPING] πŸ“₯ Found 0 typing users in response
[11:13:54] [TYPING] πŸ“₯ Updating typing users SET: []
[11:13:54] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:13:54] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:13:54] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:13:54] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:13:54] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:13:54] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:13:54] [TYPING] πŸ”„ ========== POLL END ==========
[11:13:54] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:13:54] [UNREAD_DEBUG]   FINAL msg[0] id=1599, readBy.count=1
[11:13:54] [UNREAD_DEBUG]   FINAL msg[1] id=1598, readBy.count=1
[11:13:54] [UNREAD_DEBUG]   FINAL msg[2] id=1597, readBy.count=1
[11:13:54] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:13:54] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:13:54] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:13:54] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:13:54] [ROWS] 0: SEPARATOR
[11:13:54] [ROWS] 1: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:54] [ROWS] 2: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:54] [ROWS] 3: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:54] [ROWS] 4: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:54] [ROWS] 5: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:54] [ROWS] 6: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:13:54] [ROWS] 7: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:13:54] [ROWS] 8: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:54] [ROWS] 9: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:54] [ROWS] 10: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:54] [ROWS] 11: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:54] [ROWS] 12: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:54] [ROWS] 13: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:54] [ROWS] 14: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:54] [ROWS] 15: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:54] [ROWS] 16: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:54] [ROWS] 17: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:54] [ROWS] 18: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:54] [ROWS] 19: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:54] [ROWS] 20: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:54] [ROWS] 21: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:54] [ROWS] 22: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:13:54] [ROWS] 23: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:54] [ROWS] 24: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:54] [ROWS] 25: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:13:54] [ROWS] 26: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:54] [ROWS] 27: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:54] [ROWS] 28: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:54] [ROWS] 29: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:13:54] [ROWS] 30: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:13:54] [ROWS] 31: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:54] [ROWS] 32: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:54] [ROWS] 33: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:54] [ROWS] 34: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:54] [ROWS] 35: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:54] [ROWS] 36: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:54] [ROWS] 37: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:54] [ROWS] 38: SEPARATOR
[11:13:54] [ROWS] 39: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:13:54] [ROWS] 40: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:54] [ROWS] 41: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:13:54] [ROWS] 42: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:13:54] [ROWS] 43: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:13:54] [ROWS] 44: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:13:54] [ROWS] 45: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:54] [ROWS] 46: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:54] [ROWS] 47: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:54] [ROWS] 48: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:54] [ROWS] 49: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:13:54] [ROWS] 50: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:13:54] [ROWS] 51: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:54] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:13:54] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:13:54] [HEIGHT_DEBUG] Row 1 msg 1599: isPlayingEvolution=false, textLength=6, text='Second...'
[11:13:54] [HEIGHT] Row 1 msg 1599: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:13:54] [HEIGHT_DEBUG] Row 2 msg 1598: isPlayingEvolution=false, textLength=7, text='Premier...'
[11:13:54] [HEIGHT] Row 2 msg 1598: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:13:54] [HEIGHT_DEBUG] Row 1 msg 1599: isPlayingEvolution=false, textLength=6, text='Second...'
[11:13:54] [HEIGHT] Row 1 msg 1599: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:13:54] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:13:54] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [HEIGHT_DEBUG] Row 2 msg 1598: isPlayingEvolution=false, textLength=7, text='Premier...'
[11:13:54] [HEIGHT] Row 2 msg 1598: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:13:54] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:13:54] [INIT_PAGINATION] Loaded 50 total messages, displaying 50 for tab 0
[11:13:54] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:13:54] [UNREAD_DEBUG]   FINAL msg[0] id=1600, readBy.count=0
[11:13:54] [UNREAD_DEBUG]   FINAL msg[1] id=1599, readBy.count=1
[11:13:54] [UNREAD_DEBUG]   FINAL msg[2] id=1598, readBy.count=1
[11:13:54] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:13:54] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:13:54] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:13:54] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:13:54] [ROWS] 0: SEPARATOR
[11:13:54] [ROWS] 1: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:54] [ROWS] 2: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:54] [ROWS] 3: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:54] [ROWS] 4: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:54] [ROWS] 5: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:54] [ROWS] 6: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:54] [ROWS] 7: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:13:54] [ROWS] 8: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:13:54] [ROWS] 9: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:54] [ROWS] 10: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:54] [ROWS] 11: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:54] [ROWS] 12: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:54] [ROWS] 13: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:54] [ROWS] 14: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:54] [ROWS] 15: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:54] [ROWS] 16: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:54] [ROWS] 17: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:54] [ROWS] 18: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:54] [ROWS] 19: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:54] [ROWS] 20: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:54] [ROWS] 21: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:54] [ROWS] 22: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:54] [ROWS] 23: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:13:54] [ROWS] 24: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:54] [ROWS] 25: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:54] [ROWS] 26: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:13:54] [ROWS] 27: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:54] [ROWS] 28: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:54] [ROWS] 29: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:54] [ROWS] 30: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:13:54] [ROWS] 31: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:13:54] [ROWS] 32: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:54] [ROWS] 33: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:54] [ROWS] 34: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:54] [ROWS] 35: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:54] [ROWS] 36: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:54] [ROWS] 37: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:54] [ROWS] 38: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:54] [ROWS] 39: SEPARATOR
[11:13:54] [ROWS] 40: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:13:54] [ROWS] 41: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:54] [ROWS] 42: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:13:54] [ROWS] 43: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:13:54] [ROWS] 44: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:13:54] [ROWS] 45: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:13:54] [ROWS] 46: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:54] [ROWS] 47: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:54] [ROWS] 48: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:54] [ROWS] 49: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:54] [ROWS] 50: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:13:54] [ROWS] 51: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:13:54] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:13:54] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:13:54] [HEIGHT_DEBUG] Row 1 msg 1600: isPlayingEvolution=false, textLength=4, text='Lolo...'
[11:13:54] [HEIGHT] Row 1 msg 1600: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:13:54] [HEIGHT_DEBUG] Row 2 msg 1599: isPlayingEvolution=false, textLength=6, text='Second...'
[11:13:54] [HEIGHT] Row 2 msg 1599: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:13:54] [HEIGHT_DEBUG] Row 1 msg 1600: isPlayingEvolution=false, textLength=4, text='Lolo...'
[11:13:54] [HEIGHT] Row 1 msg 1600: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:13:54] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:13:54] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [HEIGHT_DEBUG] Row 2 msg 1599: isPlayingEvolution=false, textLength=6, text='Second...'
[11:13:54] [HEIGHT] Row 2 msg 1599: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:13:54] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:13:54] [INITIAL_LOAD] Loaded 50 messages (first page), displaying 50 for tab 0, hasMore: true
[11:13:54] ReloadData 1
[11:13:54] [PURGE] Deleted 0 unused media files:

[11:13:54] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:13:54] [EVOLUTION] 🎬 Starting auto-play for message 1601 after table reload + render delay
[11:13:54] [EVOLUTION] πŸ“‘ Fetching evolution data for message 1601
[11:13:54] [EVOLUTION] πŸ“¬ Preparing 1 unread message(s) for evolution playback: [1600]
[11:13:54] [EVOLUTION] 🎬 Preparing message 1600 for evolution playback (app launch)
[11:13:54] [EVOLUTION] πŸ” Reloading table for evolution - chatMessages.count=50
[11:13:54] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:13:54] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:13:54] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:13:54] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:13:54] [ROWS] 0: SEPARATOR
[11:13:54] [ROWS] 1: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=4
[11:13:54] [ROWS] 2: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:54] [ROWS] 3: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:54] [ROWS] 4: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:54] [ROWS] 5: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:54] [ROWS] 6: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:54] [ROWS] 7: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:13:54] [ROWS] 8: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:13:54] [ROWS] 9: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:54] [ROWS] 10: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:54] [ROWS] 11: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:54] [ROWS] 12: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:54] [ROWS] 13: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:54] [ROWS] 14: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:54] [ROWS] 15: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:54] [ROWS] 16: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:54] [ROWS] 17: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:54] [ROWS] 18: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:54] [ROWS] 19: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:54] [ROWS] 20: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:54] [ROWS] 21: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:54] [ROWS] 22: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:54] [ROWS] 23: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:13:54] [ROWS] 24: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:54] [ROWS] 25: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:54] [ROWS] 26: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:13:54] [ROWS] 27: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:54] [ROWS] 28: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:54] [ROWS] 29: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:54] [ROWS] 30: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:13:54] [ROWS] 31: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:13:54] [ROWS] 32: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:54] [ROWS] 33: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:54] [ROWS] 34: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:54] [ROWS] 35: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:54] [ROWS] 36: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:54] [ROWS] 37: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:54] [ROWS] 38: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:54] [ROWS] 39: SEPARATOR
[11:13:54] [ROWS] 40: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:13:54] [ROWS] 41: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:54] [ROWS] 42: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:13:54] [ROWS] 43: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:13:54] [ROWS] 44: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:13:54] [ROWS] 45: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:13:54] [ROWS] 46: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:54] [ROWS] 47: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:54] [ROWS] 48: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:54] [ROWS] 49: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:54] [ROWS] 50: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:13:54] [ROWS] 51: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:13:54] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:13:54] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:13:54] [HEIGHT_DEBUG] Row 1 msg 1600: isPlayingEvolution=true, textLength=0, text='...'
[11:13:54] [HEIGHT] Row 1 msg 1600: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:13:54] [HEIGHT_DEBUG] Row 2 msg 1599: isPlayingEvolution=false, textLength=6, text='Second...'
[11:13:54] [EVOLUTION] πŸ” Raw response (372 bytes): {"ok":true,"has_evolution":true,"message_id":1601,"evolution":{"events":[{"op":"i","t":0,"p":0,"c":"C"},{"t":231,"c":"r","p":1,"op":"i"},{"t":376,"c":"i","op":"i","p":2},{"op":"i","p":3,"t":474,"c":"v
[11:13:54] [HEIGHT] Row 2 msg 1599: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:13:54] [EVOLUTION] πŸ” Parsed JSON keys: ["created_at", "evolution", "has_evolution", "message_id", "ok"]
[11:13:54] [EVOLUTION] πŸ” has_evolution: 1
[11:13:54] [EVOLUTION] βœ… Got 8 events for message 1601
[11:13:54] [HEIGHT_DEBUG] Row 1 msg 1600: isPlayingEvolution=true, textLength=0, text='...'
[11:13:54] [HEIGHT] Row 1 msg 1600: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:13:54] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:13:54] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:13:54] [HEIGHT_DEBUG] Row 2 msg 1599: isPlayingEvolution=false, textLength=6, text='Second...'
[11:13:54] [HEIGHT] Row 2 msg 1599: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:13:54] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:54] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:13:54] [EVOLUTION] πŸ“ Queued 1 messages for sequential playback: [1600]
[11:13:54] [EVOLUTION] ❌ Message 1601 not found in chatMessages
[11:13:55] [EVOLUTION] 🎬 Starting sequential playback of queued messages
[11:13:55] [EVOLUTION] ▢️ Playing next queued message 1600 - 0 remaining in queue
[11:13:55] [EVOLUTION] πŸ“‘ Fetching evolution data for message 1600
[11:13:55] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU2, AnyHashable("message_id"): 1601]
[11:13:55] [PUSH] Parsed message_id: 1601
[11:13:55] [PUSH] Parsed operation_type: 3
[11:13:55] [PUSH] Taking direct action: opType=3, messageId=1601
[11:13:55] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=1601
[11:13:55] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU2, AnyHashable("message_id"): 1600]
[11:13:55] [PUSH] Parsed message_id: 1600
[11:13:55] [PUSH] Parsed operation_type: 3
[11:13:55] [PUSH] Taking direct action: opType=3, messageId=1600
[11:13:55] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=1600
[11:13:55] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:13:55] [INFO_PAGE] Found 416 messages for session 'ILUIWU2'
[11:13:55] [INFO_PAGE] Total messages in database: 1182
[11:13:55] [EVOLUTION] πŸ” Raw response (240 bytes): {"ok":true,"has_evolution":true,"message_id":1600,"evolution":{"events":[{"op":"i","c":"L","t":0,"p":0},{"t":181,"op":"i","p":1,"c":"o"},{"op":"i","p":2,"t":326,"c":"l"},{"op":"i","c":"o","t":452,"p":
[11:13:55] [EVOLUTION] πŸ” Parsed JSON keys: ["created_at", "evolution", "has_evolution", "message_id", "ok"]
[11:13:55] [EVOLUTION] πŸ” has_evolution: 1
[11:13:55] [EVOLUTION] βœ… Got 4 events for message 1600
[11:13:55] [OVERLAP_FIX] πŸš€ Starting evolution - forcing initial height recalculation
[11:13:55] [UPDATE] πŸ”„ updateMessageCell(for: 1600) β€” full safe reload
[11:13:55] [ROWS] ===== updateMessageCell for 1600 β€” chatRows.count=52 =====
[11:13:55] [ROWS] 0: SEPARATOR
[11:13:55] [ROWS] 1: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=4
[11:13:55] [ROWS] 2: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:55] [ROWS] 3: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:55] [ROWS] 4: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:55] [ROWS] 5: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:55] [ROWS] 6: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:55] [ROWS] 7: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:13:55] [ROWS] 8: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:13:55] [ROWS] 9: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:55] [ROWS] 10: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:55] [ROWS] 11: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:55] [ROWS] 12: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:55] [ROWS] 13: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:55] [ROWS] 14: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:55] [ROWS] 15: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:55] [ROWS] 16: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:55] [ROWS] 17: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:55] [ROWS] 18: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:55] [ROWS] 19: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:55] [ROWS] 20: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:55] [ROWS] 21: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:55] [ROWS] 22: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:55] [ROWS] 23: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:13:55] [ROWS] 24: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:55] [ROWS] 25: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:55] [ROWS] 26: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:13:55] [ROWS] 27: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:55] [ROWS] 28: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:55] [ROWS] 29: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:55] [ROWS] 30: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:13:55] [ROWS] 31: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:13:55] [ROWS] 32: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:55] [ROWS] 33: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:55] [ROWS] 34: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:55] [ROWS] 35: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:55] [ROWS] 36: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:55] [ROWS] 37: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:55] [ROWS] 38: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:55] [ROWS] 39: SEPARATOR
[11:13:55] [ROWS] 40: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:13:55] [ROWS] 41: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:55] [ROWS] 42: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:13:55] [ROWS] 43: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:13:55] [ROWS] 44: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:13:55] [ROWS] 45: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:13:55] [ROWS] 46: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:55] [ROWS] 47: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:55] [ROWS] 48: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:55] [ROWS] 49: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:55] [ROWS] 50: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:13:55] [ROWS] 51: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:13:55] [ROWS] ===== END (updateMessageCell for 1600) =====
[11:13:55] [HEIGHT_DEBUG] Row 1 msg 1600: isPlayingEvolution=true, textLength=0, text='...'
[11:13:55] [HEIGHT] Row 1 msg 1600: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:13:55] [HEIGHT_DEBUG] Row 2 msg 1599: isPlayingEvolution=false, textLength=6, text='Second...'
[11:13:55] [HEIGHT] Row 2 msg 1599: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:13:55] [HEIGHT_DEBUG] Row 1 msg 1600: isPlayingEvolution=true, textLength=0, text='...'
[11:13:55] [HEIGHT] Row 1 msg 1600: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:13:55] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:13:55] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:13:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:13:55] [HEIGHT_DEBUG] Row 2 msg 1599: isPlayingEvolution=false, textLength=6, text='Second...'
[11:13:55] [HEIGHT] Row 2 msg 1599: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:13:55] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:55] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:55] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:55] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:55] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:55] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:55] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:55] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:55] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:55] [EVOLUTION] ▢️ Starting inline playback for message 1600 with 4 events
[11:13:55] [EVOLUTION] πŸ“ Event 0/4 - Text now: "L..."
[11:13:55] [UPDATE] πŸ”„ updateMessageCell(for: 1600) β€” full safe reload
[11:13:55] [ROWS] ===== updateMessageCell for 1600 β€” chatRows.count=52 =====
[11:13:55] [ROWS] 0: SEPARATOR
[11:13:55] [ROWS] 1: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=1 textLen=4
[11:13:55] [ROWS] 2: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:55] [ROWS] 3: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:55] [ROWS] 4: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:55] [ROWS] 5: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:55] [ROWS] 6: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:55] [ROWS] 7: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:13:55] [ROWS] 8: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:13:55] [ROWS] 9: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:55] [ROWS] 10: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:55] [ROWS] 11: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:55] [ROWS] 12: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:55] [ROWS] 13: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:55] [ROWS] 14: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:55] [ROWS] 15: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:55] [ROWS] 16: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:55] [ROWS] 17: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:55] [ROWS] 18: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:55] [ROWS] 19: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:55] [ROWS] 20: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:55] [ROWS] 21: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:55] [ROWS] 22: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:55] [ROWS] 23: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:13:55] [ROWS] 24: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:55] [ROWS] 25: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:55] [ROWS] 26: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:13:55] [ROWS] 27: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:55] [ROWS] 28: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:55] [ROWS] 29: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:55] [ROWS] 30: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:13:55] [ROWS] 31: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:13:55] [ROWS] 32: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:55] [ROWS] 33: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:55] [ROWS] 34: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:55] [ROWS] 35: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:55] [ROWS] 36: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:55] [ROWS] 37: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:55] [ROWS] 38: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:55] [ROWS] 39: SEPARATOR
[11:13:55] [ROWS] 40: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:13:55] [ROWS] 41: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:55] [ROWS] 42: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:13:55] [ROWS] 43: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:13:55] [ROWS] 44: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:13:55] [ROWS] 45: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:13:55] [ROWS] 46: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:55] [ROWS] 47: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:55] [ROWS] 48: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:55] [ROWS] 49: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:55] [ROWS] 50: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:13:55] [ROWS] 51: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:13:55] [ROWS] ===== END (updateMessageCell for 1600) =====
[11:13:55] [HEIGHT_DEBUG] Row 1 msg 1600: isPlayingEvolution=true, textLength=1, text='L...'
[11:13:55] [HEIGHT] Row 1 msg 1600: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:13:55] [HEIGHT_DEBUG] Row 2 msg 1599: isPlayingEvolution=false, textLength=6, text='Second...'
[11:13:55] [HEIGHT] Row 2 msg 1599: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:13:55] [HEIGHT_DEBUG] Row 1 msg 1600: isPlayingEvolution=true, textLength=1, text='L...'
[11:13:55] [HEIGHT] Row 1 msg 1600: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:13:55] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:13:55] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:13:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:55] [HEIGHT_DEBUG] Row 2 msg 1599: isPlayingEvolution=false, textLength=6, text='Second...'
[11:13:55] [HEIGHT] Row 2 msg 1599: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:13:55] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:55] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:55] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:55] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:55] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:55] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:55] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:55] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:55] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:55] [EVOLUTION] πŸ“ Event 1/4 - Text now: "Lo..."
[11:13:55] [UPDATE] πŸ”„ updateMessageCell(for: 1600) β€” full safe reload
[11:13:55] [ROWS] ===== updateMessageCell for 1600 β€” chatRows.count=52 =====
[11:13:55] [ROWS] 0: SEPARATOR
[11:13:55] [ROWS] 1: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=2 textLen=4
[11:13:55] [ROWS] 2: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:55] [ROWS] 3: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:55] [ROWS] 4: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:55] [ROWS] 5: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:55] [ROWS] 6: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:55] [ROWS] 7: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:13:55] [ROWS] 8: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:13:55] [ROWS] 9: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:55] [ROWS] 10: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:55] [ROWS] 11: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:55] [ROWS] 12: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:55] [ROWS] 13: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:55] [ROWS] 14: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:55] [ROWS] 15: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:55] [ROWS] 16: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:55] [ROWS] 17: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:55] [ROWS] 18: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:55] [ROWS] 19: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:55] [ROWS] 20: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:55] [ROWS] 21: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:55] [ROWS] 22: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:55] [ROWS] 23: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:13:55] [ROWS] 24: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:55] [ROWS] 25: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:55] [ROWS] 26: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:13:55] [ROWS] 27: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:55] [ROWS] 28: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:55] [ROWS] 29: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:55] [ROWS] 30: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:13:55] [ROWS] 31: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:13:55] [ROWS] 32: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:55] [ROWS] 33: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:55] [ROWS] 34: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:55] [ROWS] 35: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:55] [ROWS] 36: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:55] [ROWS] 37: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:55] [ROWS] 38: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:55] [ROWS] 39: SEPARATOR
[11:13:55] [ROWS] 40: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:13:55] [ROWS] 41: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:55] [ROWS] 42: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:13:55] [ROWS] 43: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:13:55] [ROWS] 44: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:13:55] [ROWS] 45: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:13:55] [ROWS] 46: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:55] [ROWS] 47: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:55] [ROWS] 48: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:55] [ROWS] 49: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:55] [ROWS] 50: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:13:55] [ROWS] 51: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:13:55] [ROWS] ===== END (updateMessageCell for 1600) =====
[11:13:55] [HEIGHT_DEBUG] Row 1 msg 1600: isPlayingEvolution=true, textLength=2, text='Lo...'
[11:13:55] [HEIGHT] Row 1 msg 1600: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:13:55] [HEIGHT_DEBUG] Row 2 msg 1599: isPlayingEvolution=false, textLength=6, text='Second...'
[11:13:55] [HEIGHT] Row 2 msg 1599: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:13:55] [HEIGHT_DEBUG] Row 1 msg 1600: isPlayingEvolution=true, textLength=2, text='Lo...'
[11:13:55] [HEIGHT] Row 1 msg 1600: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:13:55] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:13:55] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:13:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:55] [HEIGHT_DEBUG] Row 2 msg 1599: isPlayingEvolution=false, textLength=6, text='Second...'
[11:13:55] [HEIGHT] Row 2 msg 1599: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:13:55] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:55] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:55] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:55] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:55] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:55] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:55] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:55] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:55] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:56] [EVOLUTION] πŸ“ Event 2/4 - Text now: "Lol..."
[11:13:56] [UPDATE] πŸ”„ updateMessageCell(for: 1600) β€” full safe reload
[11:13:56] [ROWS] ===== updateMessageCell for 1600 β€” chatRows.count=52 =====
[11:13:56] [ROWS] 0: SEPARATOR
[11:13:56] [ROWS] 1: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=3 textLen=4
[11:13:56] [ROWS] 2: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:56] [ROWS] 3: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:56] [ROWS] 4: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:56] [ROWS] 5: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:56] [ROWS] 6: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:56] [ROWS] 7: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:13:56] [ROWS] 8: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:13:56] [ROWS] 9: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:56] [ROWS] 10: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:56] [ROWS] 11: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:56] [ROWS] 12: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:56] [ROWS] 13: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:56] [ROWS] 14: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:56] [ROWS] 15: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:56] [ROWS] 16: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:56] [ROWS] 17: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:56] [ROWS] 18: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:56] [ROWS] 19: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:56] [ROWS] 20: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:56] [ROWS] 21: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:56] [ROWS] 22: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:56] [ROWS] 23: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:13:56] [ROWS] 24: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:56] [ROWS] 25: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:56] [ROWS] 26: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:13:56] [ROWS] 27: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:56] [ROWS] 28: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:56] [ROWS] 29: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:56] [ROWS] 30: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:13:56] [ROWS] 31: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:13:56] [ROWS] 32: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:56] [ROWS] 33: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:56] [ROWS] 34: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:56] [ROWS] 35: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:56] [ROWS] 36: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:56] [ROWS] 37: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:56] [ROWS] 38: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:56] [ROWS] 39: SEPARATOR
[11:13:56] [ROWS] 40: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:13:56] [ROWS] 41: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:56] [ROWS] 42: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:13:56] [ROWS] 43: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:13:56] [ROWS] 44: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:13:56] [ROWS] 45: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:13:56] [ROWS] 46: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:56] [ROWS] 47: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:56] [ROWS] 48: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:56] [ROWS] 49: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:56] [ROWS] 50: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:13:56] [ROWS] 51: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:13:56] [ROWS] ===== END (updateMessageCell for 1600) =====
[11:13:56] [HEIGHT_DEBUG] Row 1 msg 1600: isPlayingEvolution=true, textLength=3, text='Lol...'
[11:13:56] [HEIGHT] Row 1 msg 1600: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:13:56] [HEIGHT_DEBUG] Row 2 msg 1599: isPlayingEvolution=false, textLength=6, text='Second...'
[11:13:56] [HEIGHT] Row 2 msg 1599: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:13:56] [HEIGHT_DEBUG] Row 1 msg 1600: isPlayingEvolution=true, textLength=3, text='Lol...'
[11:13:56] [HEIGHT] Row 1 msg 1600: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:13:56] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:13:56] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:13:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:56] [HEIGHT_DEBUG] Row 2 msg 1599: isPlayingEvolution=false, textLength=6, text='Second...'
[11:13:56] [HEIGHT] Row 2 msg 1599: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:13:56] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:56] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:56] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:56] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:56] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:56] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:56] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:56] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:56] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:58] [CRASH] Previous session did not exit cleanly - crash detected
[11:13:58] [GIPHY] SDK not available - using REST API fallback
[11:13:58] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:13:58] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:13:58] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:13:58] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:13:58] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:13:58] [SCENE] Launched directly to chat view with sessionId: ILUIWU2
[11:13:58] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:13:58] Documents Directory: /var/mobile/Containers/Data/Application/C9217173-64BC-4A7E-9EE5-589E98951814/Documents
[11:13:58] [NOTIFICATION] πŸ”” Notification button created and added to topNavBar
[11:13:58] [NOTIFICATION] πŸ”” Button tintColor: grey (0.5, 0.5, 0.5)
[11:13:58] [NOTIFICATION] πŸ”” Button isUserInteractionEnabled: true
[11:13:58] [INFO_PAGE] InformationViewController viewDidLoad called
[11:13:58] [INFO_PAGE] Actions configured (bell button is external)
[11:13:58] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:13:58] [INFO_PAGE] Successfully opened database at /var/mobile/Containers/Data/Application/C9217173-64BC-4A7E-9EE5-589E98951814/Documents/chat_local_viewer.db
[11:13:58] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:13:58] [INFO_PAGE] Found 416 messages for session 'ILUIWU2'
[11:13:58] [INFO_PAGE] Total messages in database: 1182
[11:13:58] [INFO_PAGE] InformationViewController setup complete
[11:13:58] [INFO_PAGE] ℹ️ Information page added to tab 3
[11:13:58] [THEME] Applying current theme
[11:13:58] [CHAT] Applied day theme (mode: day)
[11:13:58] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:13:58] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:13:58] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:13:58] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:13:58] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:13:58] [SUMMARY] Already showed summary today (2025-11-16)
[11:13:58] Did transition
[11:13:58] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:13:58] [VIEWER] Screen lock enabled - normal idle behavior
[11:13:58] [QUERY] πŸ” Checking tab - currentTabIndex=0
[11:13:58] [QUERY] πŸ”΅ [TAB 0] No query connection needed
[11:13:58] [QUERY] βœ… [TAB 0] Initialized without query connection
[11:13:58] [LOCATION] Started location updates for distance calculation (already authorized)
[11:13:58] [TAB 0] Skipping reconnect polling - only needed for tab 1
[11:13:58] [VIEWER_INIT] Loading messages with read receipts from server
[11:13:58] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:13:58] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:13:58] [DB]   msg[0] id=1601, isMyMessage=false, readBy.count=0
[11:13:58] [DB]   msg[1] id=1600, isMyMessage=false, readBy.count=0
[11:13:58] [DB]   msg[2] id=1599, isMyMessage=false, readBy.count=0
[11:13:58] [EVOLUTION] πŸ” Found 2 NEW unread messages from local DB before fetching read receipts (lastSeenMessageId=1599): [1601, 1600]
[11:13:58] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1601, readBy=[]", "id=1600, readBy=[]", "id=1599, readBy=[]"]
[11:13:58] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:13:58] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:13:58] [DB]   msg[0] id=1601, isMyMessage=false, readBy.count=0
[11:13:58] [DB]   msg[1] id=1600, isMyMessage=false, readBy.count=0
[11:13:58] [DB]   msg[2] id=1599, isMyMessage=false, readBy.count=0
[11:13:58] [EVENT_POLL] Starting periodic event polling for viewer mode (5s interval)
[11:13:58] [ORIENTATION] Updated pagingScrollView height to 247.5 for width 440.0
[11:13:58] [SUMMARY] Already showed summary today (2025-11-16)
[11:13:58] Did transition
[11:13:58] [NOTIFICATION] πŸ”” Constraints activated for notification button
[11:13:58] [NOTIFICATION] πŸ”” topNavBar frame: (0.0, 0.0, 440.0, 50.0)
[11:13:58] [NOTIFICATION] πŸ”” menuButton frame: (0.0, 0.0, 39.0, 30.0)
[11:13:58] [NOTIFICATION] πŸ”” notificationButton frame: (0.0, 0.0, 56.333333333333336, 58.0)
[11:13:58] [NOTIFICATION] πŸ”” Notification button brought to front
[11:13:58] [NOTIFICATION] πŸ”„ Updating icon to: bell.slash.fill (muted=true)
[11:13:58] [NOTIFICATION] βœ… Icon updated successfully
[11:13:58] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[11:13:58] [MIGRATION] No messages need sender_name backfill
[11:13:58] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:13:58] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:13:58] [DB]   msg[0] id=1601, isMyMessage=false, readBy.count=0
[11:13:58] [DB]   msg[1] id=1600, isMyMessage=false, readBy.count=0
[11:13:58] [DB]   msg[2] id=1599, isMyMessage=false, readBy.count=0
[11:13:58] [INFO_PAGE] InformationViewController viewWillAppear - applying theme
[11:13:58] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:13:58] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:13:58] [PAGINATION_SCROLL] offset=-12.0, contentHeight=108.0, distFromBottom=120.0, dragging=false, decel=false, isLoading=false, cooldown=63899057638.52533s
[11:13:58] [PAGINATION_SCROLL] offset=0.0, contentHeight=108.0, distFromBottom=-650.0, dragging=false, decel=false, isLoading=false, cooldown=63899057638.52734s
[11:13:58] [LOCATION] Authorization changed: 4
[11:13:58] [LOCATION] Updated location: 46.50141048324692, 6.722693970438105
[11:13:58] [NOTIFICATION] πŸ”” FINAL STATE after viewDidLoad:
[11:13:58] [NOTIFICATION] πŸ”” notificationButton.frame: (392.0, 67.0, 40.0, 40.0)
[11:13:58] [NOTIFICATION] πŸ”” notificationButton.isHidden: false
[11:13:58] [NOTIFICATION] πŸ”” notificationButton.alpha: 1.0
[11:13:58] [NOTIFICATION] πŸ”” notificationButton.superview: true
[11:13:58] [NOTIFICATION] πŸ”” topNavBar.isHidden: false
[11:13:58] [NOTIFICATION] πŸ”” topNavBar.subviews.count: 3
[11:13:58] [PUSH] handlePollEventsNotification userInfo: [:]
[11:13:58] [PUSH] No message_id in userInfo
[11:13:58] [PUSH] No operation_type in userInfo
[11:13:58] [PUSH] Performing full refresh to catch up on any missed messages
[11:13:58] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:13:58] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:13:58] [DB]   msg[0] id=1601, isMyMessage=false, readBy.count=0
[11:13:58] [DB]   msg[1] id=1600, isMyMessage=false, readBy.count=0
[11:13:58] [DB]   msg[2] id=1599, isMyMessage=false, readBy.count=0
[11:13:58] [EVOLUTION] πŸ” [FOREGROUND] Found 2 NEW unread messages after refreshAllFromServer (lastSeenMessageId=1599): [1601, 1600]
[11:13:58] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:13:58] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:13:58] [DB]   msg[0] id=1601, isMyMessage=false, readBy.count=0
[11:13:58] [DB]   msg[1] id=1600, isMyMessage=false, readBy.count=0
[11:13:58] [DB]   msg[2] id=1599, isMyMessage=false, readBy.count=0
[11:13:58] [PUSH] APNs token: 6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c
[11:13:58] [PUSH] Device role updated to 'viewer': HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:13:58] [PUSH] Device role updated to 'viewer': HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:13:58] [USER] βœ… User registered successfully
[11:13:58] [USER] User registration successful
[11:13:58] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:13:58] [CHAT] βœ… refreshAllFromServer - parsed 416 messages from server
[11:13:58] [DB] clearDBForSession(ILUIWU2): deleted 416 messages, result=101
[11:13:58] ReloadData 15 (416 messages loaded, 0 pending media)
[11:13:58] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:13:58] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:13:58] [DB]   msg[0] id=1601, isMyMessage=false, readBy.count=0
[11:13:58] [DB]   msg[1] id=1600, isMyMessage=false, readBy.count=0
[11:13:58] [DB]   msg[2] id=1599, isMyMessage=false, readBy.count=0
[11:13:58] [EVOLUTION] πŸ” Found 2 NEW unread messages after refreshAllFromServer (lastSeenMessageId=1599): [1601, 1600]
[11:13:58] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1601, readBy=[]", "id=1600, readBy=[]", "id=1599, readBy=[]"]
[11:13:58] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:13:58] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:13:58] [DB]   msg[0] id=1601, isMyMessage=false, readBy.count=0
[11:13:58] [DB]   msg[1] id=1600, isMyMessage=false, readBy.count=0
[11:13:58] [DB]   msg[2] id=1599, isMyMessage=false, readBy.count=0
[11:13:58] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:13:58] [UNREAD_DEBUG]   FINAL msg[0] id=1601, readBy.count=1
[11:13:58] [UNREAD_DEBUG]   FINAL msg[1] id=1600, readBy.count=1
[11:13:58] [UNREAD_DEBUG]   FINAL msg[2] id=1599, readBy.count=1
[11:13:58] [VIEWER_INIT] Loaded 50 messages with read receipts, hasMore: true
[11:13:58] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:13:58] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:13:58] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:13:58] [EVOLUTION] πŸ“ Updated lastSeenMessageId: 1599 β†’ 1601
[11:13:58] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:13:58] [ROWS] 0: SEPARATOR
[11:13:58] [ROWS] 1: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:13:58] [ROWS] 2: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:58] [ROWS] 3: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:58] [ROWS] 4: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:58] [ROWS] 5: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:58] [ROWS] 6: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:58] [ROWS] 7: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:58] [ROWS] 8: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:13:58] [ROWS] 9: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:13:58] [ROWS] 10: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:58] [ROWS] 11: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:58] [ROWS] 12: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:58] [ROWS] 13: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:58] [ROWS] 14: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:58] [ROWS] 15: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:58] [ROWS] 16: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:58] [ROWS] 17: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:58] [ROWS] 18: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:58] [ROWS] 19: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:58] [ROWS] 20: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:58] [ROWS] 21: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:58] [ROWS] 22: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:58] [ROWS] 23: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:58] [ROWS] 24: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:13:58] [ROWS] 25: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:58] [ROWS] 26: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:58] [ROWS] 27: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:13:58] [ROWS] 28: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:58] [ROWS] 29: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:58] [ROWS] 30: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:58] [ROWS] 31: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:13:58] [ROWS] 32: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:13:58] [ROWS] 33: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:58] [ROWS] 34: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:58] [ROWS] 35: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:58] [ROWS] 36: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:58] [ROWS] 37: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:58] [ROWS] 38: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:58] [ROWS] 39: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:58] [ROWS] 40: SEPARATOR
[11:13:58] [ROWS] 41: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:13:58] [ROWS] 42: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:58] [ROWS] 43: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:13:58] [ROWS] 44: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:13:58] [ROWS] 45: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:13:58] [ROWS] 46: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:13:58] [ROWS] 47: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:58] [ROWS] 48: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:58] [ROWS] 49: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:58] [ROWS] 50: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:58] [ROWS] 51: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:13:58] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:13:58] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:13:58] [HEIGHT_DEBUG] Row 1 msg 1601: isPlayingEvolution=false, textLength=8, text='Crivello...'
[11:13:58] [EMOJI] βœ… Loaded 451 emoji-to-GIF mappings
[11:13:58] [HEIGHT] Row 1 msg 1601: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:13:58] [HEIGHT_DEBUG] Row 2 msg 1600: isPlayingEvolution=false, textLength=4, text='Lolo...'
[11:13:58] [HEIGHT] Row 2 msg 1600: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:13:58] [HEIGHT_DEBUG] Row 1 msg 1601: isPlayingEvolution=false, textLength=8, text='Crivello...'
[11:13:58] [HEIGHT] Row 1 msg 1601: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:13:58] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:13:58] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:58] [HEIGHT_DEBUG] Row 2 msg 1600: isPlayingEvolution=false, textLength=4, text='Lolo...'
[11:13:58] [HEIGHT] Row 2 msg 1600: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:13:58] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:58] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:58] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:58] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:58] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:58] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:58] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:58] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:58] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:58] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:13:58] ReloadData 18 (viewer init with read receipts)
[11:13:58] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:13:58] [UNREAD_DEBUG]   FINAL msg[0] id=1601, readBy.count=1
[11:13:58] [UNREAD_DEBUG]   FINAL msg[1] id=1600, readBy.count=1
[11:13:58] [UNREAD_DEBUG]   FINAL msg[2] id=1599, readBy.count=1
[11:13:58] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:13:58] [UNREAD_DEBUG]   FINAL msg[0] id=1601, readBy.count=1
[11:13:58] [UNREAD_DEBUG]   FINAL msg[1] id=1600, readBy.count=1
[11:13:58] [UNREAD_DEBUG]   FINAL msg[2] id=1599, readBy.count=1
[11:13:58] [FOREGROUND_REFRESH] Loaded 50 messages
[11:13:58] [EVOLUTION] πŸ“¬ Preparing 2 unread message(s) for evolution playback: [1601, 1600]
[11:13:58] [EVOLUTION] 🎬 Preparing message 1600 for evolution playback (app launch)
[11:13:58] [EVOLUTION] 🎬 Preparing message 1601 for evolution playback (app launch)
[11:13:58] [EVOLUTION] πŸ” Reloading table for evolution - chatMessages.count=50
[11:13:58] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:13:58] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:13:58] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:13:58] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:13:58] [ROWS] 0: SEPARATOR
[11:13:58] [ROWS] 1: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=8
[11:13:58] [ROWS] 2: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=4
[11:13:58] [ROWS] 3: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:58] [ROWS] 4: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:58] [ROWS] 5: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:58] [ROWS] 6: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:58] [ROWS] 7: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:58] [ROWS] 8: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:13:58] [ROWS] 9: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:13:58] [ROWS] 10: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:58] [ROWS] 11: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:58] [ROWS] 12: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:58] [ROWS] 13: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:58] [ROWS] 14: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:58] [ROWS] 15: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:58] [ROWS] 16: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:58] [ROWS] 17: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:58] [ROWS] 18: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:58] [ROWS] 19: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:58] [ROWS] 20: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:58] [ROWS] 21: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:58] [ROWS] 22: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:58] [ROWS] 23: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:58] [ROWS] 24: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:13:58] [ROWS] 25: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:58] [ROWS] 26: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:58] [ROWS] 27: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:13:58] [ROWS] 28: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:58] [ROWS] 29: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:58] [ROWS] 30: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:58] [ROWS] 31: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:13:58] [ROWS] 32: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:13:58] [ROWS] 33: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:58] [ROWS] 34: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:58] [ROWS] 35: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:58] [ROWS] 36: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:58] [ROWS] 37: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:58] [ROWS] 38: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:58] [ROWS] 39: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:58] [ROWS] 40: SEPARATOR
[11:13:58] [ROWS] 41: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:13:58] [ROWS] 42: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:58] [ROWS] 43: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:13:58] [ROWS] 44: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:13:58] [ROWS] 45: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:13:58] [ROWS] 46: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:13:58] [ROWS] 47: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:58] [ROWS] 48: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:58] [ROWS] 49: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:58] [ROWS] 50: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:58] [ROWS] 51: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:13:58] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:13:58] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:13:58] [HEIGHT_DEBUG] Row 1 msg 1601: isPlayingEvolution=true, textLength=0, text='...'
[11:13:58] [HEIGHT] Row 1 msg 1601: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:13:58] [HEIGHT_DEBUG] Row 2 msg 1600: isPlayingEvolution=true, textLength=0, text='...'
[11:13:58] [HEIGHT] Row 2 msg 1600: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:13:58] [HEIGHT_DEBUG] Row 1 msg 1601: isPlayingEvolution=true, textLength=0, text='...'
[11:13:58] [HEIGHT] Row 1 msg 1601: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:13:58] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:13:58] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:13:58] [HEIGHT_DEBUG] Row 2 msg 1600: isPlayingEvolution=true, textLength=0, text='...'
[11:13:58] [HEIGHT] Row 2 msg 1600: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:13:58] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=41.333333333333336 bubbleBottom=45.333333333333336 cellHeight=71.0 remainingSpace=25.666666666666664
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:13:58] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:58] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:58] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:58] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:58] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:58] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:58] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:58] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:58] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:13:58] [EVOLUTION] πŸ“ Queued 2 messages for sequential playback: [1600, 1601]
[11:13:58] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:13:58] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:13:58] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:13:58] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:13:58] [ROWS] 0: SEPARATOR
[11:13:58] [ROWS] 1: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=8
[11:13:58] [ROWS] 2: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=4
[11:13:58] [ROWS] 3: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:58] [ROWS] 4: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:58] [ROWS] 5: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:58] [ROWS] 6: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:58] [ROWS] 7: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:58] [ROWS] 8: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:13:58] [ROWS] 9: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:13:58] [ROWS] 10: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:58] [ROWS] 11: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:58] [ROWS] 12: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:58] [ROWS] 13: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:58] [ROWS] 14: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:58] [ROWS] 15: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:58] [ROWS] 16: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:58] [ROWS] 17: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:58] [ROWS] 18: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:58] [ROWS] 19: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:58] [ROWS] 20: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:58] [ROWS] 21: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:58] [ROWS] 22: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:58] [ROWS] 23: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:58] [ROWS] 24: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:13:58] [ROWS] 25: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:58] [ROWS] 26: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:58] [ROWS] 27: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:13:58] [ROWS] 28: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:58] [ROWS] 29: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:58] [ROWS] 30: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:58] [ROWS] 31: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:13:58] [ROWS] 32: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:13:58] [ROWS] 33: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:58] [ROWS] 34: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:58] [ROWS] 35: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:58] [ROWS] 36: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:58] [ROWS] 37: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:58] [ROWS] 38: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:58] [ROWS] 39: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:58] [ROWS] 40: SEPARATOR
[11:13:58] [ROWS] 41: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:13:58] [ROWS] 42: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:58] [ROWS] 43: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:13:58] [ROWS] 44: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:13:58] [ROWS] 45: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:13:58] [ROWS] 46: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:13:58] [ROWS] 47: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:58] [ROWS] 48: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:58] [ROWS] 49: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:58] [ROWS] 50: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:58] [ROWS] 51: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:13:58] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:13:58] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:13:58] [HEIGHT_DEBUG] Row 1 msg 1601: isPlayingEvolution=true, textLength=0, text='...'
[11:13:58] [HEIGHT] Row 1 msg 1601: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:13:58] [HEIGHT_DEBUG] Row 2 msg 1600: isPlayingEvolution=true, textLength=0, text='...'
[11:13:58] [HEIGHT] Row 2 msg 1600: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:13:58] [HEIGHT_DEBUG] Row 1 msg 1601: isPlayingEvolution=true, textLength=0, text='...'
[11:13:58] [HEIGHT] Row 1 msg 1601: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:13:58] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:13:58] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:13:58] [HEIGHT_DEBUG] Row 2 msg 1600: isPlayingEvolution=true, textLength=0, text='...'
[11:13:58] [HEIGHT] Row 2 msg 1600: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:13:58] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=41.333333333333336 bubbleBottom=45.333333333333336 cellHeight=71.0 remainingSpace=25.666666666666664
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:13:58] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:58] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:58] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:58] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:58] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:58] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:58] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:58] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:58] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:13:58] [INIT_PAGINATION] Loaded 50 total messages, displaying 50 for tab 0
[11:13:58] [EVOLUTION] πŸ“¬ Preparing 2 unread message(s) for evolution playback: [1601, 1600]
[11:13:58] [EVOLUTION] 🎬 Preparing message 1600 for evolution playback (app launch)
[11:13:58] [EVOLUTION] 🎬 Preparing message 1601 for evolution playback (app launch)
[11:13:58] [EVOLUTION] πŸ” Reloading table for evolution - chatMessages.count=50
[11:13:58] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:13:58] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:13:58] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:13:58] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:13:58] [ROWS] 0: SEPARATOR
[11:13:58] [ROWS] 1: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=8
[11:13:58] [ROWS] 2: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=4
[11:13:58] [ROWS] 3: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:58] [ROWS] 4: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:58] [ROWS] 5: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:58] [ROWS] 6: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:58] [ROWS] 7: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:58] [ROWS] 8: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:13:58] [ROWS] 9: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:13:58] [ROWS] 10: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:58] [ROWS] 11: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:58] [ROWS] 12: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:58] [ROWS] 13: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:58] [ROWS] 14: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:58] [ROWS] 15: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:58] [ROWS] 16: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:58] [ROWS] 17: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:58] [ROWS] 18: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:58] [ROWS] 19: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:58] [ROWS] 20: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:58] [ROWS] 21: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:58] [ROWS] 22: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:58] [ROWS] 23: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:58] [ROWS] 24: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:13:58] [ROWS] 25: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:58] [ROWS] 26: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:58] [ROWS] 27: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:13:58] [ROWS] 28: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:58] [ROWS] 29: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:58] [ROWS] 30: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:58] [ROWS] 31: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:13:58] [ROWS] 32: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:13:58] [ROWS] 33: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:58] [ROWS] 34: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:58] [ROWS] 35: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:58] [ROWS] 36: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:58] [ROWS] 37: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:58] [ROWS] 38: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:58] [ROWS] 39: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:58] [ROWS] 40: SEPARATOR
[11:13:58] [ROWS] 41: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:13:58] [ROWS] 42: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:58] [ROWS] 43: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:13:58] [ROWS] 44: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:13:58] [ROWS] 45: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:13:58] [ROWS] 46: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:13:58] [ROWS] 47: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:58] [ROWS] 48: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:58] [ROWS] 49: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:58] [ROWS] 50: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:58] [ROWS] 51: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:13:58] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:13:58] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:13:58] [HEIGHT_DEBUG] Row 1 msg 1601: isPlayingEvolution=true, textLength=0, text='...'
[11:13:58] [HEIGHT] Row 1 msg 1601: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:13:58] [HEIGHT_DEBUG] Row 2 msg 1600: isPlayingEvolution=true, textLength=0, text='...'
[11:13:58] [HEIGHT] Row 2 msg 1600: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:13:58] [HEIGHT_DEBUG] Row 1 msg 1601: isPlayingEvolution=true, textLength=0, text='...'
[11:13:58] [HEIGHT] Row 1 msg 1601: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:13:58] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:13:58] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:13:58] [HEIGHT_DEBUG] Row 2 msg 1600: isPlayingEvolution=true, textLength=0, text='...'
[11:13:58] [HEIGHT] Row 2 msg 1600: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:13:58] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=41.333333333333336 bubbleBottom=45.333333333333336 cellHeight=71.0 remainingSpace=25.666666666666664
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:13:58] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:58] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:58] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:58] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:58] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:58] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:58] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:58] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:58] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:13:58] [EVOLUTION] πŸ“ Queued 2 messages for sequential playback: [1600, 1601]
[11:13:58] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:13:58] [UNREAD_DEBUG]   FINAL msg[0] id=1601, readBy.count=1
[11:13:58] [UNREAD_DEBUG]   FINAL msg[1] id=1600, readBy.count=1
[11:13:58] [UNREAD_DEBUG]   FINAL msg[2] id=1599, readBy.count=1
[11:13:58] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:13:58] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:13:58] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:13:58] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:13:58] [ROWS] 0: SEPARATOR
[11:13:58] [ROWS] 1: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:13:58] [ROWS] 2: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:58] [ROWS] 3: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:58] [ROWS] 4: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:58] [ROWS] 5: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:58] [ROWS] 6: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:58] [ROWS] 7: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:58] [ROWS] 8: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:13:58] [ROWS] 9: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:13:58] [ROWS] 10: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:58] [ROWS] 11: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:58] [ROWS] 12: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:58] [ROWS] 13: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:58] [ROWS] 14: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:58] [ROWS] 15: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:58] [ROWS] 16: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:58] [ROWS] 17: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:58] [ROWS] 18: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:58] [ROWS] 19: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:58] [ROWS] 20: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:58] [ROWS] 21: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:58] [ROWS] 22: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:58] [ROWS] 23: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:58] [ROWS] 24: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:13:58] [ROWS] 25: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:58] [ROWS] 26: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:58] [ROWS] 27: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:13:58] [ROWS] 28: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:58] [ROWS] 29: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:58] [ROWS] 30: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:58] [ROWS] 31: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:13:58] [ROWS] 32: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:13:58] [ROWS] 33: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:58] [ROWS] 34: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:58] [ROWS] 35: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:58] [ROWS] 36: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:58] [ROWS] 37: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:58] [ROWS] 38: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:58] [ROWS] 39: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:58] [ROWS] 40: SEPARATOR
[11:13:58] [ROWS] 41: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:13:58] [ROWS] 42: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:58] [ROWS] 43: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:13:58] [ROWS] 44: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:13:58] [ROWS] 45: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:13:58] [ROWS] 46: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:13:58] [ROWS] 47: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:58] [ROWS] 48: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:58] [ROWS] 49: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:58] [ROWS] 50: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:58] [ROWS] 51: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:13:58] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:13:58] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:13:58] [HEIGHT_DEBUG] Row 1 msg 1601: isPlayingEvolution=false, textLength=8, text='Crivello...'
[11:13:58] [HEIGHT] Row 1 msg 1601: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:13:58] [HEIGHT_DEBUG] Row 2 msg 1600: isPlayingEvolution=false, textLength=4, text='Lolo...'
[11:13:58] [HEIGHT] Row 2 msg 1600: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:13:58] [HEIGHT_DEBUG] Row 1 msg 1601: isPlayingEvolution=false, textLength=8, text='Crivello...'
[11:13:58] [HEIGHT] Row 1 msg 1601: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:13:58] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:13:58] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:58] [HEIGHT_DEBUG] Row 2 msg 1600: isPlayingEvolution=false, textLength=4, text='Lolo...'
[11:13:58] [HEIGHT] Row 2 msg 1600: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:13:58] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:58] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:58] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:58] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:58] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:58] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:58] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:58] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:58] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:58] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:13:58] [INITIAL_LOAD] Loaded 50 messages (first page), displaying 50 for tab 0, hasMore: true
[11:13:58] ReloadData 1
[11:13:58] [PURGE] Deleted 0 unused media files:

[11:13:58] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:13:58] [EVOLUTION] πŸ“¬ Preparing 2 unread message(s) for evolution playback: [1601, 1600]
[11:13:58] [EVOLUTION] 🎬 Preparing message 1600 for evolution playback (app launch)
[11:13:58] [EVOLUTION] 🎬 Preparing message 1601 for evolution playback (app launch)
[11:13:58] [EVOLUTION] πŸ” Reloading table for evolution - chatMessages.count=50
[11:13:58] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:13:58] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:13:58] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:13:58] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:13:58] [ROWS] 0: SEPARATOR
[11:13:58] [ROWS] 1: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=8
[11:13:58] [ROWS] 2: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=4
[11:13:58] [ROWS] 3: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:58] [ROWS] 4: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:58] [ROWS] 5: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:58] [ROWS] 6: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:58] [ROWS] 7: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:58] [ROWS] 8: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:13:58] [ROWS] 9: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:13:58] [ROWS] 10: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:58] [ROWS] 11: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:58] [ROWS] 12: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:58] [ROWS] 13: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:58] [ROWS] 14: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:58] [ROWS] 15: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:58] [ROWS] 16: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:58] [ROWS] 17: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:58] [ROWS] 18: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:58] [ROWS] 19: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:58] [ROWS] 20: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:58] [ROWS] 21: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:58] [ROWS] 22: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:58] [ROWS] 23: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:58] [ROWS] 24: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:13:58] [ROWS] 25: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:58] [ROWS] 26: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:58] [ROWS] 27: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:13:58] [ROWS] 28: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:58] [ROWS] 29: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:58] [ROWS] 30: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:58] [ROWS] 31: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:13:58] [ROWS] 32: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:13:58] [ROWS] 33: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:58] [ROWS] 34: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:58] [ROWS] 35: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:58] [ROWS] 36: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:58] [ROWS] 37: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:58] [ROWS] 38: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:58] [ROWS] 39: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:58] [ROWS] 40: SEPARATOR
[11:13:58] [ROWS] 41: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:13:58] [ROWS] 42: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:58] [ROWS] 43: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:13:58] [ROWS] 44: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:13:58] [ROWS] 45: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:13:58] [ROWS] 46: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:13:58] [ROWS] 47: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:58] [ROWS] 48: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:58] [ROWS] 49: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:58] [ROWS] 50: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:58] [ROWS] 51: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:13:58] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:13:58] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:13:58] [HEIGHT_DEBUG] Row 1 msg 1601: isPlayingEvolution=true, textLength=0, text='...'
[11:13:58] [HEIGHT] Row 1 msg 1601: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:13:58] [HEIGHT_DEBUG] Row 2 msg 1600: isPlayingEvolution=true, textLength=0, text='...'
[11:13:58] [HEIGHT] Row 2 msg 1600: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:13:58] [HEIGHT_DEBUG] Row 1 msg 1601: isPlayingEvolution=true, textLength=0, text='...'
[11:13:58] [HEIGHT] Row 1 msg 1601: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:13:58] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:13:58] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:13:58] [HEIGHT_DEBUG] Row 2 msg 1600: isPlayingEvolution=true, textLength=0, text='...'
[11:13:58] [HEIGHT] Row 2 msg 1600: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:13:58] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=41.333333333333336 bubbleBottom=45.333333333333336 cellHeight=71.0 remainingSpace=25.666666666666664
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:13:58] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:58] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:58] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:58] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:58] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:58] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:58] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:58] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:58] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:13:58] [EVOLUTION] πŸ“ Queued 2 messages for sequential playback: [1600, 1601]
[11:13:59] [EVOLUTION] 🎬 Starting sequential playback of queued messages
[11:13:59] [EVOLUTION] ▢️ Playing next queued message 1600 - 1 remaining in queue
[11:13:59] [EVOLUTION] πŸ“‘ Fetching evolution data for message 1600
[11:13:59] [EVOLUTION] 🎬 Starting sequential playback of queued messages
[11:13:59] [EVOLUTION] ⏸️ Already playing queued evolution, will retry when current finishes
[11:13:59] [EVOLUTION] πŸ” Raw response (240 bytes): {"ok":true,"has_evolution":true,"message_id":1600,"evolution":{"events":[{"op":"i","c":"L","t":0,"p":0},{"t":181,"op":"i","p":1,"c":"o"},{"op":"i","p":2,"t":326,"c":"l"},{"op":"i","c":"o","t":452,"p":
[11:13:59] [EVOLUTION] πŸ” Parsed JSON keys: ["created_at", "evolution", "has_evolution", "message_id", "ok"]
[11:13:59] [EVOLUTION] πŸ” has_evolution: 1
[11:13:59] [EVOLUTION] βœ… Got 4 events for message 1600
[11:13:59] [OVERLAP_FIX] πŸš€ Starting evolution - forcing initial height recalculation
[11:13:59] [UPDATE] πŸ”„ updateMessageCell(for: 1600) β€” full safe reload
[11:13:59] [ROWS] ===== updateMessageCell for 1600 β€” chatRows.count=52 =====
[11:13:59] [ROWS] 0: SEPARATOR
[11:13:59] [ROWS] 1: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=8
[11:13:59] [ROWS] 2: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=4
[11:13:59] [ROWS] 3: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:59] [ROWS] 4: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:59] [ROWS] 5: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:59] [ROWS] 6: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:59] [ROWS] 7: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:59] [ROWS] 8: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:13:59] [ROWS] 9: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:13:59] [ROWS] 10: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:59] [ROWS] 11: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:59] [ROWS] 12: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:59] [ROWS] 13: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:59] [ROWS] 14: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:59] [ROWS] 15: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:59] [ROWS] 16: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:59] [ROWS] 17: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:59] [ROWS] 18: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:59] [ROWS] 19: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:59] [ROWS] 20: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:59] [ROWS] 21: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:59] [ROWS] 22: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:59] [ROWS] 23: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:59] [ROWS] 24: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:13:59] [ROWS] 25: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:59] [ROWS] 26: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:59] [ROWS] 27: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:13:59] [ROWS] 28: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:59] [ROWS] 29: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:59] [ROWS] 30: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:59] [ROWS] 31: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:13:59] [ROWS] 32: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:13:59] [ROWS] 33: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:59] [ROWS] 34: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:59] [ROWS] 35: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:59] [ROWS] 36: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:59] [ROWS] 37: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:59] [ROWS] 38: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:59] [ROWS] 39: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:59] [ROWS] 40: SEPARATOR
[11:13:59] [ROWS] 41: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:13:59] [ROWS] 42: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:59] [ROWS] 43: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:13:59] [ROWS] 44: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:13:59] [ROWS] 45: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:13:59] [ROWS] 46: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:13:59] [ROWS] 47: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:59] [ROWS] 48: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:59] [ROWS] 49: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:59] [ROWS] 50: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:59] [ROWS] 51: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:13:59] [ROWS] ===== END (updateMessageCell for 1600) =====
[11:13:59] [HEIGHT_DEBUG] Row 1 msg 1601: isPlayingEvolution=true, textLength=0, text='...'
[11:13:59] [HEIGHT] Row 1 msg 1601: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:13:59] [HEIGHT_DEBUG] Row 2 msg 1600: isPlayingEvolution=true, textLength=0, text='...'
[11:13:59] [HEIGHT] Row 2 msg 1600: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:13:59] [HEIGHT_DEBUG] Row 1 msg 1601: isPlayingEvolution=true, textLength=0, text='...'
[11:13:59] [HEIGHT] Row 1 msg 1601: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:13:59] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:13:59] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:13:59] [HEIGHT_DEBUG] Row 2 msg 1600: isPlayingEvolution=true, textLength=0, text='...'
[11:13:59] [HEIGHT] Row 2 msg 1600: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:13:59] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=41.333333333333336 bubbleBottom=45.333333333333336 cellHeight=71.0 remainingSpace=25.666666666666664
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:13:59] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:59] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:59] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:59] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:59] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:59] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:59] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:59] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:59] [EVOLUTION] ▢️ Starting inline playback for message 1600 with 4 events
[11:13:59] [EVOLUTION] 🎬 Starting sequential playback of queued messages
[11:13:59] [EVOLUTION] ⏸️ Already playing queued evolution, will retry when current finishes
[11:13:59] [EVOLUTION] πŸ“ Event 0/4 - Text now: "L..."
[11:13:59] [UPDATE] πŸ”„ updateMessageCell(for: 1600) β€” full safe reload
[11:13:59] [ROWS] ===== updateMessageCell for 1600 β€” chatRows.count=52 =====
[11:13:59] [ROWS] 0: SEPARATOR
[11:13:59] [ROWS] 1: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=8
[11:13:59] [ROWS] 2: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=1 textLen=4
[11:13:59] [ROWS] 3: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:59] [ROWS] 4: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:59] [ROWS] 5: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:59] [ROWS] 6: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:59] [ROWS] 7: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:59] [ROWS] 8: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:13:59] [ROWS] 9: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:13:59] [ROWS] 10: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:59] [ROWS] 11: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:59] [ROWS] 12: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:59] [ROWS] 13: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:59] [ROWS] 14: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:59] [ROWS] 15: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:59] [ROWS] 16: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:59] [ROWS] 17: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:59] [ROWS] 18: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:59] [ROWS] 19: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:59] [ROWS] 20: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:59] [ROWS] 21: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:59] [ROWS] 22: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:59] [ROWS] 23: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:59] [ROWS] 24: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:13:59] [ROWS] 25: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:59] [ROWS] 26: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:59] [ROWS] 27: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:13:59] [ROWS] 28: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:59] [ROWS] 29: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:59] [ROWS] 30: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:59] [ROWS] 31: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:13:59] [ROWS] 32: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:13:59] [ROWS] 33: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:59] [ROWS] 34: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:59] [ROWS] 35: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:59] [ROWS] 36: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:59] [ROWS] 37: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:59] [ROWS] 38: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:59] [ROWS] 39: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:59] [ROWS] 40: SEPARATOR
[11:13:59] [ROWS] 41: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:13:59] [ROWS] 42: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:59] [ROWS] 43: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:13:59] [ROWS] 44: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:13:59] [ROWS] 45: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:13:59] [ROWS] 46: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:13:59] [ROWS] 47: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:59] [ROWS] 48: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:59] [ROWS] 49: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:59] [ROWS] 50: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:59] [ROWS] 51: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:13:59] [ROWS] ===== END (updateMessageCell for 1600) =====
[11:13:59] [HEIGHT_DEBUG] Row 1 msg 1601: isPlayingEvolution=true, textLength=0, text='...'
[11:13:59] [HEIGHT] Row 1 msg 1601: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:13:59] [HEIGHT_DEBUG] Row 2 msg 1600: isPlayingEvolution=true, textLength=1, text='L...'
[11:13:59] [HEIGHT] Row 2 msg 1600: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:13:59] [HEIGHT_DEBUG] Row 1 msg 1601: isPlayingEvolution=true, textLength=0, text='...'
[11:13:59] [HEIGHT] Row 1 msg 1601: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:13:59] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:13:59] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:13:59] [HEIGHT_DEBUG] Row 2 msg 1600: isPlayingEvolution=true, textLength=1, text='L...'
[11:13:59] [HEIGHT] Row 2 msg 1600: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:13:59] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:59] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:59] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:59] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:59] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:59] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:59] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:59] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:59] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:59] [EVOLUTION] πŸ“ Event 1/4 - Text now: "Lo..."
[11:13:59] [UPDATE] πŸ”„ updateMessageCell(for: 1600) β€” full safe reload
[11:13:59] [ROWS] ===== updateMessageCell for 1600 β€” chatRows.count=52 =====
[11:13:59] [ROWS] 0: SEPARATOR
[11:13:59] [ROWS] 1: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=8
[11:13:59] [ROWS] 2: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=2 textLen=4
[11:13:59] [ROWS] 3: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:59] [ROWS] 4: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:59] [ROWS] 5: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:59] [ROWS] 6: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:59] [ROWS] 7: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:59] [ROWS] 8: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:13:59] [ROWS] 9: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:13:59] [ROWS] 10: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:59] [ROWS] 11: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:59] [ROWS] 12: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:59] [ROWS] 13: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:59] [ROWS] 14: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:59] [ROWS] 15: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:59] [ROWS] 16: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:59] [ROWS] 17: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:59] [ROWS] 18: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:59] [ROWS] 19: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:59] [ROWS] 20: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:59] [ROWS] 21: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:59] [ROWS] 22: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:59] [ROWS] 23: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:59] [ROWS] 24: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:13:59] [ROWS] 25: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:59] [ROWS] 26: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:59] [ROWS] 27: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:13:59] [ROWS] 28: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:59] [ROWS] 29: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:59] [ROWS] 30: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:59] [ROWS] 31: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:13:59] [ROWS] 32: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:13:59] [ROWS] 33: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:59] [ROWS] 34: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:59] [ROWS] 35: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:59] [ROWS] 36: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:59] [ROWS] 37: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:59] [ROWS] 38: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:59] [ROWS] 39: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:59] [ROWS] 40: SEPARATOR
[11:13:59] [ROWS] 41: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:13:59] [ROWS] 42: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:59] [ROWS] 43: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:13:59] [ROWS] 44: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:13:59] [ROWS] 45: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:13:59] [ROWS] 46: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:13:59] [ROWS] 47: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:59] [ROWS] 48: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:59] [ROWS] 49: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:59] [ROWS] 50: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:59] [ROWS] 51: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:13:59] [ROWS] ===== END (updateMessageCell for 1600) =====
[11:13:59] [HEIGHT_DEBUG] Row 1 msg 1601: isPlayingEvolution=true, textLength=0, text='...'
[11:13:59] [HEIGHT] Row 1 msg 1601: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:13:59] [HEIGHT_DEBUG] Row 2 msg 1600: isPlayingEvolution=true, textLength=2, text='Lo...'
[11:13:59] [HEIGHT] Row 2 msg 1600: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:13:59] [HEIGHT_DEBUG] Row 1 msg 1601: isPlayingEvolution=true, textLength=0, text='...'
[11:13:59] [HEIGHT] Row 1 msg 1601: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:13:59] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:13:59] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:13:59] [HEIGHT_DEBUG] Row 2 msg 1600: isPlayingEvolution=true, textLength=2, text='Lo...'
[11:13:59] [HEIGHT] Row 2 msg 1600: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:13:59] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:59] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:59] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:59] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:59] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:59] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:59] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:59] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:59] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:59] [EVOLUTION] πŸ“ Event 2/4 - Text now: "Lol..."
[11:13:59] [UPDATE] πŸ”„ updateMessageCell(for: 1600) β€” full safe reload
[11:13:59] [ROWS] ===== updateMessageCell for 1600 β€” chatRows.count=52 =====
[11:13:59] [ROWS] 0: SEPARATOR
[11:13:59] [ROWS] 1: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=8
[11:13:59] [ROWS] 2: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=3 textLen=4
[11:13:59] [ROWS] 3: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:59] [ROWS] 4: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:59] [ROWS] 5: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:59] [ROWS] 6: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:59] [ROWS] 7: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:59] [ROWS] 8: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:13:59] [ROWS] 9: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:13:59] [ROWS] 10: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:59] [ROWS] 11: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:59] [ROWS] 12: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:59] [ROWS] 13: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:59] [ROWS] 14: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:59] [ROWS] 15: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:59] [ROWS] 16: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:59] [ROWS] 17: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:59] [ROWS] 18: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:59] [ROWS] 19: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:59] [ROWS] 20: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:59] [ROWS] 21: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:59] [ROWS] 22: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:59] [ROWS] 23: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:59] [ROWS] 24: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:13:59] [ROWS] 25: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:59] [ROWS] 26: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:59] [ROWS] 27: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:13:59] [ROWS] 28: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:59] [ROWS] 29: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:59] [ROWS] 30: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:59] [ROWS] 31: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:13:59] [ROWS] 32: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:13:59] [ROWS] 33: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:59] [ROWS] 34: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:59] [ROWS] 35: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:59] [ROWS] 36: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:59] [ROWS] 37: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:59] [ROWS] 38: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:59] [ROWS] 39: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:59] [ROWS] 40: SEPARATOR
[11:13:59] [ROWS] 41: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:13:59] [ROWS] 42: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:59] [ROWS] 43: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:13:59] [ROWS] 44: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:13:59] [ROWS] 45: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:13:59] [ROWS] 46: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:13:59] [ROWS] 47: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:59] [ROWS] 48: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:59] [ROWS] 49: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:59] [ROWS] 50: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:59] [ROWS] 51: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:13:59] [ROWS] ===== END (updateMessageCell for 1600) =====
[11:13:59] [HEIGHT_DEBUG] Row 1 msg 1601: isPlayingEvolution=true, textLength=0, text='...'
[11:13:59] [HEIGHT] Row 1 msg 1601: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:13:59] [HEIGHT_DEBUG] Row 2 msg 1600: isPlayingEvolution=true, textLength=3, text='Lol...'
[11:13:59] [HEIGHT] Row 2 msg 1600: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:13:59] [HEIGHT_DEBUG] Row 1 msg 1601: isPlayingEvolution=true, textLength=0, text='...'
[11:13:59] [HEIGHT] Row 1 msg 1601: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:13:59] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:13:59] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:13:59] [HEIGHT_DEBUG] Row 2 msg 1600: isPlayingEvolution=true, textLength=3, text='Lol...'
[11:13:59] [HEIGHT] Row 2 msg 1600: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:13:59] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:59] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:59] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:59] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:59] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:59] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:59] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:59] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:59] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:59] [EVOLUTION] πŸ“ Event 3/4 - Text now: "Lolo..."
[11:13:59] [UPDATE] πŸ”„ updateMessageCell(for: 1600) β€” full safe reload
[11:13:59] [ROWS] ===== updateMessageCell for 1600 β€” chatRows.count=52 =====
[11:13:59] [ROWS] 0: SEPARATOR
[11:13:59] [ROWS] 1: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=8
[11:13:59] [ROWS] 2: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=4 textLen=4
[11:13:59] [ROWS] 3: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:59] [ROWS] 4: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:59] [ROWS] 5: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:59] [ROWS] 6: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:59] [ROWS] 7: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:59] [ROWS] 8: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:13:59] [ROWS] 9: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:13:59] [ROWS] 10: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:59] [ROWS] 11: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:59] [ROWS] 12: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:59] [ROWS] 13: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:59] [ROWS] 14: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:59] [ROWS] 15: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:59] [ROWS] 16: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:59] [ROWS] 17: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:59] [ROWS] 18: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:59] [ROWS] 19: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:59] [ROWS] 20: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:59] [ROWS] 21: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:59] [ROWS] 22: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:59] [ROWS] 23: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:59] [ROWS] 24: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:13:59] [ROWS] 25: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:59] [ROWS] 26: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:59] [ROWS] 27: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:13:59] [ROWS] 28: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:59] [ROWS] 29: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:59] [ROWS] 30: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:59] [ROWS] 31: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:13:59] [ROWS] 32: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:13:59] [ROWS] 33: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:59] [ROWS] 34: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:59] [ROWS] 35: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:59] [ROWS] 36: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:59] [ROWS] 37: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:59] [ROWS] 38: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:59] [ROWS] 39: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:59] [ROWS] 40: SEPARATOR
[11:13:59] [ROWS] 41: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:13:59] [ROWS] 42: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:59] [ROWS] 43: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:13:59] [ROWS] 44: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:13:59] [ROWS] 45: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:13:59] [ROWS] 46: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:13:59] [ROWS] 47: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:59] [ROWS] 48: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:59] [ROWS] 49: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:59] [ROWS] 50: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:59] [ROWS] 51: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:13:59] [ROWS] ===== END (updateMessageCell for 1600) =====
[11:13:59] [HEIGHT_DEBUG] Row 1 msg 1601: isPlayingEvolution=true, textLength=0, text='...'
[11:13:59] [HEIGHT] Row 1 msg 1601: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:13:59] [HEIGHT_DEBUG] Row 2 msg 1600: isPlayingEvolution=true, textLength=4, text='Lolo...'
[11:13:59] [HEIGHT] Row 2 msg 1600: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:13:59] [HEIGHT_DEBUG] Row 1 msg 1601: isPlayingEvolution=true, textLength=0, text='...'
[11:13:59] [HEIGHT] Row 1 msg 1601: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:13:59] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:13:59] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:13:59] [HEIGHT_DEBUG] Row 2 msg 1600: isPlayingEvolution=true, textLength=4, text='Lolo...'
[11:13:59] [HEIGHT] Row 2 msg 1600: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:13:59] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:59] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:59] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:59] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:59] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:59] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:59] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:59] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:59] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:59] [EVOLUTION] βœ… Finished playback for message 1600
[11:13:59] [UPDATE] πŸ”„ updateMessageCell(for: 1600) β€” full safe reload
[11:13:59] [ROWS] ===== updateMessageCell for 1600 β€” chatRows.count=52 =====
[11:13:59] [ROWS] 0: SEPARATOR
[11:13:59] [ROWS] 1: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=8
[11:13:59] [ROWS] 2: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=4 textLen=4
[11:13:59] [ROWS] 3: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:59] [ROWS] 4: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:59] [ROWS] 5: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:59] [ROWS] 6: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:59] [ROWS] 7: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:59] [ROWS] 8: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:13:59] [ROWS] 9: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:13:59] [ROWS] 10: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:59] [ROWS] 11: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:59] [ROWS] 12: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:59] [ROWS] 13: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:59] [ROWS] 14: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:59] [ROWS] 15: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:59] [ROWS] 16: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:59] [ROWS] 17: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:59] [ROWS] 18: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:59] [ROWS] 19: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:59] [ROWS] 20: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:59] [ROWS] 21: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:59] [ROWS] 22: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:59] [ROWS] 23: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:13:59] [ROWS] 24: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:13:59] [ROWS] 25: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:59] [ROWS] 26: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:13:59] [ROWS] 27: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:13:59] [ROWS] 28: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:59] [ROWS] 29: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:59] [ROWS] 30: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:59] [ROWS] 31: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:13:59] [ROWS] 32: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:13:59] [ROWS] 33: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:13:59] [ROWS] 34: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:59] [ROWS] 35: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:59] [ROWS] 36: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:59] [ROWS] 37: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:59] [ROWS] 38: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:59] [ROWS] 39: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:13:59] [ROWS] 40: SEPARATOR
[11:13:59] [ROWS] 41: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:13:59] [ROWS] 42: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:59] [ROWS] 43: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:13:59] [ROWS] 44: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:13:59] [ROWS] 45: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:13:59] [ROWS] 46: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:13:59] [ROWS] 47: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:13:59] [ROWS] 48: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:13:59] [ROWS] 49: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:59] [ROWS] 50: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:13:59] [ROWS] 51: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:13:59] [ROWS] ===== END (updateMessageCell for 1600) =====
[11:13:59] [HEIGHT_DEBUG] Row 1 msg 1601: isPlayingEvolution=true, textLength=0, text='...'
[11:13:59] [HEIGHT] Row 1 msg 1601: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:13:59] [HEIGHT_DEBUG] Row 2 msg 1600: isPlayingEvolution=false, textLength=4, text='Lolo...'
[11:13:59] [HEIGHT] Row 2 msg 1600: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:13:59] [HEIGHT_DEBUG] Row 1 msg 1601: isPlayingEvolution=true, textLength=0, text='...'
[11:13:59] [HEIGHT] Row 1 msg 1601: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:13:59] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:13:59] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:13:59] [HEIGHT_DEBUG] Row 2 msg 1600: isPlayingEvolution=false, textLength=4, text='Lolo...'
[11:13:59] [HEIGHT] Row 2 msg 1600: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:13:59] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:59] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:59] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:59] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:59] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:59] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:59] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:59] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:59] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:13:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:13:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:13:59] [EVOLUTION] 🎬 Current message finished, playing next in queue after 0.5s delay
[11:14:00] [EVOLUTION] ▢️ Playing next queued message 1601 - 0 remaining in queue
[11:14:00] [EVOLUTION] πŸ“‘ Fetching evolution data for message 1601
[11:14:00] [EVOLUTION] πŸ” Raw response (372 bytes): {"ok":true,"has_evolution":true,"message_id":1601,"evolution":{"events":[{"op":"i","t":0,"p":0,"c":"C"},{"t":231,"c":"r","p":1,"op":"i"},{"t":376,"c":"i","op":"i","p":2},{"op":"i","p":3,"t":474,"c":"v
[11:14:00] [EVOLUTION] πŸ” Parsed JSON keys: ["created_at", "evolution", "has_evolution", "message_id", "ok"]
[11:14:00] [EVOLUTION] πŸ” has_evolution: 1
[11:14:00] [EVOLUTION] βœ… Got 8 events for message 1601
[11:14:00] [OVERLAP_FIX] πŸš€ Starting evolution - forcing initial height recalculation
[11:14:00] [UPDATE] πŸ”„ updateMessageCell(for: 1601) β€” full safe reload
[11:14:00] [ROWS] ===== updateMessageCell for 1601 β€” chatRows.count=52 =====
[11:14:00] [ROWS] 0: SEPARATOR
[11:14:00] [ROWS] 1: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=8
[11:14:00] [ROWS] 2: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=4 textLen=4
[11:14:00] [ROWS] 3: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:00] [ROWS] 4: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:14:00] [ROWS] 5: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:14:00] [ROWS] 6: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:14:00] [ROWS] 7: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:14:00] [ROWS] 8: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:14:00] [ROWS] 9: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:14:00] [ROWS] 10: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:14:00] [ROWS] 11: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:00] [ROWS] 12: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:00] [ROWS] 13: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:00] [ROWS] 14: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:00] [ROWS] 15: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:14:00] [ROWS] 16: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:00] [ROWS] 17: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:14:00] [ROWS] 18: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:14:00] [ROWS] 19: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:00] [ROWS] 20: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:00] [ROWS] 21: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:14:00] [ROWS] 22: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:00] [ROWS] 23: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:14:00] [ROWS] 24: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:14:00] [ROWS] 25: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:00] [ROWS] 26: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:00] [ROWS] 27: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:14:00] [ROWS] 28: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:14:00] [ROWS] 29: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:14:00] [ROWS] 30: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:00] [ROWS] 31: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:14:00] [ROWS] 32: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:14:00] [ROWS] 33: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:14:00] [ROWS] 34: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:00] [ROWS] 35: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:00] [ROWS] 36: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:00] [ROWS] 37: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:00] [ROWS] 38: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:00] [ROWS] 39: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:00] [ROWS] 40: SEPARATOR
[11:14:00] [ROWS] 41: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:14:00] [ROWS] 42: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:00] [ROWS] 43: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:14:00] [ROWS] 44: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:14:00] [ROWS] 45: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:14:00] [ROWS] 46: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:14:00] [ROWS] 47: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:00] [ROWS] 48: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:14:00] [ROWS] 49: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:14:00] [ROWS] 50: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:14:00] [ROWS] 51: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:14:00] [ROWS] ===== END (updateMessageCell for 1601) =====
[11:14:00] [HEIGHT_DEBUG] Row 1 msg 1601: isPlayingEvolution=true, textLength=0, text='...'
[11:14:00] [HEIGHT] Row 1 msg 1601: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:14:00] [HEIGHT_DEBUG] Row 2 msg 1600: isPlayingEvolution=false, textLength=4, text='Lolo...'
[11:14:00] [HEIGHT] Row 2 msg 1600: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:14:00] [HEIGHT_DEBUG] Row 1 msg 1601: isPlayingEvolution=true, textLength=0, text='...'
[11:14:00] [HEIGHT] Row 1 msg 1601: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:14:00] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:14:00] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:14:00] [HEIGHT_DEBUG] Row 2 msg 1600: isPlayingEvolution=false, textLength=4, text='Lolo...'
[11:14:00] [HEIGHT] Row 2 msg 1600: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:14:00] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [EVOLUTION] ▢️ Starting inline playback for message 1601 with 8 events
[11:14:00] [EVOLUTION] πŸ“ Event 0/8 - Text now: "C..."
[11:14:00] [UPDATE] πŸ”„ updateMessageCell(for: 1601) β€” full safe reload
[11:14:00] [ROWS] ===== updateMessageCell for 1601 β€” chatRows.count=52 =====
[11:14:00] [ROWS] 0: SEPARATOR
[11:14:00] [ROWS] 1: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=1 textLen=8
[11:14:00] [ROWS] 2: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=4 textLen=4
[11:14:00] [ROWS] 3: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:00] [ROWS] 4: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:14:00] [ROWS] 5: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:14:00] [ROWS] 6: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:14:00] [ROWS] 7: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:14:00] [ROWS] 8: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:14:00] [ROWS] 9: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:14:00] [ROWS] 10: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:14:00] [ROWS] 11: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:00] [ROWS] 12: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:00] [ROWS] 13: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:00] [ROWS] 14: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:00] [ROWS] 15: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:14:00] [ROWS] 16: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:00] [ROWS] 17: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:14:00] [ROWS] 18: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:14:00] [ROWS] 19: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:00] [ROWS] 20: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:00] [ROWS] 21: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:14:00] [ROWS] 22: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:00] [ROWS] 23: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:14:00] [ROWS] 24: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:14:00] [ROWS] 25: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:00] [ROWS] 26: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:00] [ROWS] 27: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:14:00] [ROWS] 28: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:14:00] [ROWS] 29: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:14:00] [ROWS] 30: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:00] [ROWS] 31: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:14:00] [ROWS] 32: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:14:00] [ROWS] 33: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:14:00] [ROWS] 34: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:00] [ROWS] 35: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:00] [ROWS] 36: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:00] [ROWS] 37: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:00] [ROWS] 38: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:00] [ROWS] 39: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:00] [ROWS] 40: SEPARATOR
[11:14:00] [ROWS] 41: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:14:00] [ROWS] 42: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:00] [ROWS] 43: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:14:00] [ROWS] 44: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:14:00] [ROWS] 45: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:14:00] [ROWS] 46: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:14:00] [ROWS] 47: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:00] [ROWS] 48: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:14:00] [ROWS] 49: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:14:00] [ROWS] 50: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:14:00] [ROWS] 51: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:14:00] [ROWS] ===== END (updateMessageCell for 1601) =====
[11:14:00] [HEIGHT_DEBUG] Row 1 msg 1601: isPlayingEvolution=true, textLength=1, text='C...'
[11:14:00] [HEIGHT] Row 1 msg 1601: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:14:00] [HEIGHT_DEBUG] Row 2 msg 1600: isPlayingEvolution=false, textLength=4, text='Lolo...'
[11:14:00] [HEIGHT] Row 2 msg 1600: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:14:00] [HEIGHT_DEBUG] Row 1 msg 1601: isPlayingEvolution=true, textLength=1, text='C...'
[11:14:00] [HEIGHT] Row 1 msg 1601: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:14:00] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:14:00] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [HEIGHT_DEBUG] Row 2 msg 1600: isPlayingEvolution=false, textLength=4, text='Lolo...'
[11:14:00] [HEIGHT] Row 2 msg 1600: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:14:00] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:14:00] Will get events_php
[11:14:00] [TYPING] πŸ”„ ========== POLL START ==========
[11:14:00] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:14:00] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:14:00] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:14:00] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:14:00] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:14:00] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:14:00] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2]
[11:14:00] [TYPING] πŸ“₯ Found 0 typing users in response
[11:14:00] [EVT] get_events.php HTTP 200
── Response Headers ──
Server: Apache/2.4.65 (Unix) PHP/8.4.14
X-Powered-By: PHP/8.4.14
Content-Length: 1106
Date: Sun, 16 Nov 2025 10:14:00 GMT
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=93
Connection: Keep-Alive
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":14,"events":[{"event_id":10632,"event_type":3,"message_id":1600,"session_id":"ILUIWU2"},{"event_id":10634,"event_type":3,"message_id":1601,"session_id":"ILUIWU2"},{"event_id":10635,"event_type":3,"message_id":1598,"session_id":"ILUIWU2"},{"event_id":10636,"event_type":3,"message_id":1597,"session_id":"ILUIWU2"},{"event_id":10637,"event_type":3,"message_id":1596,"session_id":"ILUIWU2"},{"event_id":10638,"event_type":3,"message_id":1595,"session_id":"ILUIWU2"},{"event_id":10639,"event_type":3,"message_id":1594,"session_id":"ILUIWU2"},{"event_id":10640,"event_type":3,"message_id":1593,"session_id":"ILUIWU2"},{"event_id":10641,"event_type":3,"message_id":1592,"session_id":"ILUIWU2"},{"event_id":10642,"event_type":3,"message_id":1591,"session_id":"ILUIWU2"},{"event_id":10643,"event_type":3,"message_id":1590,"session_id":"ILUIWU2"},{"event_id":10644,"event_type":3,"message_id":1601,"session_id":"ILUIWU2"},{"event_id":10645,"event_type":3,"message_id":1599,"session_id":"ILUIWU2"},{"event_id":10646,"event_type":3,"message_id":1600,"session_id":"ILUIWU2"}]}
[11:14:00] [TYPING] πŸ“₯ Updating typing users SET: []
[11:14:00] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:14:00] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:14:00] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:14:00] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:14:00] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:14:00] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:14:00] [TYPING] πŸ”„ ========== POLL END ==========
[11:14:00] Done
[11:14:00] [EVOLUTION] πŸ“ Event 1/8 - Text now: "Cr..."
[11:14:00] [UPDATE] πŸ”„ updateMessageCell(for: 1601) β€” full safe reload
[11:14:00] [ROWS] ===== updateMessageCell for 1601 β€” chatRows.count=52 =====
[11:14:00] [ROWS] 0: SEPARATOR
[11:14:00] [ROWS] 1: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=2 textLen=8
[11:14:00] [ROWS] 2: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=4 textLen=4
[11:14:00] [ROWS] 3: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:00] [ROWS] 4: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:14:00] [ROWS] 5: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:14:00] [ROWS] 6: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:14:00] [ROWS] 7: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:14:00] [ROWS] 8: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:14:00] [ROWS] 9: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:14:00] [ROWS] 10: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:14:00] [ROWS] 11: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:00] [ROWS] 12: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:00] [ROWS] 13: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:00] [ROWS] 14: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:00] [ROWS] 15: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:14:00] [ROWS] 16: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:00] [ROWS] 17: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:14:00] [ROWS] 18: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:14:00] [ROWS] 19: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:00] [ROWS] 20: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:00] [ROWS] 21: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:14:00] [ROWS] 22: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:00] [ROWS] 23: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:14:00] [ROWS] 24: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:14:00] [ROWS] 25: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:00] [ROWS] 26: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:00] [ROWS] 27: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:14:00] [ROWS] 28: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:14:00] [ROWS] 29: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:14:00] [ROWS] 30: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:00] [ROWS] 31: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:14:00] [ROWS] 32: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:14:00] [ROWS] 33: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:14:00] [ROWS] 34: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:00] [ROWS] 35: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:00] [ROWS] 36: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:00] [ROWS] 37: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:00] [ROWS] 38: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:00] [ROWS] 39: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:00] [ROWS] 40: SEPARATOR
[11:14:00] [ROWS] 41: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:14:00] [ROWS] 42: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:00] [ROWS] 43: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:14:00] [ROWS] 44: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:14:00] [ROWS] 45: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:14:00] [ROWS] 46: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:14:00] [ROWS] 47: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:00] [ROWS] 48: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:14:00] [ROWS] 49: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:14:00] [ROWS] 50: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:14:00] [ROWS] 51: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:14:00] [ROWS] ===== END (updateMessageCell for 1601) =====
[11:14:00] [HEIGHT_DEBUG] Row 1 msg 1601: isPlayingEvolution=true, textLength=2, text='Cr...'
[11:14:00] [HEIGHT] Row 1 msg 1601: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:14:00] [HEIGHT_DEBUG] Row 2 msg 1600: isPlayingEvolution=false, textLength=4, text='Lolo...'
[11:14:00] [HEIGHT] Row 2 msg 1600: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:14:00] [HEIGHT_DEBUG] Row 1 msg 1601: isPlayingEvolution=true, textLength=2, text='Cr...'
[11:14:00] [HEIGHT] Row 1 msg 1601: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:14:00] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:14:00] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [HEIGHT_DEBUG] Row 2 msg 1600: isPlayingEvolution=false, textLength=4, text='Lolo...'
[11:14:00] [HEIGHT] Row 2 msg 1600: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:14:00] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [EVOLUTION] πŸ“ Event 2/8 - Text now: "Cri..."
[11:14:00] [UPDATE] πŸ”„ updateMessageCell(for: 1601) β€” full safe reload
[11:14:00] [ROWS] ===== updateMessageCell for 1601 β€” chatRows.count=52 =====
[11:14:00] [ROWS] 0: SEPARATOR
[11:14:00] [ROWS] 1: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=3 textLen=8
[11:14:00] [ROWS] 2: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=4 textLen=4
[11:14:00] [ROWS] 3: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:00] [ROWS] 4: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:14:00] [ROWS] 5: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:14:00] [ROWS] 6: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:14:00] [ROWS] 7: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:14:00] [ROWS] 8: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:14:00] [ROWS] 9: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:14:00] [ROWS] 10: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:14:00] [ROWS] 11: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:00] [ROWS] 12: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:00] [ROWS] 13: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:00] [ROWS] 14: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:00] [ROWS] 15: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:14:00] [ROWS] 16: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:00] [ROWS] 17: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:14:00] [ROWS] 18: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:14:00] [ROWS] 19: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:00] [ROWS] 20: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:00] [ROWS] 21: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:14:00] [ROWS] 22: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:00] [ROWS] 23: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:14:00] [ROWS] 24: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:14:00] [ROWS] 25: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:00] [ROWS] 26: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:00] [ROWS] 27: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:14:00] [ROWS] 28: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:14:00] [ROWS] 29: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:14:00] [ROWS] 30: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:00] [ROWS] 31: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:14:00] [ROWS] 32: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:14:00] [ROWS] 33: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:14:00] [ROWS] 34: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:00] [ROWS] 35: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:00] [ROWS] 36: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:00] [ROWS] 37: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:00] [ROWS] 38: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:00] [ROWS] 39: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:00] [ROWS] 40: SEPARATOR
[11:14:00] [ROWS] 41: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:14:00] [ROWS] 42: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:00] [ROWS] 43: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:14:00] [ROWS] 44: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:14:00] [ROWS] 45: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:14:00] [ROWS] 46: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:14:00] [ROWS] 47: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:00] [ROWS] 48: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:14:00] [ROWS] 49: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:14:00] [ROWS] 50: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:14:00] [ROWS] 51: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:14:00] [ROWS] ===== END (updateMessageCell for 1601) =====
[11:14:00] [HEIGHT_DEBUG] Row 1 msg 1601: isPlayingEvolution=true, textLength=3, text='Cri...'
[11:14:00] [HEIGHT] Row 1 msg 1601: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:14:00] [HEIGHT_DEBUG] Row 2 msg 1600: isPlayingEvolution=false, textLength=4, text='Lolo...'
[11:14:00] [HEIGHT] Row 2 msg 1600: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:14:00] [HEIGHT_DEBUG] Row 1 msg 1601: isPlayingEvolution=true, textLength=3, text='Cri...'
[11:14:00] [HEIGHT] Row 1 msg 1601: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:14:00] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:14:00] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [HEIGHT_DEBUG] Row 2 msg 1600: isPlayingEvolution=false, textLength=4, text='Lolo...'
[11:14:00] [HEIGHT] Row 2 msg 1600: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:14:00] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [EVOLUTION] πŸ“ Event 3/8 - Text now: "Criv..."
[11:14:00] [UPDATE] πŸ”„ updateMessageCell(for: 1601) β€” full safe reload
[11:14:00] [ROWS] ===== updateMessageCell for 1601 β€” chatRows.count=52 =====
[11:14:00] [ROWS] 0: SEPARATOR
[11:14:00] [ROWS] 1: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=4 textLen=8
[11:14:00] [ROWS] 2: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=4 textLen=4
[11:14:00] [ROWS] 3: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:00] [ROWS] 4: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:14:00] [ROWS] 5: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:14:00] [ROWS] 6: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:14:00] [ROWS] 7: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:14:00] [ROWS] 8: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:14:00] [ROWS] 9: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:14:00] [ROWS] 10: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:14:00] [ROWS] 11: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:00] [ROWS] 12: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:00] [ROWS] 13: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:00] [ROWS] 14: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:00] [ROWS] 15: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:14:00] [ROWS] 16: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:00] [ROWS] 17: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:14:00] [ROWS] 18: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:14:00] [ROWS] 19: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:00] [ROWS] 20: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:00] [ROWS] 21: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:14:00] [ROWS] 22: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:00] [ROWS] 23: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:14:00] [ROWS] 24: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:14:00] [ROWS] 25: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:00] [ROWS] 26: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:00] [ROWS] 27: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:14:00] [ROWS] 28: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:14:00] [ROWS] 29: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:14:00] [ROWS] 30: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:00] [ROWS] 31: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:14:00] [ROWS] 32: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:14:00] [ROWS] 33: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:14:00] [ROWS] 34: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:00] [ROWS] 35: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:00] [ROWS] 36: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:00] [ROWS] 37: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:00] [ROWS] 38: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:00] [ROWS] 39: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:00] [ROWS] 40: SEPARATOR
[11:14:00] [ROWS] 41: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:14:00] [ROWS] 42: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:00] [ROWS] 43: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:14:00] [ROWS] 44: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:14:00] [ROWS] 45: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:14:00] [ROWS] 46: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:14:00] [ROWS] 47: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:00] [ROWS] 48: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:14:00] [ROWS] 49: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:14:00] [ROWS] 50: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:14:00] [ROWS] 51: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:14:00] [ROWS] ===== END (updateMessageCell for 1601) =====
[11:14:00] [HEIGHT_DEBUG] Row 1 msg 1601: isPlayingEvolution=true, textLength=4, text='Criv...'
[11:14:00] [HEIGHT] Row 1 msg 1601: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:14:00] [HEIGHT_DEBUG] Row 2 msg 1600: isPlayingEvolution=false, textLength=4, text='Lolo...'
[11:14:00] [HEIGHT] Row 2 msg 1600: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:14:00] [HEIGHT_DEBUG] Row 1 msg 1601: isPlayingEvolution=true, textLength=4, text='Criv...'
[11:14:00] [HEIGHT] Row 1 msg 1601: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:14:00] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:14:00] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [HEIGHT_DEBUG] Row 2 msg 1600: isPlayingEvolution=false, textLength=4, text='Lolo...'
[11:14:00] [HEIGHT] Row 2 msg 1600: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:14:00] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [EVOLUTION] πŸ“ Event 4/8 - Text now: "Crive..."
[11:14:00] [UPDATE] πŸ”„ updateMessageCell(for: 1601) β€” full safe reload
[11:14:00] [ROWS] ===== updateMessageCell for 1601 β€” chatRows.count=52 =====
[11:14:00] [ROWS] 0: SEPARATOR
[11:14:00] [ROWS] 1: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=5 textLen=8
[11:14:00] [ROWS] 2: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=4 textLen=4
[11:14:00] [ROWS] 3: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:00] [ROWS] 4: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:14:00] [ROWS] 5: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:14:00] [ROWS] 6: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:14:00] [ROWS] 7: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:14:00] [ROWS] 8: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:14:00] [ROWS] 9: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:14:00] [ROWS] 10: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:14:00] [ROWS] 11: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:00] [ROWS] 12: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:00] [ROWS] 13: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:00] [ROWS] 14: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:00] [ROWS] 15: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:14:00] [ROWS] 16: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:00] [ROWS] 17: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:14:00] [ROWS] 18: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:14:00] [ROWS] 19: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:00] [ROWS] 20: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:00] [ROWS] 21: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:14:00] [ROWS] 22: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:00] [ROWS] 23: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:14:00] [ROWS] 24: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:14:00] [ROWS] 25: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:00] [ROWS] 26: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:00] [ROWS] 27: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:14:00] [ROWS] 28: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:14:00] [ROWS] 29: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:14:00] [ROWS] 30: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:00] [ROWS] 31: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:14:00] [ROWS] 32: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:14:00] [ROWS] 33: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:14:00] [ROWS] 34: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:00] [ROWS] 35: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:00] [ROWS] 36: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:00] [ROWS] 37: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:00] [ROWS] 38: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:00] [ROWS] 39: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:00] [ROWS] 40: SEPARATOR
[11:14:00] [ROWS] 41: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:14:00] [ROWS] 42: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:00] [ROWS] 43: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:14:00] [ROWS] 44: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:14:00] [ROWS] 45: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:14:00] [ROWS] 46: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:14:00] [ROWS] 47: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:00] [ROWS] 48: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:14:00] [ROWS] 49: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:14:00] [ROWS] 50: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:14:00] [ROWS] 51: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:14:00] [ROWS] ===== END (updateMessageCell for 1601) =====
[11:14:00] [HEIGHT_DEBUG] Row 1 msg 1601: isPlayingEvolution=true, textLength=5, text='Crive...'
[11:14:00] [HEIGHT] Row 1 msg 1601: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:14:00] [HEIGHT_DEBUG] Row 2 msg 1600: isPlayingEvolution=false, textLength=4, text='Lolo...'
[11:14:00] [HEIGHT] Row 2 msg 1600: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:14:00] [HEIGHT_DEBUG] Row 1 msg 1601: isPlayingEvolution=true, textLength=5, text='Crive...'
[11:14:00] [HEIGHT] Row 1 msg 1601: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:14:00] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:14:00] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [HEIGHT_DEBUG] Row 2 msg 1600: isPlayingEvolution=false, textLength=4, text='Lolo...'
[11:14:00] [HEIGHT] Row 2 msg 1600: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:14:00] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [EVOLUTION] πŸ“ Event 5/8 - Text now: "Crivel..."
[11:14:00] [UPDATE] πŸ”„ updateMessageCell(for: 1601) β€” full safe reload
[11:14:00] [ROWS] ===== updateMessageCell for 1601 β€” chatRows.count=52 =====
[11:14:00] [ROWS] 0: SEPARATOR
[11:14:00] [ROWS] 1: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=6 textLen=8
[11:14:00] [ROWS] 2: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=4 textLen=4
[11:14:00] [ROWS] 3: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:00] [ROWS] 4: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:14:00] [ROWS] 5: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:14:00] [ROWS] 6: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:14:00] [ROWS] 7: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:14:00] [ROWS] 8: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:14:00] [ROWS] 9: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:14:00] [ROWS] 10: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:14:00] [ROWS] 11: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:00] [ROWS] 12: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:00] [ROWS] 13: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:00] [ROWS] 14: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:00] [ROWS] 15: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:14:00] [ROWS] 16: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:00] [ROWS] 17: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:14:00] [ROWS] 18: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:14:00] [ROWS] 19: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:00] [ROWS] 20: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:00] [ROWS] 21: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:14:00] [ROWS] 22: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:00] [ROWS] 23: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:14:00] [ROWS] 24: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:14:00] [ROWS] 25: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:00] [ROWS] 26: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:00] [ROWS] 27: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:14:00] [ROWS] 28: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:14:00] [ROWS] 29: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:14:00] [ROWS] 30: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:00] [ROWS] 31: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:14:00] [ROWS] 32: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:14:00] [ROWS] 33: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:14:00] [ROWS] 34: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:00] [ROWS] 35: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:00] [ROWS] 36: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:00] [ROWS] 37: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:00] [ROWS] 38: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:00] [ROWS] 39: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:00] [ROWS] 40: SEPARATOR
[11:14:00] [ROWS] 41: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:14:00] [ROWS] 42: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:00] [ROWS] 43: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:14:00] [ROWS] 44: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:14:00] [ROWS] 45: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:14:00] [ROWS] 46: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:14:00] [ROWS] 47: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:00] [ROWS] 48: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:14:00] [ROWS] 49: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:14:00] [ROWS] 50: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:14:00] [ROWS] 51: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:14:00] [ROWS] ===== END (updateMessageCell for 1601) =====
[11:14:00] [HEIGHT_DEBUG] Row 1 msg 1601: isPlayingEvolution=true, textLength=6, text='Crivel...'
[11:14:00] [HEIGHT] Row 1 msg 1601: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:14:00] [HEIGHT_DEBUG] Row 2 msg 1600: isPlayingEvolution=false, textLength=4, text='Lolo...'
[11:14:00] [HEIGHT] Row 2 msg 1600: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:14:00] [HEIGHT_DEBUG] Row 1 msg 1601: isPlayingEvolution=true, textLength=6, text='Crivel...'
[11:14:00] [HEIGHT] Row 1 msg 1601: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:14:00] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:14:00] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [HEIGHT_DEBUG] Row 2 msg 1600: isPlayingEvolution=false, textLength=4, text='Lolo...'
[11:14:00] [HEIGHT] Row 2 msg 1600: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:14:00] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:00] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:01] [EVOLUTION] πŸ“ Event 6/8 - Text now: "Crivell..."
[11:14:01] [UPDATE] πŸ”„ updateMessageCell(for: 1601) β€” full safe reload
[11:14:01] [ROWS] ===== updateMessageCell for 1601 β€” chatRows.count=52 =====
[11:14:01] [ROWS] 0: SEPARATOR
[11:14:01] [ROWS] 1: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=7 textLen=8
[11:14:01] [ROWS] 2: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=4 textLen=4
[11:14:01] [ROWS] 3: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:01] [ROWS] 4: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:14:01] [ROWS] 5: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:14:01] [ROWS] 6: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:14:01] [ROWS] 7: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:14:01] [ROWS] 8: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:14:01] [ROWS] 9: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:14:01] [ROWS] 10: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:14:01] [ROWS] 11: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:01] [ROWS] 12: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:01] [ROWS] 13: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:01] [ROWS] 14: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:01] [ROWS] 15: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:14:01] [ROWS] 16: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:01] [ROWS] 17: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:14:01] [ROWS] 18: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:14:01] [ROWS] 19: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:01] [ROWS] 20: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:01] [ROWS] 21: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:14:01] [ROWS] 22: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:01] [ROWS] 23: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:14:01] [ROWS] 24: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:14:01] [ROWS] 25: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:01] [ROWS] 26: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:01] [ROWS] 27: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:14:01] [ROWS] 28: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:14:01] [ROWS] 29: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:14:01] [ROWS] 30: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:01] [ROWS] 31: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:14:01] [ROWS] 32: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:14:01] [ROWS] 33: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:14:01] [ROWS] 34: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:01] [ROWS] 35: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:01] [ROWS] 36: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:01] [ROWS] 37: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:01] [ROWS] 38: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:01] [ROWS] 39: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:01] [ROWS] 40: SEPARATOR
[11:14:01] [ROWS] 41: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:14:01] [ROWS] 42: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:01] [ROWS] 43: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:14:01] [ROWS] 44: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:14:01] [ROWS] 45: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:14:01] [ROWS] 46: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:14:01] [ROWS] 47: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:01] [ROWS] 48: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:14:01] [ROWS] 49: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:14:01] [ROWS] 50: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:14:01] [ROWS] 51: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:14:01] [ROWS] ===== END (updateMessageCell for 1601) =====
[11:14:01] [HEIGHT_DEBUG] Row 1 msg 1601: isPlayingEvolution=true, textLength=7, text='Crivell...'
[11:14:01] [HEIGHT] Row 1 msg 1601: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:14:01] [HEIGHT_DEBUG] Row 2 msg 1600: isPlayingEvolution=false, textLength=4, text='Lolo...'
[11:14:01] [HEIGHT] Row 2 msg 1600: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:14:01] [HEIGHT_DEBUG] Row 1 msg 1601: isPlayingEvolution=true, textLength=7, text='Crivell...'
[11:14:01] [HEIGHT] Row 1 msg 1601: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:14:01] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:14:01] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:14:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:01] [HEIGHT_DEBUG] Row 2 msg 1600: isPlayingEvolution=false, textLength=4, text='Lolo...'
[11:14:01] [HEIGHT] Row 2 msg 1600: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:14:01] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:01] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:01] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:01] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:01] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:01] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:01] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:01] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:01] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:01] [EVOLUTION] πŸ“ Event 7/8 - Text now: "Crivello..."
[11:14:01] [UPDATE] πŸ”„ updateMessageCell(for: 1601) β€” full safe reload
[11:14:01] [ROWS] ===== updateMessageCell for 1601 β€” chatRows.count=52 =====
[11:14:01] [ROWS] 0: SEPARATOR
[11:14:01] [ROWS] 1: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=8 textLen=8
[11:14:01] [ROWS] 2: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=4 textLen=4
[11:14:01] [ROWS] 3: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:01] [ROWS] 4: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:14:01] [ROWS] 5: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:14:01] [ROWS] 6: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:14:01] [ROWS] 7: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:14:01] [ROWS] 8: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:14:01] [ROWS] 9: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:14:01] [ROWS] 10: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:14:01] [ROWS] 11: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:01] [ROWS] 12: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:01] [ROWS] 13: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:01] [ROWS] 14: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:01] [ROWS] 15: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:14:01] [ROWS] 16: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:01] [ROWS] 17: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:14:01] [ROWS] 18: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:14:01] [ROWS] 19: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:01] [ROWS] 20: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:01] [ROWS] 21: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:14:01] [ROWS] 22: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:01] [ROWS] 23: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:14:01] [ROWS] 24: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:14:01] [ROWS] 25: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:01] [ROWS] 26: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:01] [ROWS] 27: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:14:01] [ROWS] 28: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:14:01] [ROWS] 29: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:14:01] [ROWS] 30: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:01] [ROWS] 31: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:14:01] [ROWS] 32: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:14:01] [ROWS] 33: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:14:01] [ROWS] 34: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:01] [ROWS] 35: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:01] [ROWS] 36: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:01] [ROWS] 37: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:01] [ROWS] 38: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:01] [ROWS] 39: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:01] [ROWS] 40: SEPARATOR
[11:14:01] [ROWS] 41: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:14:01] [ROWS] 42: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:01] [ROWS] 43: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:14:01] [ROWS] 44: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:14:01] [ROWS] 45: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:14:01] [ROWS] 46: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:14:01] [ROWS] 47: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:01] [ROWS] 48: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:14:01] [ROWS] 49: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:14:01] [ROWS] 50: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:14:01] [ROWS] 51: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:14:01] [ROWS] ===== END (updateMessageCell for 1601) =====
[11:14:01] [HEIGHT_DEBUG] Row 1 msg 1601: isPlayingEvolution=true, textLength=8, text='Crivello...'
[11:14:01] [HEIGHT] Row 1 msg 1601: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:14:01] [HEIGHT_DEBUG] Row 2 msg 1600: isPlayingEvolution=false, textLength=4, text='Lolo...'
[11:14:01] [HEIGHT] Row 2 msg 1600: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:14:01] [HEIGHT_DEBUG] Row 1 msg 1601: isPlayingEvolution=true, textLength=8, text='Crivello...'
[11:14:01] [HEIGHT] Row 1 msg 1601: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:14:01] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:14:01] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:14:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:01] [HEIGHT_DEBUG] Row 2 msg 1600: isPlayingEvolution=false, textLength=4, text='Lolo...'
[11:14:01] [HEIGHT] Row 2 msg 1600: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:14:01] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:01] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:01] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:01] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:01] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:01] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:01] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:01] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:01] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:01] [EVOLUTION] βœ… Finished playback for message 1601
[11:14:01] [UPDATE] πŸ”„ updateMessageCell(for: 1601) β€” full safe reload
[11:14:01] [ROWS] ===== updateMessageCell for 1601 β€” chatRows.count=52 =====
[11:14:01] [ROWS] 0: SEPARATOR
[11:14:01] [ROWS] 1: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=8 textLen=8
[11:14:01] [ROWS] 2: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=4 textLen=4
[11:14:01] [ROWS] 3: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:01] [ROWS] 4: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:14:01] [ROWS] 5: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:14:01] [ROWS] 6: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:14:01] [ROWS] 7: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:14:01] [ROWS] 8: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:14:01] [ROWS] 9: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:14:01] [ROWS] 10: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:14:01] [ROWS] 11: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:01] [ROWS] 12: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:01] [ROWS] 13: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:01] [ROWS] 14: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:01] [ROWS] 15: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:14:01] [ROWS] 16: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:01] [ROWS] 17: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:14:01] [ROWS] 18: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:14:01] [ROWS] 19: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:01] [ROWS] 20: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:01] [ROWS] 21: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:14:01] [ROWS] 22: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:01] [ROWS] 23: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:14:01] [ROWS] 24: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:14:01] [ROWS] 25: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:01] [ROWS] 26: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:14:01] [ROWS] 27: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:14:01] [ROWS] 28: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:14:01] [ROWS] 29: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:14:01] [ROWS] 30: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:01] [ROWS] 31: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:14:01] [ROWS] 32: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:14:01] [ROWS] 33: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:14:01] [ROWS] 34: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:01] [ROWS] 35: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:01] [ROWS] 36: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:01] [ROWS] 37: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:01] [ROWS] 38: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:01] [ROWS] 39: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:14:01] [ROWS] 40: SEPARATOR
[11:14:01] [ROWS] 41: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:14:01] [ROWS] 42: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:01] [ROWS] 43: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:14:01] [ROWS] 44: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:14:01] [ROWS] 45: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:14:01] [ROWS] 46: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:14:01] [ROWS] 47: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:14:01] [ROWS] 48: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:14:01] [ROWS] 49: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:14:01] [ROWS] 50: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:14:01] [ROWS] 51: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:14:01] [ROWS] ===== END (updateMessageCell for 1601) =====
[11:14:01] [HEIGHT_DEBUG] Row 1 msg 1601: isPlayingEvolution=false, textLength=8, text='Crivello...'
[11:14:01] [HEIGHT] Row 1 msg 1601: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:14:01] [HEIGHT_DEBUG] Row 2 msg 1600: isPlayingEvolution=false, textLength=4, text='Lolo...'
[11:14:01] [HEIGHT] Row 2 msg 1600: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:14:01] [HEIGHT_DEBUG] Row 1 msg 1601: isPlayingEvolution=false, textLength=8, text='Crivello...'
[11:14:01] [HEIGHT] Row 1 msg 1601: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:14:01] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:14:01] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:14:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:01] [HEIGHT_DEBUG] Row 2 msg 1600: isPlayingEvolution=false, textLength=4, text='Lolo...'
[11:14:01] [HEIGHT] Row 2 msg 1600: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:14:01] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:01] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:01] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:01] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:01] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:01] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:01] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:01] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:01] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:14:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:14:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:14:01] [EVOLUTION] βœ… All queued messages have been played
[11:14:02] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:14:02] Will get events_php
[11:14:02] [TYPING] πŸ”„ ========== POLL START ==========
[11:14:02] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:14:02] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:14:02] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:14:02] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:14:02] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:14:02] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:14:02] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:14:02] [TYPING] πŸ“₯ Found 0 typing users in response
[11:14:02] [TYPING] πŸ“₯ Updating typing users SET: []
[11:14:02] [EVT] get_events.php HTTP 200
── Response Headers ──
X-Powered-By: PHP/8.4.14
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Content-Length: 56
Keep-Alive: timeout=5, max=91
Date: Sun, 16 Nov 2025 10:14:02 GMT
Connection: Keep-Alive
Content-Type: application/json; charset=utf-8
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:14:02] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:14:02] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:14:02] Done
[11:14:02] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:14:02] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:14:02] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:14:02] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:14:02] [TYPING] πŸ”„ ========== POLL END ==========
[11:14:02] Main
[11:14:03] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:14:03] [INFO_PAGE] Found 416 messages for session 'ILUIWU2'
[11:14:03] [INFO_PAGE] Total messages in database: 1182
[11:14:04] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:14:04] Will get events_php
[11:14:04] [TYPING] πŸ”„ ========== POLL START ==========
[11:14:04] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:14:04] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:14:04] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:14:04] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:14:04] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:14:04] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:14:04] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:14:04] [TYPING] πŸ“₯ Found 0 typing users in response
[11:14:04] [TYPING] πŸ“₯ Updating typing users SET: []
[11:14:04] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:14:04] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:14:04] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:14:04] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:14:04] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:14:04] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:14:04] [TYPING] πŸ”„ ========== POLL END ==========
[11:14:04] [EVT] get_events.php HTTP 200
── Response Headers ──
Server: Apache/2.4.65 (Unix) PHP/8.4.14
X-Powered-By: PHP/8.4.14
Content-Length: 56
Date: Sun, 16 Nov 2025 10:14:04 GMT
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=89
Connection: Keep-Alive
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:14:04] Main
[11:14:04] Done
[11:14:06] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:14:06] Will get events_php
[11:14:06] [TYPING] πŸ”„ ========== POLL START ==========
[11:14:06] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:14:06] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:14:06] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:14:06] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:14:06] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:14:06] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:14:06] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:14:06] [TYPING] πŸ“₯ Found 0 typing users in response
[11:14:06] [TYPING] πŸ“₯ Updating typing users SET: []
[11:14:06] [EVT] get_events.php HTTP 200
── Response Headers ──
X-Powered-By: PHP/8.4.14
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Content-Length: 56
Keep-Alive: timeout=5, max=88
Date: Sun, 16 Nov 2025 10:14:06 GMT
Connection: Keep-Alive
Content-Type: application/json; charset=utf-8
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:14:06] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:14:06] Done
[11:14:06] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:14:06] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:14:06] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:14:06] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:14:06] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:14:06] [TYPING] πŸ”„ ========== POLL END ==========
[11:14:06] Main
[11:15:29] [CRASH] Previous session did not exit cleanly - crash detected
[11:15:29] [GIPHY] SDK not available - using REST API fallback
[11:15:29] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:15:29] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:15:29] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:15:29] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:15:29] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:15:30] [SCENE] Launched directly to chat view with sessionId: ILUIWU2
[11:15:30] [PUSH] APNs token: 6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c
[11:15:30] [PUSH] Device role updated to 'viewer': HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:15:30] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:15:30] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:15:30] Documents Directory: /var/mobile/Containers/Data/Application/C9217173-64BC-4A7E-9EE5-589E98951814/Documents
[11:15:30] [NOTIFICATION] πŸ”” Notification button created and added to topNavBar
[11:15:30] [NOTIFICATION] πŸ”” Button tintColor: grey (0.5, 0.5, 0.5)
[11:15:30] [NOTIFICATION] πŸ”” Button isUserInteractionEnabled: true
[11:15:31] [INFO_PAGE] InformationViewController viewDidLoad called
[11:15:31] [INFO_PAGE] Actions configured (bell button is external)
[11:15:31] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:15:31] [INFO_PAGE] Successfully opened database at /var/mobile/Containers/Data/Application/C9217173-64BC-4A7E-9EE5-589E98951814/Documents/chat_local_viewer.db
[11:15:31] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:15:31] [INFO_PAGE] Found 416 messages for session 'ILUIWU2'
[11:15:31] [INFO_PAGE] Total messages in database: 1182
[11:15:31] [INFO_PAGE] InformationViewController setup complete
[11:15:31] [INFO_PAGE] ℹ️ Information page added to tab 3
[11:15:31] [THEME] Applying current theme
[11:15:31] [CHAT] Applied day theme (mode: day)
[11:15:31] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:15:31] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:15:31] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:15:31] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:15:31] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:15:31] [SUMMARY] Already showed summary today (2025-11-16)
[11:15:31] Did transition
[11:15:31] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:15:31] [VIEWER] Screen lock enabled - normal idle behavior
[11:15:31] [QUERY] πŸ” Checking tab - currentTabIndex=0
[11:15:31] [QUERY] πŸ”΅ [TAB 0] No query connection needed
[11:15:31] [QUERY] βœ… [TAB 0] Initialized without query connection
[11:15:31] [LOCATION] Started location updates for distance calculation (already authorized)
[11:15:31] [TAB 0] Skipping reconnect polling - only needed for tab 1
[11:15:31] [VIEWER_INIT] Loading messages with read receipts from server
[11:15:31] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:15:31] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:15:31] [DB]   msg[0] id=1601, isMyMessage=false, readBy.count=0
[11:15:31] [DB]   msg[1] id=1600, isMyMessage=false, readBy.count=0
[11:15:31] [DB]   msg[2] id=1599, isMyMessage=false, readBy.count=0
[11:15:31] [EVOLUTION] πŸ” Found 0 NEW unread messages from local DB before fetching read receipts (lastSeenMessageId=1601): []
[11:15:31] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1601, readBy=[]", "id=1600, readBy=[]", "id=1599, readBy=[]"]
[11:15:31] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:15:31] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:15:31] [DB]   msg[0] id=1601, isMyMessage=false, readBy.count=0
[11:15:31] [DB]   msg[1] id=1600, isMyMessage=false, readBy.count=0
[11:15:31] [DB]   msg[2] id=1599, isMyMessage=false, readBy.count=0
[11:15:31] [EVENT_POLL] Starting periodic event polling for viewer mode (5s interval)
[11:15:31] [ORIENTATION] Updated pagingScrollView height to 247.5 for width 440.0
[11:15:31] [SUMMARY] Already showed summary today (2025-11-16)
[11:15:31] Did transition
[11:15:31] [NOTIFICATION] πŸ”” Constraints activated for notification button
[11:15:31] [NOTIFICATION] πŸ”” topNavBar frame: (0.0, 0.0, 440.0, 50.0)
[11:15:31] [NOTIFICATION] πŸ”” menuButton frame: (0.0, 0.0, 39.0, 30.0)
[11:15:31] [NOTIFICATION] πŸ”” notificationButton frame: (0.0, 0.0, 56.333333333333336, 58.0)
[11:15:31] [NOTIFICATION] πŸ”” Notification button brought to front
[11:15:31] [NOTIFICATION] πŸ”„ Updating icon to: bell.slash.fill (muted=true)
[11:15:31] [NOTIFICATION] βœ… Icon updated successfully
[11:15:31] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[11:15:31] [MIGRATION] No messages need sender_name backfill
[11:15:31] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:15:31] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:15:31] [DB]   msg[0] id=1601, isMyMessage=false, readBy.count=0
[11:15:31] [DB]   msg[1] id=1600, isMyMessage=false, readBy.count=0
[11:15:31] [DB]   msg[2] id=1599, isMyMessage=false, readBy.count=0
[11:15:31] [INFO_PAGE] InformationViewController viewWillAppear - applying theme
[11:15:31] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:15:31] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:15:31] [PAGINATION_SCROLL] offset=-12.0, contentHeight=108.0, distFromBottom=120.0, dragging=false, decel=false, isLoading=false, cooldown=63899057731.07644s
[11:15:31] [PAGINATION_SCROLL] offset=0.0, contentHeight=108.0, distFromBottom=-650.0, dragging=false, decel=false, isLoading=false, cooldown=63899057731.077705s
[11:15:31] [LOCATION] Authorization changed: 4
[11:15:31] [NOTIFICATION] πŸ”” FINAL STATE after viewDidLoad:
[11:15:31] [NOTIFICATION] πŸ”” notificationButton.frame: (392.0, 67.0, 40.0, 40.0)
[11:15:31] [NOTIFICATION] πŸ”” notificationButton.isHidden: false
[11:15:31] [NOTIFICATION] πŸ”” notificationButton.alpha: 1.0
[11:15:31] [NOTIFICATION] πŸ”” notificationButton.superview: true
[11:15:31] [NOTIFICATION] πŸ”” topNavBar.isHidden: false
[11:15:31] [NOTIFICATION] πŸ”” topNavBar.subviews.count: 3
[11:15:31] [PUSH] Device role updated to 'viewer': HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:15:31] [USER] βœ… User registered successfully
[11:15:31] [USER] User registration successful
[11:15:31] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:15:31] [UNREAD_DEBUG]   FINAL msg[0] id=1601, readBy.count=1
[11:15:31] [UNREAD_DEBUG]   FINAL msg[1] id=1600, readBy.count=1
[11:15:31] [UNREAD_DEBUG]   FINAL msg[2] id=1599, readBy.count=1
[11:15:31] [VIEWER_INIT] Loaded 50 messages with read receipts, hasMore: true
[11:15:31] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:15:31] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:15:31] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:15:31] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:15:31] [ROWS] 0: SEPARATOR
[11:15:31] [ROWS] 1: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:31] [ROWS] 2: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:31] [ROWS] 3: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:31] [ROWS] 4: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:31] [ROWS] 5: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:31] [ROWS] 6: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:31] [ROWS] 7: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:31] [ROWS] 8: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:31] [ROWS] 9: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:31] [ROWS] 10: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:31] [ROWS] 11: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:31] [ROWS] 12: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:31] [ROWS] 13: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:31] [ROWS] 14: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:31] [ROWS] 15: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:31] [ROWS] 16: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:31] [ROWS] 17: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:31] [ROWS] 18: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:31] [ROWS] 19: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:31] [ROWS] 20: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:31] [ROWS] 21: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:31] [ROWS] 22: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:31] [ROWS] 23: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:31] [ROWS] 24: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:31] [ROWS] 25: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:31] [ROWS] 26: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:31] [ROWS] 27: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:15:31] [ROWS] 28: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:31] [ROWS] 29: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:31] [ROWS] 30: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:31] [ROWS] 31: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:15:31] [ROWS] 32: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:31] [ROWS] 33: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:31] [ROWS] 34: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:31] [ROWS] 35: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:31] [ROWS] 36: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:31] [ROWS] 37: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:31] [ROWS] 38: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:31] [ROWS] 39: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:31] [ROWS] 40: SEPARATOR
[11:15:31] [ROWS] 41: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:31] [ROWS] 42: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:31] [ROWS] 43: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:15:31] [ROWS] 44: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:31] [ROWS] 45: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:31] [ROWS] 46: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:15:31] [ROWS] 47: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:31] [ROWS] 48: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:31] [ROWS] 49: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:31] [ROWS] 50: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:31] [ROWS] 51: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:15:31] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:15:31] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:15:31] [HEIGHT_DEBUG] Row 1 msg 1601: isPlayingEvolution=false, textLength=8, text='Crivello...'
[11:15:31] [EMOJI] βœ… Loaded 451 emoji-to-GIF mappings
[11:15:31] [HEIGHT] Row 1 msg 1601: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:31] [HEIGHT_DEBUG] Row 2 msg 1600: isPlayingEvolution=false, textLength=4, text='Lolo...'
[11:15:31] [HEIGHT] Row 2 msg 1600: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:31] [CHAT] βœ… refreshAllFromServer - parsed 417 messages from server
[11:15:31] [DB] clearDBForSession(ILUIWU2): deleted 416 messages, result=101
[11:15:31] [HEIGHT_DEBUG] Row 1 msg 1601: isPlayingEvolution=false, textLength=8, text='Crivello...'
[11:15:31] [HEIGHT] Row 1 msg 1601: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:31] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:15:31] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:15:31] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:31] [HEIGHT_DEBUG] Row 2 msg 1600: isPlayingEvolution=false, textLength=4, text='Lolo...'
[11:15:31] [HEIGHT] Row 2 msg 1600: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:31] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:31] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:31] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:31] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:31] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:31] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:31] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:31] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:31] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:31] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:31] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:31] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:31] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:31] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:31] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:31] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:31] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:31] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:31] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:31] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:31] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:31] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:31] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:31] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:31] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:31] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:31] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:31] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:15:31] ReloadData 18 (viewer init with read receipts)
[11:15:31] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:15:31] [UNREAD_DEBUG]   FINAL msg[0] id=1601, readBy.count=1
[11:15:31] [UNREAD_DEBUG]   FINAL msg[1] id=1600, readBy.count=1
[11:15:31] [UNREAD_DEBUG]   FINAL msg[2] id=1599, readBy.count=1
[11:15:31] [EVOLUTION] πŸ“­ No unread message IDs provided for evolution playback
[11:15:31] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:15:31] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:15:31] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:15:31] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:15:31] [ROWS] 0: SEPARATOR
[11:15:31] [ROWS] 1: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:31] [ROWS] 2: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:31] [ROWS] 3: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:31] [ROWS] 4: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:31] [ROWS] 5: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:31] [ROWS] 6: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:31] [ROWS] 7: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:31] [ROWS] 8: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:31] [ROWS] 9: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:31] [ROWS] 10: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:31] [ROWS] 11: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:31] [ROWS] 12: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:31] [ROWS] 13: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:31] [ROWS] 14: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:31] [ROWS] 15: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:31] [ROWS] 16: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:31] [ROWS] 17: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:31] [ROWS] 18: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:31] [ROWS] 19: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:31] [ROWS] 20: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:31] [ROWS] 21: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:31] [ROWS] 22: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:31] [ROWS] 23: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:31] [ROWS] 24: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:31] [ROWS] 25: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:31] [ROWS] 26: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:31] [ROWS] 27: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:15:31] [ROWS] 28: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:31] [ROWS] 29: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:31] [ROWS] 30: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:31] [ROWS] 31: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:15:31] [ROWS] 32: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:31] [ROWS] 33: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:31] [ROWS] 34: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:31] [ROWS] 35: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:31] [ROWS] 36: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:31] [ROWS] 37: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:31] [ROWS] 38: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:31] [ROWS] 39: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:31] [ROWS] 40: SEPARATOR
[11:15:31] [ROWS] 41: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:31] [ROWS] 42: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:31] [ROWS] 43: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:15:31] [ROWS] 44: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:31] [ROWS] 45: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:31] [ROWS] 46: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:15:31] [ROWS] 47: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:31] [ROWS] 48: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:31] [ROWS] 49: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:31] [ROWS] 50: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:31] [ROWS] 51: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:15:31] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:15:31] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:15:31] [HEIGHT_DEBUG] Row 1 msg 1601: isPlayingEvolution=false, textLength=8, text='Crivello...'
[11:15:31] [HEIGHT] Row 1 msg 1601: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:31] [HEIGHT_DEBUG] Row 2 msg 1600: isPlayingEvolution=false, textLength=4, text='Lolo...'
[11:15:31] [HEIGHT] Row 2 msg 1600: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:31] [HEIGHT_DEBUG] Row 1 msg 1601: isPlayingEvolution=false, textLength=8, text='Crivello...'
[11:15:31] [HEIGHT] Row 1 msg 1601: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:31] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:15:31] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:15:31] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:31] [HEIGHT_DEBUG] Row 2 msg 1600: isPlayingEvolution=false, textLength=4, text='Lolo...'
[11:15:31] [HEIGHT] Row 2 msg 1600: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:31] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:31] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:31] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:31] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:31] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:31] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:31] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:31] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:31] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:31] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:31] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:31] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:31] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:31] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:31] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:31] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:31] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:31] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:31] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:31] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:31] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:31] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:31] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:31] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:31] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:31] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:31] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:31] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:15:31] [INIT_PAGINATION] Loaded 50 total messages, displaying 50 for tab 0
[11:15:32] ReloadData 15 (417 messages loaded, 0 pending media)
[11:15:32] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:15:32] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:15:32] [DB]   msg[0] id=1602, isMyMessage=false, readBy.count=0
[11:15:32] [DB]   msg[1] id=1601, isMyMessage=false, readBy.count=0
[11:15:32] [DB]   msg[2] id=1600, isMyMessage=false, readBy.count=0
[11:15:32] [EVOLUTION] πŸ” Found 1 NEW unread messages after refreshAllFromServer (lastSeenMessageId=1601): [1602]
[11:15:32] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1602, readBy=[]", "id=1601, readBy=[]", "id=1600, readBy=[]"]
[11:15:32] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:15:32] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:15:32] [DB]   msg[0] id=1602, isMyMessage=false, readBy.count=0
[11:15:32] [DB]   msg[1] id=1601, isMyMessage=false, readBy.count=0
[11:15:32] [DB]   msg[2] id=1600, isMyMessage=false, readBy.count=0
[11:15:32] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:15:32] [UNREAD_DEBUG]   FINAL msg[0] id=1602, readBy.count=0
[11:15:32] [UNREAD_DEBUG]   FINAL msg[1] id=1601, readBy.count=1
[11:15:32] [UNREAD_DEBUG]   FINAL msg[2] id=1600, readBy.count=1
[11:15:32] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:15:32] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:15:32] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:15:32] [EVOLUTION] πŸ“ Updated lastSeenMessageId: 1601 β†’ 1602
[11:15:32] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:15:32] [ROWS] 0: SEPARATOR
[11:15:32] [ROWS] 1: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:32] [ROWS] 2: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:32] [ROWS] 3: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:32] [ROWS] 4: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:32] [ROWS] 5: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:32] [ROWS] 6: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:32] [ROWS] 7: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:32] [ROWS] 8: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:32] [ROWS] 9: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:32] [ROWS] 10: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:32] [ROWS] 11: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:32] [ROWS] 12: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:32] [ROWS] 13: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:32] [ROWS] 14: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:32] [ROWS] 15: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:32] [ROWS] 16: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:32] [ROWS] 17: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:32] [ROWS] 18: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:32] [ROWS] 19: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:32] [ROWS] 20: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:32] [ROWS] 21: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:32] [ROWS] 22: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:32] [ROWS] 23: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:32] [ROWS] 24: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:32] [ROWS] 25: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:32] [ROWS] 26: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:32] [ROWS] 27: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:32] [ROWS] 28: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:15:32] [ROWS] 29: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:32] [ROWS] 30: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:32] [ROWS] 31: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:32] [ROWS] 32: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:15:32] [ROWS] 33: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:32] [ROWS] 34: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:32] [ROWS] 35: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:32] [ROWS] 36: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:32] [ROWS] 37: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:32] [ROWS] 38: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:32] [ROWS] 39: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:32] [ROWS] 40: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:32] [ROWS] 41: SEPARATOR
[11:15:32] [ROWS] 42: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:32] [ROWS] 43: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:32] [ROWS] 44: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:15:32] [ROWS] 45: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:32] [ROWS] 46: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:32] [ROWS] 47: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:15:32] [ROWS] 48: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:32] [ROWS] 49: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:32] [ROWS] 50: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:32] [ROWS] 51: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:32] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:15:32] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:15:32] [HEIGHT_DEBUG] Row 1 msg 1602: isPlayingEvolution=false, textLength=6, text='Daniel...'
[11:15:32] [HEIGHT] Row 1 msg 1602: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:32] [HEIGHT_DEBUG] Row 2 msg 1601: isPlayingEvolution=false, textLength=8, text='Crivello...'
[11:15:32] [HEIGHT] Row 2 msg 1601: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:32] [HEIGHT_DEBUG] Row 1 msg 1602: isPlayingEvolution=false, textLength=6, text='Daniel...'
[11:15:32] [HEIGHT] Row 1 msg 1602: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:32] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:15:32] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:15:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:32] [HEIGHT_DEBUG] Row 2 msg 1601: isPlayingEvolution=false, textLength=8, text='Crivello...'
[11:15:32] [HEIGHT] Row 2 msg 1601: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:32] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:32] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:32] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:32] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:32] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:32] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:32] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:32] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:32] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:32] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:15:32] [INITIAL_LOAD] Loaded 50 messages (first page), displaying 50 for tab 0, hasMore: true
[11:15:32] ReloadData 1
[11:15:32] [PURGE] Deleted 0 unused media files:

[11:15:32] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:15:32] [EVOLUTION] πŸ“¬ Preparing 1 unread message(s) for evolution playback: [1602]
[11:15:32] [EVOLUTION] 🎬 Preparing message 1602 for evolution playback (app launch)
[11:15:32] [EVOLUTION] πŸ” Reloading table for evolution - chatMessages.count=50
[11:15:32] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:15:32] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:15:32] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:15:32] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:15:32] [ROWS] 0: SEPARATOR
[11:15:32] [ROWS] 1: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=6
[11:15:32] [ROWS] 2: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:32] [ROWS] 3: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:32] [ROWS] 4: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:32] [ROWS] 5: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:32] [ROWS] 6: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:32] [ROWS] 7: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:32] [ROWS] 8: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:32] [ROWS] 9: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:32] [ROWS] 10: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:32] [ROWS] 11: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:32] [ROWS] 12: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:32] [ROWS] 13: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:32] [ROWS] 14: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:32] [ROWS] 15: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:32] [ROWS] 16: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:32] [ROWS] 17: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:32] [ROWS] 18: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:32] [ROWS] 19: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:32] [ROWS] 20: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:32] [ROWS] 21: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:32] [ROWS] 22: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:32] [ROWS] 23: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:32] [ROWS] 24: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:32] [ROWS] 25: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:32] [ROWS] 26: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:32] [ROWS] 27: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:32] [ROWS] 28: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:15:32] [ROWS] 29: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:32] [ROWS] 30: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:32] [ROWS] 31: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:32] [ROWS] 32: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:15:32] [ROWS] 33: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:32] [ROWS] 34: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:32] [ROWS] 35: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:32] [ROWS] 36: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:32] [ROWS] 37: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:32] [ROWS] 38: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:32] [ROWS] 39: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:32] [ROWS] 40: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:32] [ROWS] 41: SEPARATOR
[11:15:32] [ROWS] 42: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:32] [ROWS] 43: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:32] [ROWS] 44: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:15:32] [ROWS] 45: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:32] [ROWS] 46: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:32] [ROWS] 47: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:15:32] [ROWS] 48: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:32] [ROWS] 49: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:32] [ROWS] 50: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:32] [ROWS] 51: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:32] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:15:32] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:15:32] [HEIGHT_DEBUG] Row 1 msg 1602: isPlayingEvolution=true, textLength=0, text='...'
[11:15:32] [HEIGHT] Row 1 msg 1602: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:32] [HEIGHT_DEBUG] Row 2 msg 1601: isPlayingEvolution=false, textLength=8, text='Crivello...'
[11:15:32] [HEIGHT] Row 2 msg 1601: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:32] [HEIGHT_DEBUG] Row 1 msg 1602: isPlayingEvolution=true, textLength=0, text='...'
[11:15:32] [HEIGHT] Row 1 msg 1602: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:32] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:15:32] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:15:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:15:32] [HEIGHT_DEBUG] Row 2 msg 1601: isPlayingEvolution=false, textLength=8, text='Crivello...'
[11:15:32] [HEIGHT] Row 2 msg 1601: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:32] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:32] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:32] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:32] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:32] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:32] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:32] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:32] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:32] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:32] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:15:32] [EVOLUTION] πŸ“ Queued 1 messages for sequential playback: [1602]
[11:15:32] [EVOLUTION] 🎬 Starting sequential playback of queued messages
[11:15:32] [EVOLUTION] ▢️ Playing next queued message 1602 - 0 remaining in queue
[11:15:32] [EVOLUTION] πŸ“‘ Fetching evolution data for message 1602
[11:15:32] [EVOLUTION] πŸ” Raw response (702 bytes): {"ok":true,"has_evolution":true,"message_id":1602,"evolution":{"events":[{"c":"D","t":0,"op":"i","p":0},{"t":186,"op":"i","c":"n","p":1},{"op":"i","t":265,"c":"i","p":2},{"p":3,"op":"i","t":335,"c":"q
[11:15:32] [EVOLUTION] πŸ” Parsed JSON keys: ["created_at", "evolution", "has_evolution", "message_id", "ok"]
[11:15:32] [EVOLUTION] πŸ” has_evolution: 1
[11:15:32] [EVOLUTION] βœ… Got 18 events for message 1602
[11:15:32] [OVERLAP_FIX] πŸš€ Starting evolution - forcing initial height recalculation
[11:15:32] [UPDATE] πŸ”„ updateMessageCell(for: 1602) β€” full safe reload
[11:15:32] [ROWS] ===== updateMessageCell for 1602 β€” chatRows.count=52 =====
[11:15:32] [ROWS] 0: SEPARATOR
[11:15:32] [ROWS] 1: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=6
[11:15:32] [ROWS] 2: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:32] [ROWS] 3: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:32] [ROWS] 4: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:32] [ROWS] 5: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:32] [ROWS] 6: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:32] [ROWS] 7: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:32] [ROWS] 8: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:32] [ROWS] 9: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:32] [ROWS] 10: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:32] [ROWS] 11: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:32] [ROWS] 12: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:32] [ROWS] 13: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:32] [ROWS] 14: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:32] [ROWS] 15: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:32] [ROWS] 16: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:32] [ROWS] 17: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:32] [ROWS] 18: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:32] [ROWS] 19: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:32] [ROWS] 20: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:32] [ROWS] 21: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:32] [ROWS] 22: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:32] [ROWS] 23: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:32] [ROWS] 24: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:32] [ROWS] 25: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:32] [ROWS] 26: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:32] [ROWS] 27: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:32] [ROWS] 28: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:15:32] [ROWS] 29: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:32] [ROWS] 30: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:32] [ROWS] 31: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:32] [ROWS] 32: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:15:32] [ROWS] 33: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:32] [ROWS] 34: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:32] [ROWS] 35: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:32] [ROWS] 36: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:32] [ROWS] 37: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:32] [ROWS] 38: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:32] [ROWS] 39: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:32] [ROWS] 40: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:32] [ROWS] 41: SEPARATOR
[11:15:32] [ROWS] 42: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:32] [ROWS] 43: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:32] [ROWS] 44: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:15:32] [ROWS] 45: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:32] [ROWS] 46: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:32] [ROWS] 47: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:15:32] [ROWS] 48: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:32] [ROWS] 49: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:32] [ROWS] 50: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:32] [ROWS] 51: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:32] [ROWS] ===== END (updateMessageCell for 1602) =====
[11:15:32] [HEIGHT_DEBUG] Row 1 msg 1602: isPlayingEvolution=true, textLength=0, text='...'
[11:15:32] [HEIGHT] Row 1 msg 1602: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:32] [HEIGHT_DEBUG] Row 2 msg 1601: isPlayingEvolution=false, textLength=8, text='Crivello...'
[11:15:32] [HEIGHT] Row 2 msg 1601: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:32] [HEIGHT_DEBUG] Row 1 msg 1602: isPlayingEvolution=true, textLength=0, text='...'
[11:15:32] [HEIGHT] Row 1 msg 1602: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:32] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:15:32] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:15:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:15:32] [HEIGHT_DEBUG] Row 2 msg 1601: isPlayingEvolution=false, textLength=8, text='Crivello...'
[11:15:32] [HEIGHT] Row 2 msg 1601: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:32] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:32] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:32] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:32] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:32] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:32] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:32] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:32] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:32] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:32] [EVOLUTION] ▢️ Starting inline playback for message 1602 with 18 events
[11:15:32] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("operation_type"): 3, AnyHashable("message_id"): 1602, AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("session_id"): ILUIWU2]
[11:15:32] [PUSH] Parsed message_id: 1602
[11:15:32] [PUSH] Parsed operation_type: 3
[11:15:32] [PUSH] Taking direct action: opType=3, messageId=1602
[11:15:32] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=1602
[11:15:32] [EVOLUTION] πŸ“ Event 0/18 - Text now: "D..."
[11:15:32] [UPDATE] πŸ”„ updateMessageCell(for: 1602) β€” full safe reload
[11:15:32] [ROWS] ===== updateMessageCell for 1602 β€” chatRows.count=52 =====
[11:15:32] [ROWS] 0: SEPARATOR
[11:15:32] [ROWS] 1: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=1 textLen=6
[11:15:32] [ROWS] 2: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:32] [ROWS] 3: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:32] [ROWS] 4: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:32] [ROWS] 5: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:32] [ROWS] 6: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:32] [ROWS] 7: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:32] [ROWS] 8: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:32] [ROWS] 9: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:32] [ROWS] 10: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:32] [ROWS] 11: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:32] [ROWS] 12: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:32] [ROWS] 13: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:32] [ROWS] 14: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:32] [ROWS] 15: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:32] [ROWS] 16: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:32] [ROWS] 17: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:32] [ROWS] 18: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:32] [ROWS] 19: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:32] [ROWS] 20: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:32] [ROWS] 21: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:32] [ROWS] 22: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:32] [ROWS] 23: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:32] [ROWS] 24: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:32] [ROWS] 25: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:32] [ROWS] 26: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:32] [ROWS] 27: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:32] [ROWS] 28: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:15:32] [ROWS] 29: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:32] [ROWS] 30: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:32] [ROWS] 31: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:32] [ROWS] 32: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:15:32] [ROWS] 33: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:32] [ROWS] 34: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:32] [ROWS] 35: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:32] [ROWS] 36: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:32] [ROWS] 37: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:32] [ROWS] 38: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:32] [ROWS] 39: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:32] [ROWS] 40: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:32] [ROWS] 41: SEPARATOR
[11:15:32] [ROWS] 42: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:32] [ROWS] 43: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:32] [ROWS] 44: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:15:32] [ROWS] 45: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:32] [ROWS] 46: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:32] [ROWS] 47: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:15:32] [ROWS] 48: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:32] [ROWS] 49: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:32] [ROWS] 50: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:32] [ROWS] 51: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:32] [ROWS] ===== END (updateMessageCell for 1602) =====
[11:15:32] [HEIGHT_DEBUG] Row 1 msg 1602: isPlayingEvolution=true, textLength=1, text='D...'
[11:15:32] [HEIGHT] Row 1 msg 1602: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:32] [HEIGHT_DEBUG] Row 2 msg 1601: isPlayingEvolution=false, textLength=8, text='Crivello...'
[11:15:32] [HEIGHT] Row 2 msg 1601: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:32] [HEIGHT_DEBUG] Row 1 msg 1602: isPlayingEvolution=true, textLength=1, text='D...'
[11:15:32] [HEIGHT] Row 1 msg 1602: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:32] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:15:32] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:15:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:32] [HEIGHT_DEBUG] Row 2 msg 1601: isPlayingEvolution=false, textLength=8, text='Crivello...'
[11:15:32] [HEIGHT] Row 2 msg 1601: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:32] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:32] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:32] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:32] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:32] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:32] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:32] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:32] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:32] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:33] [LOCATION] Failed to get location: The operation couldn’t be completed. (kCLErrorDomain error 1.)
[11:15:33] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:15:33] Will get events_php
[11:15:33] [TYPING] πŸ”„ ========== POLL START ==========
[11:15:33] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:15:33] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:15:33] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:15:33] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:15:33] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:15:33] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:15:33] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok, "sessionId": ILUIWU2]
[11:15:33] [TYPING] πŸ“₯ Found 0 typing users in response
[11:15:33] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Type: application/json; charset=utf-8
Server: Apache/2.4.65 (Unix) PHP/8.4.14
X-Powered-By: PHP/8.4.14
Date: Sun, 16 Nov 2025 10:15:33 GMT
Keep-Alive: timeout=5, max=94
Connection: Keep-Alive
Content-Length: 205
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":2,"events":[{"event_id":10648,"event_type":3,"message_id":1602,"session_id":"ILUIWU2"},{"event_id":10649,"event_type":3,"message_id":1602,"session_id":"ILUIWU2"}]}
[11:15:33] [TYPING] πŸ“₯ Updating typing users SET: []
[11:15:33] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:15:33] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:15:33] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:15:33] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:15:33] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:15:33] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:15:33] [TYPING] πŸ”„ ========== POLL END ==========
[11:15:33] Done
[11:15:33] [EVOLUTION] πŸ“ Event 1/18 - Text now: "Dn..."
[11:15:33] [UPDATE] πŸ”„ updateMessageCell(for: 1602) β€” full safe reload
[11:15:33] [ROWS] ===== updateMessageCell for 1602 β€” chatRows.count=52 =====
[11:15:33] [ROWS] 0: SEPARATOR
[11:15:33] [ROWS] 1: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=2 textLen=6
[11:15:33] [ROWS] 2: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:33] [ROWS] 3: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:33] [ROWS] 4: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:33] [ROWS] 5: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:33] [ROWS] 6: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:33] [ROWS] 7: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:33] [ROWS] 8: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:33] [ROWS] 9: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:33] [ROWS] 10: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:33] [ROWS] 11: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:33] [ROWS] 12: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:33] [ROWS] 13: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:33] [ROWS] 14: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:33] [ROWS] 15: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:33] [ROWS] 16: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:33] [ROWS] 17: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:33] [ROWS] 18: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:33] [ROWS] 19: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:33] [ROWS] 20: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:33] [ROWS] 21: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:33] [ROWS] 22: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:33] [ROWS] 23: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:33] [ROWS] 24: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:33] [ROWS] 25: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:33] [ROWS] 26: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:33] [ROWS] 27: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:33] [ROWS] 28: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:15:33] [ROWS] 29: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:33] [ROWS] 30: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:33] [ROWS] 31: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:33] [ROWS] 32: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:15:33] [ROWS] 33: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:33] [ROWS] 34: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:33] [ROWS] 35: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:33] [ROWS] 36: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:33] [ROWS] 37: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:33] [ROWS] 38: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:33] [ROWS] 39: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:33] [ROWS] 40: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:33] [ROWS] 41: SEPARATOR
[11:15:33] [ROWS] 42: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:33] [ROWS] 43: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:33] [ROWS] 44: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:15:33] [ROWS] 45: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:33] [ROWS] 46: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:33] [ROWS] 47: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:15:33] [ROWS] 48: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:33] [ROWS] 49: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:33] [ROWS] 50: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:33] [ROWS] 51: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:33] [ROWS] ===== END (updateMessageCell for 1602) =====
[11:15:33] [HEIGHT_DEBUG] Row 1 msg 1602: isPlayingEvolution=true, textLength=2, text='Dn...'
[11:15:33] [HEIGHT] Row 1 msg 1602: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:33] [HEIGHT_DEBUG] Row 2 msg 1601: isPlayingEvolution=false, textLength=8, text='Crivello...'
[11:15:33] [HEIGHT] Row 2 msg 1601: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:33] [HEIGHT_DEBUG] Row 1 msg 1602: isPlayingEvolution=true, textLength=2, text='Dn...'
[11:15:33] [HEIGHT] Row 1 msg 1602: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:33] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:15:33] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:15:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:33] [HEIGHT_DEBUG] Row 2 msg 1601: isPlayingEvolution=false, textLength=8, text='Crivello...'
[11:15:33] [HEIGHT] Row 2 msg 1601: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:33] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:33] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:33] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:33] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:33] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:33] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:33] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:33] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:33] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:33] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:33] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:33] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:33] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:33] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:33] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:33] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:33] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:33] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:33] [EVOLUTION] πŸ“ Event 2/18 - Text now: "Dni..."
[11:15:33] [UPDATE] πŸ”„ updateMessageCell(for: 1602) β€” full safe reload
[11:15:33] [ROWS] ===== updateMessageCell for 1602 β€” chatRows.count=52 =====
[11:15:33] [ROWS] 0: SEPARATOR
[11:15:33] [ROWS] 1: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=3 textLen=6
[11:15:33] [ROWS] 2: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:33] [ROWS] 3: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:33] [ROWS] 4: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:33] [ROWS] 5: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:33] [ROWS] 6: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:33] [ROWS] 7: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:33] [ROWS] 8: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:33] [ROWS] 9: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:33] [ROWS] 10: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:33] [ROWS] 11: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:33] [ROWS] 12: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:33] [ROWS] 13: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:33] [ROWS] 14: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:33] [ROWS] 15: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:33] [ROWS] 16: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:33] [ROWS] 17: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:33] [ROWS] 18: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:33] [ROWS] 19: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:33] [ROWS] 20: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:33] [ROWS] 21: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:33] [ROWS] 22: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:33] [ROWS] 23: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:33] [ROWS] 24: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:33] [ROWS] 25: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:33] [ROWS] 26: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:33] [ROWS] 27: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:33] [ROWS] 28: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:15:33] [ROWS] 29: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:33] [ROWS] 30: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:33] [ROWS] 31: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:33] [ROWS] 32: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:15:33] [ROWS] 33: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:33] [ROWS] 34: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:33] [ROWS] 35: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:33] [ROWS] 36: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:33] [ROWS] 37: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:33] [ROWS] 38: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:33] [ROWS] 39: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:33] [ROWS] 40: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:33] [ROWS] 41: SEPARATOR
[11:15:33] [ROWS] 42: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:33] [ROWS] 43: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:33] [ROWS] 44: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:15:33] [ROWS] 45: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:33] [ROWS] 46: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:33] [ROWS] 47: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:15:33] [ROWS] 48: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:33] [ROWS] 49: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:33] [ROWS] 50: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:33] [ROWS] 51: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:33] [ROWS] ===== END (updateMessageCell for 1602) =====
[11:15:33] [HEIGHT_DEBUG] Row 1 msg 1602: isPlayingEvolution=true, textLength=3, text='Dni...'
[11:15:33] [HEIGHT] Row 1 msg 1602: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:33] [HEIGHT_DEBUG] Row 2 msg 1601: isPlayingEvolution=false, textLength=8, text='Crivello...'
[11:15:33] [HEIGHT] Row 2 msg 1601: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:33] [HEIGHT_DEBUG] Row 1 msg 1602: isPlayingEvolution=true, textLength=3, text='Dni...'
[11:15:33] [HEIGHT] Row 1 msg 1602: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:33] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:15:33] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:15:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:33] [HEIGHT_DEBUG] Row 2 msg 1601: isPlayingEvolution=false, textLength=8, text='Crivello...'
[11:15:33] [HEIGHT] Row 2 msg 1601: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:33] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:33] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:33] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:33] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:33] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:33] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:33] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:33] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:33] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:33] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:33] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:33] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:33] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:33] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:33] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:33] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:33] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:33] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:33] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU2, AnyHashable("message_id"): 1603]
[11:15:33] [PUSH] Parsed message_id: 1603
[11:15:33] [PUSH] Parsed operation_type: 0
[11:15:33] [PUSH] Taking direct action: opType=0, messageId=1603
[11:15:33] [PUSH] TakeActionFromPush called: OperationType=0, MessageIds=1603
[11:15:33] [PUSH] Handling message fetch for opType=0, messageId=1603
[11:15:33] [PUSH] Requesting URL: http://crivello.dyndns.org:81/WebRTC/chat/chat_get_messages.php?session_id=ILUIWU2&viewer=1&messages=1603
[11:15:33] [EVOLUTION] πŸ“ Event 3/18 - Text now: "Dniq..."
[11:15:33] [UPDATE] πŸ”„ updateMessageCell(for: 1602) β€” full safe reload
[11:15:33] [ROWS] ===== updateMessageCell for 1602 β€” chatRows.count=52 =====
[11:15:33] [ROWS] 0: SEPARATOR
[11:15:33] [ROWS] 1: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=4 textLen=6
[11:15:33] [ROWS] 2: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:33] [ROWS] 3: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:33] [ROWS] 4: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:33] [ROWS] 5: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:33] [ROWS] 6: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:33] [ROWS] 7: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:33] [ROWS] 8: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:33] [ROWS] 9: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:33] [ROWS] 10: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:33] [ROWS] 11: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:33] [ROWS] 12: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:33] [ROWS] 13: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:33] [ROWS] 14: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:33] [ROWS] 15: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:33] [ROWS] 16: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:33] [ROWS] 17: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:33] [ROWS] 18: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:33] [ROWS] 19: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:33] [ROWS] 20: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:33] [ROWS] 21: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:33] [ROWS] 22: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:33] [ROWS] 23: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:33] [ROWS] 24: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:33] [ROWS] 25: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:33] [ROWS] 26: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:33] [ROWS] 27: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:33] [ROWS] 28: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:15:33] [ROWS] 29: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:33] [ROWS] 30: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:33] [ROWS] 31: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:33] [ROWS] 32: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:15:33] [ROWS] 33: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:33] [ROWS] 34: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:33] [ROWS] 35: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:33] [ROWS] 36: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:33] [ROWS] 37: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:33] [ROWS] 38: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:33] [ROWS] 39: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:33] [ROWS] 40: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:33] [ROWS] 41: SEPARATOR
[11:15:33] [ROWS] 42: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:33] [ROWS] 43: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:33] [ROWS] 44: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:15:33] [ROWS] 45: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:33] [ROWS] 46: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:33] [ROWS] 47: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:15:33] [ROWS] 48: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:33] [ROWS] 49: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:33] [ROWS] 50: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:33] [ROWS] 51: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:33] [ROWS] ===== END (updateMessageCell for 1602) =====
[11:15:33] [HEIGHT_DEBUG] Row 1 msg 1602: isPlayingEvolution=true, textLength=4, text='Dniq...'
[11:15:33] [HEIGHT] Row 1 msg 1602: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:33] [HEIGHT_DEBUG] Row 2 msg 1601: isPlayingEvolution=false, textLength=8, text='Crivello...'
[11:15:33] [HEIGHT] Row 2 msg 1601: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:33] [HEIGHT_DEBUG] Row 1 msg 1602: isPlayingEvolution=true, textLength=4, text='Dniq...'
[11:15:33] [HEIGHT] Row 1 msg 1602: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:33] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:15:33] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:15:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:33] [HEIGHT_DEBUG] Row 2 msg 1601: isPlayingEvolution=false, textLength=8, text='Crivello...'
[11:15:33] [HEIGHT] Row 2 msg 1601: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:33] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:33] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:33] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:33] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:33] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:33] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:33] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:33] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:33] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:33] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:33] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:33] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:33] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:33] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:33] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:33] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:33] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:33] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:34] [EVOLUTION] πŸ“ Event 4/18 - Text now: "Dni..."
[11:15:34] [UPDATE] πŸ”„ updateMessageCell(for: 1602) β€” full safe reload
[11:15:34] [ROWS] ===== updateMessageCell for 1602 β€” chatRows.count=52 =====
[11:15:34] [ROWS] 0: SEPARATOR
[11:15:34] [ROWS] 1: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=3 textLen=6
[11:15:34] [ROWS] 2: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:34] [ROWS] 3: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:34] [ROWS] 4: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:34] [ROWS] 5: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:34] [ROWS] 6: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:34] [ROWS] 7: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:34] [ROWS] 8: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:34] [ROWS] 9: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:34] [ROWS] 10: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:34] [ROWS] 11: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:34] [ROWS] 12: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:34] [ROWS] 13: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:34] [ROWS] 14: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:34] [ROWS] 15: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:34] [ROWS] 16: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:34] [ROWS] 17: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:34] [ROWS] 18: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:34] [ROWS] 19: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:34] [ROWS] 20: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:34] [ROWS] 21: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:34] [ROWS] 22: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:34] [ROWS] 23: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:34] [ROWS] 24: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:34] [ROWS] 25: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:34] [ROWS] 26: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:34] [ROWS] 27: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:34] [ROWS] 28: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:15:34] [ROWS] 29: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:34] [ROWS] 30: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:34] [ROWS] 31: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:34] [ROWS] 32: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:15:34] [ROWS] 33: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:34] [ROWS] 34: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:34] [ROWS] 35: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:34] [ROWS] 36: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:34] [ROWS] 37: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:34] [ROWS] 38: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:34] [ROWS] 39: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:34] [ROWS] 40: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:34] [ROWS] 41: SEPARATOR
[11:15:34] [ROWS] 42: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:34] [ROWS] 43: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:34] [ROWS] 44: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:15:34] [ROWS] 45: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:34] [ROWS] 46: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:34] [ROWS] 47: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:15:34] [ROWS] 48: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:34] [ROWS] 49: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:34] [ROWS] 50: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:34] [ROWS] 51: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:34] [ROWS] ===== END (updateMessageCell for 1602) =====
[11:15:34] [HEIGHT_DEBUG] Row 1 msg 1602: isPlayingEvolution=true, textLength=3, text='Dni...'
[11:15:34] [HEIGHT] Row 1 msg 1602: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:34] [HEIGHT_DEBUG] Row 2 msg 1601: isPlayingEvolution=false, textLength=8, text='Crivello...'
[11:15:34] [HEIGHT] Row 2 msg 1601: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:34] [HEIGHT_DEBUG] Row 1 msg 1602: isPlayingEvolution=true, textLength=3, text='Dni...'
[11:15:34] [HEIGHT] Row 1 msg 1602: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:34] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:15:34] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:15:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:34] [HEIGHT_DEBUG] Row 2 msg 1601: isPlayingEvolution=false, textLength=8, text='Crivello...'
[11:15:34] [HEIGHT] Row 2 msg 1601: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:34] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:34] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:34] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:34] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:34] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:34] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:34] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:34] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:34] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:34] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:34] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:34] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:34] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:34] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:34] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:34] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:34] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:34] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:34] [EVOLUTION] πŸ“ Event 5/18 - Text now: "Dn..."
[11:15:34] [UPDATE] πŸ”„ updateMessageCell(for: 1602) β€” full safe reload
[11:15:34] [ROWS] ===== updateMessageCell for 1602 β€” chatRows.count=52 =====
[11:15:34] [ROWS] 0: SEPARATOR
[11:15:34] [ROWS] 1: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=2 textLen=6
[11:15:34] [ROWS] 2: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:34] [ROWS] 3: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:34] [ROWS] 4: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:34] [ROWS] 5: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:34] [ROWS] 6: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:34] [ROWS] 7: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:34] [ROWS] 8: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:34] [ROWS] 9: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:34] [ROWS] 10: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:34] [ROWS] 11: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:34] [ROWS] 12: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:34] [ROWS] 13: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:34] [ROWS] 14: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:34] [ROWS] 15: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:34] [ROWS] 16: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:34] [ROWS] 17: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:34] [ROWS] 18: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:34] [ROWS] 19: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:34] [ROWS] 20: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:34] [ROWS] 21: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:34] [ROWS] 22: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:34] [ROWS] 23: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:34] [ROWS] 24: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:34] [ROWS] 25: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:34] [ROWS] 26: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:34] [ROWS] 27: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:34] [ROWS] 28: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:15:34] [ROWS] 29: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:34] [ROWS] 30: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:34] [ROWS] 31: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:34] [ROWS] 32: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:15:34] [ROWS] 33: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:34] [ROWS] 34: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:34] [ROWS] 35: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:34] [ROWS] 36: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:34] [ROWS] 37: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:34] [ROWS] 38: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:34] [ROWS] 39: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:34] [ROWS] 40: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:34] [ROWS] 41: SEPARATOR
[11:15:34] [ROWS] 42: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:34] [ROWS] 43: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:34] [ROWS] 44: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:15:34] [ROWS] 45: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:34] [ROWS] 46: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:34] [ROWS] 47: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:15:34] [ROWS] 48: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:34] [ROWS] 49: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:34] [ROWS] 50: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:34] [ROWS] 51: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:34] [ROWS] ===== END (updateMessageCell for 1602) =====
[11:15:34] [HEIGHT_DEBUG] Row 1 msg 1602: isPlayingEvolution=true, textLength=2, text='Dn...'
[11:15:34] [HEIGHT] Row 1 msg 1602: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:34] [HEIGHT_DEBUG] Row 2 msg 1601: isPlayingEvolution=false, textLength=8, text='Crivello...'
[11:15:34] [HEIGHT] Row 2 msg 1601: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:34] [HEIGHT_DEBUG] Row 1 msg 1602: isPlayingEvolution=true, textLength=2, text='Dn...'
[11:15:34] [HEIGHT] Row 1 msg 1602: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:34] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:15:34] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:15:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:34] [HEIGHT_DEBUG] Row 2 msg 1601: isPlayingEvolution=false, textLength=8, text='Crivello...'
[11:15:34] [HEIGHT] Row 2 msg 1601: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:34] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:34] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:34] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:34] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:34] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:34] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:34] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:34] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:34] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:34] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:34] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:34] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:34] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:34] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:34] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:34] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:34] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:34] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:34] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("message_id"): 1603, AnyHashable("session_id"): ILUIWU2, AnyHashable("operation_type"): 3]
[11:15:34] [PUSH] Parsed message_id: 1603
[11:15:34] [PUSH] Parsed operation_type: 3
[11:15:34] [PUSH] Taking direct action: opType=3, messageId=1603
[11:15:34] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=1603
[11:15:34] [EVOLUTION] πŸ“ Event 6/18 - Text now: "D..."
[11:15:34] [UPDATE] πŸ”„ updateMessageCell(for: 1602) β€” full safe reload
[11:15:34] [ROWS] ===== updateMessageCell for 1602 β€” chatRows.count=52 =====
[11:15:34] [ROWS] 0: SEPARATOR
[11:15:34] [ROWS] 1: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=1 textLen=6
[11:15:34] [ROWS] 2: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:34] [ROWS] 3: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:34] [ROWS] 4: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:34] [ROWS] 5: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:34] [ROWS] 6: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:34] [ROWS] 7: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:34] [ROWS] 8: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:34] [ROWS] 9: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:34] [ROWS] 10: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:34] [ROWS] 11: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:34] [ROWS] 12: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:34] [ROWS] 13: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:34] [ROWS] 14: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:34] [ROWS] 15: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:34] [ROWS] 16: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:34] [ROWS] 17: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:34] [ROWS] 18: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:34] [ROWS] 19: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:34] [ROWS] 20: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:34] [ROWS] 21: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:34] [ROWS] 22: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:34] [ROWS] 23: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:34] [ROWS] 24: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:34] [ROWS] 25: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:34] [ROWS] 26: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:34] [ROWS] 27: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:34] [ROWS] 28: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:15:34] [ROWS] 29: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:34] [ROWS] 30: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:34] [ROWS] 31: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:34] [ROWS] 32: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:15:34] [ROWS] 33: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:34] [ROWS] 34: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:34] [ROWS] 35: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:34] [ROWS] 36: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:34] [ROWS] 37: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:34] [ROWS] 38: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:34] [ROWS] 39: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:34] [ROWS] 40: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:34] [ROWS] 41: SEPARATOR
[11:15:34] [ROWS] 42: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:34] [ROWS] 43: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:34] [ROWS] 44: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:15:34] [ROWS] 45: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:34] [ROWS] 46: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:34] [ROWS] 47: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:15:34] [ROWS] 48: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:34] [ROWS] 49: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:34] [ROWS] 50: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:34] [ROWS] 51: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:34] [ROWS] ===== END (updateMessageCell for 1602) =====
[11:15:34] [HEIGHT_DEBUG] Row 1 msg 1602: isPlayingEvolution=true, textLength=1, text='D...'
[11:15:34] [HEIGHT] Row 1 msg 1602: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:34] [HEIGHT_DEBUG] Row 2 msg 1601: isPlayingEvolution=false, textLength=8, text='Crivello...'
[11:15:34] [HEIGHT] Row 2 msg 1601: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:34] [HEIGHT_DEBUG] Row 1 msg 1602: isPlayingEvolution=true, textLength=1, text='D...'
[11:15:34] [HEIGHT] Row 1 msg 1602: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:34] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:15:34] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:15:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:34] [HEIGHT_DEBUG] Row 2 msg 1601: isPlayingEvolution=false, textLength=8, text='Crivello...'
[11:15:34] [HEIGHT] Row 2 msg 1601: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:34] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:34] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:34] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:34] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:34] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:34] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:34] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:34] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:34] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:34] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:34] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:34] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:34] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:34] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:34] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:34] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:34] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:34] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:34] [EVOLUTION] πŸ“ Event 7/18 - Text now: "Da..."
[11:15:34] [UPDATE] πŸ”„ updateMessageCell(for: 1602) β€” full safe reload
[11:15:34] [ROWS] ===== updateMessageCell for 1602 β€” chatRows.count=52 =====
[11:15:34] [ROWS] 0: SEPARATOR
[11:15:34] [ROWS] 1: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=2 textLen=6
[11:15:34] [ROWS] 2: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:34] [ROWS] 3: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:34] [ROWS] 4: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:34] [ROWS] 5: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:34] [ROWS] 6: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:34] [ROWS] 7: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:34] [ROWS] 8: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:34] [ROWS] 9: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:34] [ROWS] 10: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:34] [ROWS] 11: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:34] [ROWS] 12: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:34] [ROWS] 13: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:34] [ROWS] 14: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:34] [ROWS] 15: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:34] [ROWS] 16: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:34] [ROWS] 17: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:34] [ROWS] 18: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:34] [ROWS] 19: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:34] [ROWS] 20: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:34] [ROWS] 21: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:34] [ROWS] 22: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:34] [ROWS] 23: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:34] [ROWS] 24: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:34] [ROWS] 25: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:34] [ROWS] 26: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:34] [ROWS] 27: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:34] [ROWS] 28: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:15:34] [ROWS] 29: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:34] [ROWS] 30: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:34] [ROWS] 31: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:34] [ROWS] 32: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:15:34] [ROWS] 33: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:34] [ROWS] 34: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:34] [ROWS] 35: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:34] [ROWS] 36: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:34] [ROWS] 37: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:34] [ROWS] 38: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:34] [ROWS] 39: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:34] [ROWS] 40: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:34] [ROWS] 41: SEPARATOR
[11:15:34] [ROWS] 42: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:34] [ROWS] 43: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:34] [ROWS] 44: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:15:34] [ROWS] 45: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:34] [ROWS] 46: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:34] [ROWS] 47: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:15:34] [ROWS] 48: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:34] [ROWS] 49: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:34] [ROWS] 50: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:34] [ROWS] 51: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:34] [ROWS] ===== END (updateMessageCell for 1602) =====
[11:15:34] [HEIGHT_DEBUG] Row 1 msg 1602: isPlayingEvolution=true, textLength=2, text='Da...'
[11:15:34] [HEIGHT] Row 1 msg 1602: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:34] [HEIGHT_DEBUG] Row 2 msg 1601: isPlayingEvolution=false, textLength=8, text='Crivello...'
[11:15:34] [HEIGHT] Row 2 msg 1601: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:34] [HEIGHT_DEBUG] Row 1 msg 1602: isPlayingEvolution=true, textLength=2, text='Da...'
[11:15:34] [HEIGHT] Row 1 msg 1602: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:34] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:15:34] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:15:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:34] [HEIGHT_DEBUG] Row 2 msg 1601: isPlayingEvolution=false, textLength=8, text='Crivello...'
[11:15:34] [HEIGHT] Row 2 msg 1601: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:34] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:34] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:34] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:34] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:34] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:34] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:34] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:34] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:34] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:34] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:34] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:34] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:34] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:34] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:34] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:34] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:34] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:34] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:35] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:15:35] Will get events_php
[11:15:35] [TYPING] πŸ”„ ========== POLL START ==========
[11:15:35] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:15:35] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:15:35] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:15:35] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:15:35] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:15:35] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:15:35] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2, "status": ok]
[11:15:35] [TYPING] πŸ“₯ Found 0 typing users in response
[11:15:35] [TYPING] πŸ“₯ Updating typing users SET: []
[11:15:35] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:15:35] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:15:35] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:15:35] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:15:35] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:15:35] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:15:35] [TYPING] πŸ”„ ========== POLL END ==========
[11:15:35] [EVOLUTION] πŸ“ Event 8/18 - Text now: "Dai..."
[11:15:35] [UPDATE] πŸ”„ updateMessageCell(for: 1602) β€” full safe reload
[11:15:35] [ROWS] ===== updateMessageCell for 1602 β€” chatRows.count=52 =====
[11:15:35] [ROWS] 0: SEPARATOR
[11:15:35] [ROWS] 1: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=3 textLen=6
[11:15:35] [ROWS] 2: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:35] [ROWS] 3: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:35] [ROWS] 4: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:35] [ROWS] 5: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:35] [ROWS] 6: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:35] [ROWS] 7: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:35] [ROWS] 8: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:35] [ROWS] 9: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:35] [ROWS] 10: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:35] [ROWS] 11: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:35] [ROWS] 12: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:35] [ROWS] 13: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:35] [ROWS] 14: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:35] [ROWS] 15: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:35] [ROWS] 16: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:35] [ROWS] 17: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:35] [ROWS] 18: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:35] [ROWS] 19: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:35] [ROWS] 20: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:35] [ROWS] 21: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:35] [ROWS] 22: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:35] [ROWS] 23: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:35] [ROWS] 24: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:35] [ROWS] 25: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:35] [ROWS] 26: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:35] [ROWS] 27: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:35] [ROWS] 28: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:15:35] [ROWS] 29: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:35] [ROWS] 30: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:35] [ROWS] 31: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:35] [ROWS] 32: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:15:35] [ROWS] 33: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:35] [ROWS] 34: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:35] [ROWS] 35: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:35] [ROWS] 36: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:35] [ROWS] 37: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:35] [ROWS] 38: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:35] [ROWS] 39: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:35] [ROWS] 40: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:35] [ROWS] 41: SEPARATOR
[11:15:35] [ROWS] 42: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:35] [ROWS] 43: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:35] [ROWS] 44: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:15:35] [ROWS] 45: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:35] [ROWS] 46: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:35] [ROWS] 47: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:15:35] [ROWS] 48: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:35] [ROWS] 49: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:35] [ROWS] 50: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:35] [ROWS] 51: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:35] [ROWS] ===== END (updateMessageCell for 1602) =====
[11:15:35] [HEIGHT_DEBUG] Row 1 msg 1602: isPlayingEvolution=true, textLength=3, text='Dai...'
[11:15:35] [HEIGHT] Row 1 msg 1602: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:35] [HEIGHT_DEBUG] Row 2 msg 1601: isPlayingEvolution=false, textLength=8, text='Crivello...'
[11:15:35] [HEIGHT] Row 2 msg 1601: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:35] [HEIGHT_DEBUG] Row 1 msg 1602: isPlayingEvolution=true, textLength=3, text='Dai...'
[11:15:35] [HEIGHT] Row 1 msg 1602: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:35] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:15:35] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:15:35] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:35] [HEIGHT_DEBUG] Row 2 msg 1601: isPlayingEvolution=false, textLength=8, text='Crivello...'
[11:15:35] [HEIGHT] Row 2 msg 1601: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:35] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:35] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:35] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:35] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:35] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:35] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:35] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:35] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:35] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:35] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:35] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:35] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:35] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:35] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:35] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:35] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:35] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:35] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:35] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:35] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:35] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:35] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:35] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:35] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:35] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:35] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:35] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:35] [EVOLUTION] πŸ“ Event 9/18 - Text now: "Daie..."
[11:15:35] [UPDATE] πŸ”„ updateMessageCell(for: 1602) β€” full safe reload
[11:15:35] [ROWS] ===== updateMessageCell for 1602 β€” chatRows.count=52 =====
[11:15:35] [ROWS] 0: SEPARATOR
[11:15:35] [ROWS] 1: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=4 textLen=6
[11:15:35] [ROWS] 2: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:35] [ROWS] 3: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:35] [ROWS] 4: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:35] [ROWS] 5: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:35] [ROWS] 6: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:35] [ROWS] 7: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:35] [ROWS] 8: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:35] [ROWS] 9: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:35] [ROWS] 10: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:35] [ROWS] 11: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:35] [ROWS] 12: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:35] [ROWS] 13: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:35] [ROWS] 14: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:35] [ROWS] 15: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:35] [ROWS] 16: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:35] [ROWS] 17: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:35] [ROWS] 18: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:35] [ROWS] 19: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:35] [ROWS] 20: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:35] [ROWS] 21: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:35] [ROWS] 22: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:35] [ROWS] 23: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:35] [ROWS] 24: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:35] [ROWS] 25: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:35] [ROWS] 26: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:35] [ROWS] 27: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:35] [ROWS] 28: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:15:35] [ROWS] 29: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:35] [ROWS] 30: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:35] [ROWS] 31: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:35] [ROWS] 32: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:15:35] [ROWS] 33: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:35] [ROWS] 34: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:35] [ROWS] 35: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:35] [ROWS] 36: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:35] [ROWS] 37: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:35] [ROWS] 38: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:35] [ROWS] 39: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:35] [ROWS] 40: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:35] [ROWS] 41: SEPARATOR
[11:15:35] [ROWS] 42: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:35] [ROWS] 43: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:35] [ROWS] 44: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:15:35] [ROWS] 45: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:35] [ROWS] 46: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:35] [ROWS] 47: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:15:35] [ROWS] 48: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:35] [ROWS] 49: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:35] [ROWS] 50: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:35] [ROWS] 51: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:35] [ROWS] ===== END (updateMessageCell for 1602) =====
[11:15:35] [HEIGHT_DEBUG] Row 1 msg 1602: isPlayingEvolution=true, textLength=4, text='Daie...'
[11:15:35] [HEIGHT] Row 1 msg 1602: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:35] [HEIGHT_DEBUG] Row 2 msg 1601: isPlayingEvolution=false, textLength=8, text='Crivello...'
[11:15:35] [HEIGHT] Row 2 msg 1601: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:35] [HEIGHT_DEBUG] Row 1 msg 1602: isPlayingEvolution=true, textLength=4, text='Daie...'
[11:15:35] [HEIGHT] Row 1 msg 1602: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:35] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:15:35] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:15:35] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:35] [HEIGHT_DEBUG] Row 2 msg 1601: isPlayingEvolution=false, textLength=8, text='Crivello...'
[11:15:35] [HEIGHT] Row 2 msg 1601: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:35] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:35] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:35] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:35] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:35] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:35] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:35] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:35] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:35] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:35] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:35] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:35] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:35] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:35] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:35] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:35] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:35] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:35] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:35] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:35] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:35] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:35] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:35] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:35] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:35] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:35] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:35] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:35] [EVOLUTION] πŸ“ Event 10/18 - Text now: "Daiel..."
[11:15:35] [UPDATE] πŸ”„ updateMessageCell(for: 1602) β€” full safe reload
[11:15:35] [ROWS] ===== updateMessageCell for 1602 β€” chatRows.count=52 =====
[11:15:35] [ROWS] 0: SEPARATOR
[11:15:35] [ROWS] 1: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=5 textLen=6
[11:15:35] [ROWS] 2: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:35] [ROWS] 3: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:35] [ROWS] 4: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:35] [ROWS] 5: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:35] [ROWS] 6: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:35] [ROWS] 7: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:35] [ROWS] 8: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:35] [ROWS] 9: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:35] [ROWS] 10: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:35] [ROWS] 11: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:35] [ROWS] 12: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:35] [ROWS] 13: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:35] [ROWS] 14: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:35] [ROWS] 15: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:35] [ROWS] 16: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:35] [ROWS] 17: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:35] [ROWS] 18: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:35] [ROWS] 19: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:35] [ROWS] 20: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:35] [ROWS] 21: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:35] [ROWS] 22: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:35] [ROWS] 23: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:35] [ROWS] 24: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:35] [ROWS] 25: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:35] [ROWS] 26: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:35] [ROWS] 27: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:35] [ROWS] 28: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:15:35] [ROWS] 29: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:35] [ROWS] 30: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:35] [ROWS] 31: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:35] [ROWS] 32: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:15:35] [ROWS] 33: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:35] [ROWS] 34: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:35] [ROWS] 35: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:35] [ROWS] 36: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:35] [ROWS] 37: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:35] [ROWS] 38: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:35] [ROWS] 39: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:35] [ROWS] 40: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:35] [ROWS] 41: SEPARATOR
[11:15:35] [ROWS] 42: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:35] [ROWS] 43: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:35] [ROWS] 44: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:15:35] [ROWS] 45: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:35] [ROWS] 46: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:35] [ROWS] 47: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:15:35] [ROWS] 48: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:35] [ROWS] 49: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:35] [ROWS] 50: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:35] [ROWS] 51: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:35] [ROWS] ===== END (updateMessageCell for 1602) =====
[11:15:35] [HEIGHT_DEBUG] Row 1 msg 1602: isPlayingEvolution=true, textLength=5, text='Daiel...'
[11:15:35] [HEIGHT] Row 1 msg 1602: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:35] [HEIGHT_DEBUG] Row 2 msg 1601: isPlayingEvolution=false, textLength=8, text='Crivello...'
[11:15:35] [HEIGHT] Row 2 msg 1601: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:35] [HEIGHT_DEBUG] Row 1 msg 1602: isPlayingEvolution=true, textLength=5, text='Daiel...'
[11:15:35] [HEIGHT] Row 1 msg 1602: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:35] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:15:35] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:15:35] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:35] [HEIGHT_DEBUG] Row 2 msg 1601: isPlayingEvolution=false, textLength=8, text='Crivello...'
[11:15:35] [HEIGHT] Row 2 msg 1601: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:35] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:35] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:35] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:35] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:35] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:35] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:35] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:35] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:35] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:35] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:35] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:35] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:35] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:35] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:35] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:35] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:35] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:35] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:35] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:35] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:35] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:35] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:35] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:35] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:35] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:35] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:35] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:35] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("operation_type"): 3, AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("message_id"): 1603, AnyHashable("session_id"): ILUIWU2]
[11:15:35] [PUSH] Parsed message_id: 1603
[11:15:35] [PUSH] Parsed operation_type: 3
[11:15:35] [PUSH] Taking direct action: opType=3, messageId=1603
[11:15:35] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=1603
[11:15:36] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:15:36] [INFO_PAGE] Found 417 messages for session 'ILUIWU2'
[11:15:36] [INFO_PAGE] Total messages in database: 1183
[11:15:36] [EVOLUTION] πŸ“ Event 11/18 - Text now: "Daie..."
[11:15:36] [UPDATE] πŸ”„ updateMessageCell(for: 1602) β€” full safe reload
[11:15:36] [ROWS] ===== updateMessageCell for 1602 β€” chatRows.count=52 =====
[11:15:36] [ROWS] 0: SEPARATOR
[11:15:36] [ROWS] 1: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=4 textLen=6
[11:15:36] [ROWS] 2: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:36] [ROWS] 3: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:36] [ROWS] 4: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:36] [ROWS] 5: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:36] [ROWS] 6: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:36] [ROWS] 7: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:36] [ROWS] 8: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:36] [ROWS] 9: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:36] [ROWS] 10: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:36] [ROWS] 11: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:36] [ROWS] 12: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:36] [ROWS] 13: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:36] [ROWS] 14: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:36] [ROWS] 15: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:36] [ROWS] 16: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:36] [ROWS] 17: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:36] [ROWS] 18: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:36] [ROWS] 19: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:36] [ROWS] 20: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:36] [ROWS] 21: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:36] [ROWS] 22: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:36] [ROWS] 23: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:36] [ROWS] 24: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:36] [ROWS] 25: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:36] [ROWS] 26: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:36] [ROWS] 27: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:36] [ROWS] 28: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:15:36] [ROWS] 29: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:36] [ROWS] 30: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:36] [ROWS] 31: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:36] [ROWS] 32: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:15:36] [ROWS] 33: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:36] [ROWS] 34: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:36] [ROWS] 35: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:36] [ROWS] 36: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:36] [ROWS] 37: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:36] [ROWS] 38: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:36] [ROWS] 39: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:36] [ROWS] 40: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:36] [ROWS] 41: SEPARATOR
[11:15:36] [ROWS] 42: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:36] [ROWS] 43: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:36] [ROWS] 44: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:15:36] [ROWS] 45: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:36] [ROWS] 46: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:36] [ROWS] 47: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:15:36] [ROWS] 48: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:36] [ROWS] 49: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:36] [ROWS] 50: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:36] [ROWS] 51: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:36] [ROWS] ===== END (updateMessageCell for 1602) =====
[11:15:36] [HEIGHT_DEBUG] Row 1 msg 1602: isPlayingEvolution=true, textLength=4, text='Daie...'
[11:15:36] [HEIGHT] Row 1 msg 1602: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:36] [HEIGHT_DEBUG] Row 2 msg 1601: isPlayingEvolution=false, textLength=8, text='Crivello...'
[11:15:36] [HEIGHT] Row 2 msg 1601: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:36] [HEIGHT_DEBUG] Row 1 msg 1602: isPlayingEvolution=true, textLength=4, text='Daie...'
[11:15:36] [HEIGHT] Row 1 msg 1602: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:36] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:15:36] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [HEIGHT_DEBUG] Row 2 msg 1601: isPlayingEvolution=false, textLength=8, text='Crivello...'
[11:15:36] [HEIGHT] Row 2 msg 1601: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:36] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [PUSH] get_message response: HTTP 200, 465 bytes
[11:15:36] [PUSH] get_message response body: [{"message_type":0,"message_id":1603,"session_id":"ILUIWU2","message":"USA","file_name":"","msgread":0,"datesent":"2025-11-16 10:15:32","timer":0,"timer_started_at":null,"sender_id":"E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE","sender_name":"LoloTest","distance":null,"link_url":null,"link_title":null,"link_description":null,"link_image_url":null,"reply_to_id":null,"replied_message":null,"replied_sender_id":null,"replied_sender_name":null,"ViewerMode":0,"read_by":[]}]
[11:15:36] [EVOLUTION] 🎬 Preparing message 1603 for evolution playback (starting from empty)
[11:15:36] [PUSH] Added new message 1603 to chatMessages with readBy: 0 readers
[11:15:36] [PUSH] Added new message 1603 to allMessagesWithReadBy with readBy: 0 readers
[11:15:36] [ANIMATION] πŸ“Œ PUSH: Added message 1603 to newlyAddedMessageIds (willPlayEvolution=true)
[11:15:36] [PUSH_DEBUG] After inserting message 1603, existing messages readBy status:
[11:15:36] [PUSH_DEBUG]   msg[0] id=1603, readBy.count=0
[11:15:36] [PUSH_DEBUG]   msg[1] id=1602, readBy.count=1
[11:15:36] [PUSH_DEBUG]   msg[2] id=1601, readBy.count=1
[11:15:36] [PUSH_DEBUG]   msg[3] id=1600, readBy.count=1
[11:15:36] [PUSH_DEBUG]   msg[4] id=1599, readBy.count=1
[11:15:36] [EVOLUTION] 🎬 Will trigger auto-play for new message 1603 (from push) after table reload
[11:15:36] ReloadData 4 - using reloadMessagesForCurrentTab for animation
[11:15:36] [HEIGHT_DEBUG] Row 1 msg 1602: isPlayingEvolution=true, textLength=4, text='Daie...'
[11:15:36] [HEIGHT] Row 1 msg 1602: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:36] [HEIGHT_DEBUG] Row 2 msg 1602: isPlayingEvolution=true, textLength=4, text='Daie...'
[11:15:36] [HEIGHT] Row 2 msg 1602: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:36] [EVT] get_events.php HTTP 200
── Response Headers ──
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Content-Length: 205
Date: Sun, 16 Nov 2025 10:15:35 GMT
Keep-Alive: timeout=5, max=96
Content-Type: application/json; charset=utf-8
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":2,"events":[{"event_id":10651,"event_type":3,"message_id":1603,"session_id":"ILUIWU2"},{"event_id":10652,"event_type":3,"message_id":1603,"session_id":"ILUIWU2"}]}
[11:15:36] Done
[11:15:36] [HEIGHT_DEBUG] Row 1 msg 1603: isPlayingEvolution=true, textLength=0, text='...'
[11:15:36] [HEIGHT] Row 1 msg 1603: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:36] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:15:36] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:15:36] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:15:36] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:15:36] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (51 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:15:36] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:15:36] [EVOLUTION] πŸ“ Updated lastSeenMessageId: 1602 β†’ 1603
[11:15:36] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=53 =====
[11:15:36] [ROWS] 0: SEPARATOR
[11:15:36] [ROWS] 1: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=3
[11:15:36] [ROWS] 2: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=4 textLen=6
[11:15:36] [ROWS] 3: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:36] [ROWS] 4: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:36] [ROWS] 5: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:36] [ROWS] 6: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:36] [ROWS] 7: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:36] [ROWS] 8: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:36] [ROWS] 9: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:36] [ROWS] 10: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:36] [ROWS] 11: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:36] [ROWS] 12: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:36] [ROWS] 13: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:36] [ROWS] 14: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:36] [ROWS] 15: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:36] [ROWS] 16: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:36] [ROWS] 17: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:36] [ROWS] 18: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:36] [ROWS] 19: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:36] [ROWS] 20: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:36] [ROWS] 21: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:36] [ROWS] 22: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:36] [ROWS] 23: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:36] [ROWS] 24: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:36] [ROWS] 25: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:36] [ROWS] 26: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:36] [ROWS] 27: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:36] [ROWS] 28: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:36] [ROWS] 29: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:15:36] [ROWS] 30: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:36] [ROWS] 31: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:36] [ROWS] 32: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:36] [ROWS] 33: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:15:36] [ROWS] 34: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:36] [ROWS] 35: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:36] [ROWS] 36: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:36] [ROWS] 37: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:36] [ROWS] 38: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:36] [ROWS] 39: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:36] [ROWS] 40: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:36] [ROWS] 41: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:36] [ROWS] 42: SEPARATOR
[11:15:36] [ROWS] 43: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:36] [ROWS] 44: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:36] [ROWS] 45: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:15:36] [ROWS] 46: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:36] [ROWS] 47: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:36] [ROWS] 48: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:15:36] [ROWS] 49: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:36] [ROWS] 50: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:36] [ROWS] 51: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:36] [ROWS] 52: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:36] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:15:36] [TAB_FILTER] πŸ“Š Reloading table with 53 rows
[11:15:36] [HEIGHT_DEBUG] Row 1 msg 1603: isPlayingEvolution=true, textLength=0, text='...'
[11:15:36] [HEIGHT] Row 1 msg 1603: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:36] [HEIGHT_DEBUG] Row 2 msg 1602: isPlayingEvolution=true, textLength=4, text='Daie...'
[11:15:36] [HEIGHT] Row 2 msg 1602: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:36] [HEIGHT_DEBUG] Row 1 msg 1603: isPlayingEvolution=true, textLength=0, text='...'
[11:15:36] [HEIGHT] Row 1 msg 1603: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:36] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:15:36] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:15:36] [HEIGHT_DEBUG] Row 2 msg 1602: isPlayingEvolution=true, textLength=4, text='Daie...'
[11:15:36] [HEIGHT] Row 2 msg 1602: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:36] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:15:36] [EVOLUTION] πŸ“ Event 12/18 - Text now: "Dai..."
[11:15:36] [UPDATE] πŸ”„ updateMessageCell(for: 1602) β€” full safe reload
[11:15:36] [ROWS] ===== updateMessageCell for 1602 β€” chatRows.count=53 =====
[11:15:36] [ROWS] 0: SEPARATOR
[11:15:36] [ROWS] 1: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=3
[11:15:36] [ROWS] 2: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=3 textLen=6
[11:15:36] [ROWS] 3: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:36] [ROWS] 4: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:36] [ROWS] 5: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:36] [ROWS] 6: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:36] [ROWS] 7: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:36] [ROWS] 8: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:36] [ROWS] 9: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:36] [ROWS] 10: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:36] [ROWS] 11: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:36] [ROWS] 12: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:36] [ROWS] 13: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:36] [ROWS] 14: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:36] [ROWS] 15: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:36] [ROWS] 16: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:36] [ROWS] 17: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:36] [ROWS] 18: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:36] [ROWS] 19: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:36] [ROWS] 20: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:36] [ROWS] 21: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:36] [ROWS] 22: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:36] [ROWS] 23: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:36] [ROWS] 24: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:36] [ROWS] 25: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:36] [ROWS] 26: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:36] [ROWS] 27: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:36] [ROWS] 28: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:36] [ROWS] 29: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:15:36] [ROWS] 30: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:36] [ROWS] 31: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:36] [ROWS] 32: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:36] [ROWS] 33: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:15:36] [ROWS] 34: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:36] [ROWS] 35: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:36] [ROWS] 36: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:36] [ROWS] 37: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:36] [ROWS] 38: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:36] [ROWS] 39: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:36] [ROWS] 40: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:36] [ROWS] 41: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:36] [ROWS] 42: SEPARATOR
[11:15:36] [ROWS] 43: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:36] [ROWS] 44: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:36] [ROWS] 45: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:15:36] [ROWS] 46: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:36] [ROWS] 47: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:36] [ROWS] 48: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:15:36] [ROWS] 49: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:36] [ROWS] 50: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:36] [ROWS] 51: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:36] [ROWS] 52: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:36] [ROWS] ===== END (updateMessageCell for 1602) =====
[11:15:36] [HEIGHT_DEBUG] Row 1 msg 1603: isPlayingEvolution=true, textLength=0, text='...'
[11:15:36] [HEIGHT] Row 1 msg 1603: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:36] [HEIGHT_DEBUG] Row 2 msg 1602: isPlayingEvolution=true, textLength=3, text='Dai...'
[11:15:36] [HEIGHT] Row 2 msg 1602: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:36] [HEIGHT_DEBUG] Row 1 msg 1603: isPlayingEvolution=true, textLength=0, text='...'
[11:15:36] [HEIGHT] Row 1 msg 1603: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:36] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:15:36] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:15:36] [HEIGHT_DEBUG] Row 2 msg 1602: isPlayingEvolution=true, textLength=3, text='Dai...'
[11:15:36] [HEIGHT] Row 2 msg 1602: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:36] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [EVOLUTION] πŸ“ Event 13/18 - Text now: "Da..."
[11:15:36] [UPDATE] πŸ”„ updateMessageCell(for: 1602) β€” full safe reload
[11:15:36] [ROWS] ===== updateMessageCell for 1602 β€” chatRows.count=53 =====
[11:15:36] [ROWS] 0: SEPARATOR
[11:15:36] [ROWS] 1: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=3
[11:15:36] [ROWS] 2: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=2 textLen=6
[11:15:36] [ROWS] 3: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:36] [ROWS] 4: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:36] [ROWS] 5: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:36] [ROWS] 6: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:36] [ROWS] 7: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:36] [ROWS] 8: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:36] [ROWS] 9: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:36] [ROWS] 10: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:36] [ROWS] 11: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:36] [ROWS] 12: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:36] [ROWS] 13: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:36] [ROWS] 14: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:36] [ROWS] 15: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:36] [ROWS] 16: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:36] [ROWS] 17: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:36] [ROWS] 18: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:36] [ROWS] 19: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:36] [ROWS] 20: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:36] [ROWS] 21: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:36] [ROWS] 22: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:36] [ROWS] 23: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:36] [ROWS] 24: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:36] [ROWS] 25: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:36] [ROWS] 26: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:36] [ROWS] 27: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:36] [ROWS] 28: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:36] [ROWS] 29: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:15:36] [ROWS] 30: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:36] [ROWS] 31: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:36] [ROWS] 32: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:36] [ROWS] 33: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:15:36] [ROWS] 34: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:36] [ROWS] 35: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:36] [ROWS] 36: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:36] [ROWS] 37: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:36] [ROWS] 38: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:36] [ROWS] 39: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:36] [ROWS] 40: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:36] [ROWS] 41: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:36] [ROWS] 42: SEPARATOR
[11:15:36] [ROWS] 43: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:36] [ROWS] 44: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:36] [ROWS] 45: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:15:36] [ROWS] 46: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:36] [ROWS] 47: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:36] [ROWS] 48: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:15:36] [ROWS] 49: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:36] [ROWS] 50: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:36] [ROWS] 51: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:36] [ROWS] 52: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:36] [ROWS] ===== END (updateMessageCell for 1602) =====
[11:15:36] [HEIGHT_DEBUG] Row 1 msg 1603: isPlayingEvolution=true, textLength=0, text='...'
[11:15:36] [HEIGHT] Row 1 msg 1603: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:36] [HEIGHT_DEBUG] Row 2 msg 1602: isPlayingEvolution=true, textLength=2, text='Da...'
[11:15:36] [HEIGHT] Row 2 msg 1602: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:36] [HEIGHT_DEBUG] Row 1 msg 1603: isPlayingEvolution=true, textLength=0, text='...'
[11:15:36] [HEIGHT] Row 1 msg 1603: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:36] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:15:36] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:15:36] [HEIGHT_DEBUG] Row 2 msg 1602: isPlayingEvolution=true, textLength=2, text='Da...'
[11:15:36] [HEIGHT] Row 2 msg 1602: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:36] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [EVOLUTION] 🎬 Starting auto-play for message 1603 after table reload + render delay
[11:15:36] [EVOLUTION] πŸ“‘ Fetching evolution data for message 1603
[11:15:36] [EVOLUTION] πŸ” Raw response (273 bytes): {"ok":true,"has_evolution":true,"message_id":1603,"evolution":{"events":[{"t":0,"c":"U","op":"i","p":0},{"t":146,"c":"S","op":"i","p":1},{"t":354,"op":"i","c":"Q","p":2},{"l":1,"op":"d","t":1178,"p":2
[11:15:36] [EVOLUTION] πŸ” Parsed JSON keys: ["created_at", "evolution", "has_evolution", "message_id", "ok"]
[11:15:36] [EVOLUTION] πŸ” has_evolution: 1
[11:15:36] [EVOLUTION] βœ… Got 5 events for message 1603
[11:15:36] [OVERLAP_FIX] πŸš€ Starting evolution - forcing initial height recalculation
[11:15:36] [UPDATE] πŸ”„ updateMessageCell(for: 1603) β€” full safe reload
[11:15:36] [ROWS] ===== updateMessageCell for 1603 β€” chatRows.count=53 =====
[11:15:36] [ROWS] 0: SEPARATOR
[11:15:36] [ROWS] 1: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=3
[11:15:36] [ROWS] 2: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=2 textLen=6
[11:15:36] [ROWS] 3: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:36] [ROWS] 4: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:36] [ROWS] 5: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:36] [ROWS] 6: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:36] [ROWS] 7: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:36] [ROWS] 8: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:36] [ROWS] 9: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:36] [ROWS] 10: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:36] [ROWS] 11: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:36] [ROWS] 12: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:36] [ROWS] 13: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:36] [ROWS] 14: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:36] [ROWS] 15: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:36] [ROWS] 16: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:36] [ROWS] 17: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:36] [ROWS] 18: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:36] [ROWS] 19: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:36] [ROWS] 20: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:36] [ROWS] 21: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:36] [ROWS] 22: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:36] [ROWS] 23: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:36] [ROWS] 24: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:36] [ROWS] 25: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:36] [ROWS] 26: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:36] [ROWS] 27: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:36] [ROWS] 28: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:36] [ROWS] 29: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:15:36] [ROWS] 30: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:36] [ROWS] 31: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:36] [ROWS] 32: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:36] [ROWS] 33: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:15:36] [ROWS] 34: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:36] [ROWS] 35: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:36] [ROWS] 36: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:36] [ROWS] 37: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:36] [ROWS] 38: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:36] [ROWS] 39: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:36] [ROWS] 40: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:36] [ROWS] 41: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:36] [ROWS] 42: SEPARATOR
[11:15:36] [ROWS] 43: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:36] [ROWS] 44: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:36] [ROWS] 45: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:15:36] [ROWS] 46: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:36] [ROWS] 47: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:36] [ROWS] 48: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:15:36] [ROWS] 49: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:36] [ROWS] 50: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:36] [ROWS] 51: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:36] [ROWS] 52: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:36] [ROWS] ===== END (updateMessageCell for 1603) =====
[11:15:36] [HEIGHT_DEBUG] Row 1 msg 1603: isPlayingEvolution=true, textLength=0, text='...'
[11:15:36] [HEIGHT] Row 1 msg 1603: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:36] [HEIGHT_DEBUG] Row 2 msg 1602: isPlayingEvolution=true, textLength=2, text='Da...'
[11:15:36] [HEIGHT] Row 2 msg 1602: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:36] [HEIGHT_DEBUG] Row 1 msg 1603: isPlayingEvolution=true, textLength=0, text='...'
[11:15:36] [HEIGHT] Row 1 msg 1603: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:36] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:15:36] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:15:36] [HEIGHT_DEBUG] Row 2 msg 1602: isPlayingEvolution=true, textLength=2, text='Da...'
[11:15:36] [HEIGHT] Row 2 msg 1602: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:36] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:36] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:36] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:36] [EVOLUTION] ▢️ Starting inline playback for message 1603 with 5 events
[11:15:36] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("session_id"): ILUIWU2, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 1603]
[11:15:36] [PUSH] Parsed message_id: 1603
[11:15:36] [PUSH] Parsed operation_type: 3
[11:15:36] [PUSH] Taking direct action: opType=3, messageId=1603
[11:15:36] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=1603
[11:15:37] [EVOLUTION] πŸ“ Event 0/5 - Text now: "U..."
[11:15:37] [UPDATE] πŸ”„ updateMessageCell(for: 1603) β€” full safe reload
[11:15:37] [ROWS] ===== updateMessageCell for 1603 β€” chatRows.count=53 =====
[11:15:37] [ROWS] 0: SEPARATOR
[11:15:37] [ROWS] 1: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=1 textLen=3
[11:15:37] [ROWS] 2: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=2 textLen=6
[11:15:37] [ROWS] 3: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:37] [ROWS] 4: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:37] [ROWS] 5: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:37] [ROWS] 6: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:37] [ROWS] 7: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:37] [ROWS] 8: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:37] [ROWS] 9: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:37] [ROWS] 10: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:37] [ROWS] 11: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:37] [ROWS] 12: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:37] [ROWS] 13: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:37] [ROWS] 14: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:37] [ROWS] 15: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 16: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:37] [ROWS] 17: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:37] [ROWS] 18: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:37] [ROWS] 19: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:37] [ROWS] 20: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:37] [ROWS] 21: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:37] [ROWS] 22: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:37] [ROWS] 23: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:37] [ROWS] 24: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:37] [ROWS] 25: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:37] [ROWS] 26: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:37] [ROWS] 27: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:37] [ROWS] 28: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:37] [ROWS] 29: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:15:37] [ROWS] 30: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:37] [ROWS] 31: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:37] [ROWS] 32: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 33: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:15:37] [ROWS] 34: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:37] [ROWS] 35: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:37] [ROWS] 36: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 37: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 38: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 39: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 40: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 41: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 42: SEPARATOR
[11:15:37] [ROWS] 43: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:37] [ROWS] 44: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:37] [ROWS] 45: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:15:37] [ROWS] 46: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:37] [ROWS] 47: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:37] [ROWS] 48: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:15:37] [ROWS] 49: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:37] [ROWS] 50: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:37] [ROWS] 51: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:37] [ROWS] 52: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:37] [ROWS] ===== END (updateMessageCell for 1603) =====
[11:15:37] [HEIGHT_DEBUG] Row 1 msg 1603: isPlayingEvolution=true, textLength=1, text='U...'
[11:15:37] [HEIGHT] Row 1 msg 1603: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:37] [HEIGHT_DEBUG] Row 2 msg 1602: isPlayingEvolution=true, textLength=2, text='Da...'
[11:15:37] [HEIGHT] Row 2 msg 1602: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:37] [HEIGHT_DEBUG] Row 1 msg 1603: isPlayingEvolution=true, textLength=1, text='U...'
[11:15:37] [HEIGHT] Row 1 msg 1603: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:37] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:15:37] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [HEIGHT_DEBUG] Row 2 msg 1602: isPlayingEvolution=true, textLength=2, text='Da...'
[11:15:37] [HEIGHT] Row 2 msg 1602: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:37] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:15:37] Will get events_php
[11:15:37] [TYPING] πŸ”„ ========== POLL START ==========
[11:15:37] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:15:37] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:15:37] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:15:37] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:15:37] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:15:37] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:15:37] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2, "status": ok]
[11:15:37] [TYPING] πŸ“₯ Found 0 typing users in response
[11:15:37] [TYPING] πŸ“₯ Updating typing users SET: []
[11:15:37] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:15:37] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:15:37] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:15:37] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:15:37] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:15:37] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:15:37] [TYPING] πŸ”„ ========== POLL END ==========
[11:15:37] [EVT] get_events.php HTTP 200
── Response Headers ──
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Content-Length: 130
Date: Sun, 16 Nov 2025 10:15:37 GMT
Keep-Alive: timeout=5, max=91
Content-Type: application/json; charset=utf-8
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":1,"events":[{"event_id":10653,"event_type":3,"message_id":1603,"session_id":"ILUIWU2"}]}
[11:15:37] Done
[11:15:37] [EVOLUTION] πŸ“ Event 14/18 - Text now: "Dan..."
[11:15:37] [UPDATE] πŸ”„ updateMessageCell(for: 1602) β€” full safe reload
[11:15:37] [ROWS] ===== updateMessageCell for 1602 β€” chatRows.count=53 =====
[11:15:37] [ROWS] 0: SEPARATOR
[11:15:37] [ROWS] 1: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=1 textLen=3
[11:15:37] [ROWS] 2: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=3 textLen=6
[11:15:37] [ROWS] 3: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:37] [ROWS] 4: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:37] [ROWS] 5: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:37] [ROWS] 6: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:37] [ROWS] 7: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:37] [ROWS] 8: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:37] [ROWS] 9: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:37] [ROWS] 10: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:37] [ROWS] 11: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:37] [ROWS] 12: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:37] [ROWS] 13: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:37] [ROWS] 14: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:37] [ROWS] 15: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 16: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:37] [ROWS] 17: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:37] [ROWS] 18: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:37] [ROWS] 19: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:37] [ROWS] 20: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:37] [ROWS] 21: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:37] [ROWS] 22: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:37] [ROWS] 23: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:37] [ROWS] 24: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:37] [ROWS] 25: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:37] [ROWS] 26: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:37] [ROWS] 27: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:37] [ROWS] 28: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:37] [ROWS] 29: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:15:37] [ROWS] 30: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:37] [ROWS] 31: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:37] [ROWS] 32: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 33: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:15:37] [ROWS] 34: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:37] [ROWS] 35: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:37] [ROWS] 36: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 37: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 38: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 39: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 40: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 41: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 42: SEPARATOR
[11:15:37] [ROWS] 43: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:37] [ROWS] 44: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:37] [ROWS] 45: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:15:37] [ROWS] 46: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:37] [ROWS] 47: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:37] [ROWS] 48: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:15:37] [ROWS] 49: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:37] [ROWS] 50: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:37] [ROWS] 51: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:37] [ROWS] 52: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:37] [ROWS] ===== END (updateMessageCell for 1602) =====
[11:15:37] [HEIGHT_DEBUG] Row 1 msg 1603: isPlayingEvolution=true, textLength=1, text='U...'
[11:15:37] [HEIGHT] Row 1 msg 1603: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:37] [HEIGHT_DEBUG] Row 2 msg 1602: isPlayingEvolution=true, textLength=3, text='Dan...'
[11:15:37] [HEIGHT] Row 2 msg 1602: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:37] [HEIGHT_DEBUG] Row 1 msg 1603: isPlayingEvolution=true, textLength=1, text='U...'
[11:15:37] [HEIGHT] Row 1 msg 1603: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:37] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:15:37] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [HEIGHT_DEBUG] Row 2 msg 1602: isPlayingEvolution=true, textLength=3, text='Dan...'
[11:15:37] [HEIGHT] Row 2 msg 1602: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:37] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [EVOLUTION] πŸ“ Event 1/5 - Text now: "US..."
[11:15:37] [UPDATE] πŸ”„ updateMessageCell(for: 1603) β€” full safe reload
[11:15:37] [ROWS] ===== updateMessageCell for 1603 β€” chatRows.count=53 =====
[11:15:37] [ROWS] 0: SEPARATOR
[11:15:37] [ROWS] 1: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=2 textLen=3
[11:15:37] [ROWS] 2: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=3 textLen=6
[11:15:37] [ROWS] 3: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:37] [ROWS] 4: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:37] [ROWS] 5: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:37] [ROWS] 6: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:37] [ROWS] 7: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:37] [ROWS] 8: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:37] [ROWS] 9: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:37] [ROWS] 10: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:37] [ROWS] 11: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:37] [ROWS] 12: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:37] [ROWS] 13: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:37] [ROWS] 14: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:37] [ROWS] 15: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 16: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:37] [ROWS] 17: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:37] [ROWS] 18: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:37] [ROWS] 19: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:37] [ROWS] 20: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:37] [ROWS] 21: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:37] [ROWS] 22: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:37] [ROWS] 23: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:37] [ROWS] 24: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:37] [ROWS] 25: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:37] [ROWS] 26: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:37] [ROWS] 27: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:37] [ROWS] 28: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:37] [ROWS] 29: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:15:37] [ROWS] 30: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:37] [ROWS] 31: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:37] [ROWS] 32: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 33: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:15:37] [ROWS] 34: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:37] [ROWS] 35: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:37] [ROWS] 36: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 37: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 38: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 39: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 40: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 41: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 42: SEPARATOR
[11:15:37] [ROWS] 43: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:37] [ROWS] 44: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:37] [ROWS] 45: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:15:37] [ROWS] 46: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:37] [ROWS] 47: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:37] [ROWS] 48: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:15:37] [ROWS] 49: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:37] [ROWS] 50: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:37] [ROWS] 51: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:37] [ROWS] 52: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:37] [ROWS] ===== END (updateMessageCell for 1603) =====
[11:15:37] [HEIGHT_DEBUG] Row 1 msg 1603: isPlayingEvolution=true, textLength=2, text='US...'
[11:15:37] [HEIGHT] Row 1 msg 1603: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:37] [HEIGHT_DEBUG] Row 2 msg 1602: isPlayingEvolution=true, textLength=3, text='Dan...'
[11:15:37] [HEIGHT] Row 2 msg 1602: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:37] [HEIGHT_DEBUG] Row 1 msg 1603: isPlayingEvolution=true, textLength=2, text='US...'
[11:15:37] [HEIGHT] Row 1 msg 1603: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:37] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:15:37] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [HEIGHT_DEBUG] Row 2 msg 1602: isPlayingEvolution=true, textLength=3, text='Dan...'
[11:15:37] [HEIGHT] Row 2 msg 1602: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:37] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [EVOLUTION] πŸ“ Event 15/18 - Text now: "Dani..."
[11:15:37] [UPDATE] πŸ”„ updateMessageCell(for: 1602) β€” full safe reload
[11:15:37] [ROWS] ===== updateMessageCell for 1602 β€” chatRows.count=53 =====
[11:15:37] [ROWS] 0: SEPARATOR
[11:15:37] [ROWS] 1: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=2 textLen=3
[11:15:37] [ROWS] 2: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=4 textLen=6
[11:15:37] [ROWS] 3: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:37] [ROWS] 4: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:37] [ROWS] 5: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:37] [ROWS] 6: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:37] [ROWS] 7: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:37] [ROWS] 8: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:37] [ROWS] 9: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:37] [ROWS] 10: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:37] [ROWS] 11: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:37] [ROWS] 12: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:37] [ROWS] 13: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:37] [ROWS] 14: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:37] [ROWS] 15: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 16: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:37] [ROWS] 17: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:37] [ROWS] 18: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:37] [ROWS] 19: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:37] [ROWS] 20: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:37] [ROWS] 21: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:37] [ROWS] 22: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:37] [ROWS] 23: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:37] [ROWS] 24: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:37] [ROWS] 25: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:37] [ROWS] 26: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:37] [ROWS] 27: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:37] [ROWS] 28: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:37] [ROWS] 29: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:15:37] [ROWS] 30: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:37] [ROWS] 31: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:37] [ROWS] 32: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 33: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:15:37] [ROWS] 34: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:37] [ROWS] 35: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:37] [ROWS] 36: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 37: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 38: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 39: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 40: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 41: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 42: SEPARATOR
[11:15:37] [ROWS] 43: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:37] [ROWS] 44: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:37] [ROWS] 45: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:15:37] [ROWS] 46: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:37] [ROWS] 47: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:37] [ROWS] 48: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:15:37] [ROWS] 49: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:37] [ROWS] 50: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:37] [ROWS] 51: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:37] [ROWS] 52: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:37] [ROWS] ===== END (updateMessageCell for 1602) =====
[11:15:37] [HEIGHT_DEBUG] Row 1 msg 1603: isPlayingEvolution=true, textLength=2, text='US...'
[11:15:37] [HEIGHT] Row 1 msg 1603: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:37] [HEIGHT_DEBUG] Row 2 msg 1602: isPlayingEvolution=true, textLength=4, text='Dani...'
[11:15:37] [HEIGHT] Row 2 msg 1602: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:37] [HEIGHT_DEBUG] Row 1 msg 1603: isPlayingEvolution=true, textLength=2, text='US...'
[11:15:37] [HEIGHT] Row 1 msg 1603: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:37] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:15:37] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [HEIGHT_DEBUG] Row 2 msg 1602: isPlayingEvolution=true, textLength=4, text='Dani...'
[11:15:37] [HEIGHT] Row 2 msg 1602: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:37] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [EVOLUTION] πŸ“ Event 16/18 - Text now: "Danie..."
[11:15:37] [UPDATE] πŸ”„ updateMessageCell(for: 1602) β€” full safe reload
[11:15:37] [ROWS] ===== updateMessageCell for 1602 β€” chatRows.count=53 =====
[11:15:37] [ROWS] 0: SEPARATOR
[11:15:37] [ROWS] 1: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=2 textLen=3
[11:15:37] [ROWS] 2: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=5 textLen=6
[11:15:37] [ROWS] 3: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:37] [ROWS] 4: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:37] [ROWS] 5: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:37] [ROWS] 6: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:37] [ROWS] 7: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:37] [ROWS] 8: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:37] [ROWS] 9: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:37] [ROWS] 10: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:37] [ROWS] 11: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:37] [ROWS] 12: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:37] [ROWS] 13: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:37] [ROWS] 14: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:37] [ROWS] 15: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 16: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:37] [ROWS] 17: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:37] [ROWS] 18: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:37] [ROWS] 19: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:37] [ROWS] 20: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:37] [ROWS] 21: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:37] [ROWS] 22: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:37] [ROWS] 23: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:37] [ROWS] 24: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:37] [ROWS] 25: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:37] [ROWS] 26: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:37] [ROWS] 27: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:37] [ROWS] 28: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:37] [ROWS] 29: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:15:37] [ROWS] 30: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:37] [ROWS] 31: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:37] [ROWS] 32: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 33: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:15:37] [ROWS] 34: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:37] [ROWS] 35: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:37] [ROWS] 36: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 37: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 38: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 39: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 40: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 41: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 42: SEPARATOR
[11:15:37] [ROWS] 43: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:37] [ROWS] 44: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:37] [ROWS] 45: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:15:37] [ROWS] 46: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:37] [ROWS] 47: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:37] [ROWS] 48: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:15:37] [ROWS] 49: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:37] [ROWS] 50: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:37] [ROWS] 51: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:37] [ROWS] 52: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:37] [ROWS] ===== END (updateMessageCell for 1602) =====
[11:15:37] [HEIGHT_DEBUG] Row 1 msg 1603: isPlayingEvolution=true, textLength=2, text='US...'
[11:15:37] [HEIGHT] Row 1 msg 1603: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:37] [HEIGHT_DEBUG] Row 2 msg 1602: isPlayingEvolution=true, textLength=5, text='Danie...'
[11:15:37] [HEIGHT] Row 2 msg 1602: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:37] [HEIGHT_DEBUG] Row 1 msg 1603: isPlayingEvolution=true, textLength=2, text='US...'
[11:15:37] [HEIGHT] Row 1 msg 1603: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:37] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:15:37] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [HEIGHT_DEBUG] Row 2 msg 1602: isPlayingEvolution=true, textLength=5, text='Danie...'
[11:15:37] [HEIGHT] Row 2 msg 1602: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:37] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [EVOLUTION] πŸ“ Event 2/5 - Text now: "USQ..."
[11:15:37] [UPDATE] πŸ”„ updateMessageCell(for: 1603) β€” full safe reload
[11:15:37] [ROWS] ===== updateMessageCell for 1603 β€” chatRows.count=53 =====
[11:15:37] [ROWS] 0: SEPARATOR
[11:15:37] [ROWS] 1: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=3 textLen=3
[11:15:37] [ROWS] 2: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=5 textLen=6
[11:15:37] [ROWS] 3: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:37] [ROWS] 4: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:37] [ROWS] 5: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:37] [ROWS] 6: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:37] [ROWS] 7: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:37] [ROWS] 8: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:37] [ROWS] 9: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:37] [ROWS] 10: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:37] [ROWS] 11: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:37] [ROWS] 12: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:37] [ROWS] 13: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:37] [ROWS] 14: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:37] [ROWS] 15: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 16: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:37] [ROWS] 17: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:37] [ROWS] 18: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:37] [ROWS] 19: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:37] [ROWS] 20: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:37] [ROWS] 21: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:37] [ROWS] 22: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:37] [ROWS] 23: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:37] [ROWS] 24: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:37] [ROWS] 25: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:37] [ROWS] 26: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:37] [ROWS] 27: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:37] [ROWS] 28: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:37] [ROWS] 29: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:15:37] [ROWS] 30: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:37] [ROWS] 31: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:37] [ROWS] 32: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 33: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:15:37] [ROWS] 34: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:37] [ROWS] 35: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:37] [ROWS] 36: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 37: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 38: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 39: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 40: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 41: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 42: SEPARATOR
[11:15:37] [ROWS] 43: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:37] [ROWS] 44: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:37] [ROWS] 45: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:15:37] [ROWS] 46: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:37] [ROWS] 47: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:37] [ROWS] 48: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:15:37] [ROWS] 49: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:37] [ROWS] 50: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:37] [ROWS] 51: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:37] [ROWS] 52: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:37] [ROWS] ===== END (updateMessageCell for 1603) =====
[11:15:37] [HEIGHT_DEBUG] Row 1 msg 1603: isPlayingEvolution=true, textLength=3, text='USQ...'
[11:15:37] [HEIGHT] Row 1 msg 1603: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:37] [HEIGHT_DEBUG] Row 2 msg 1602: isPlayingEvolution=true, textLength=5, text='Danie...'
[11:15:37] [HEIGHT] Row 2 msg 1602: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:37] [HEIGHT_DEBUG] Row 1 msg 1603: isPlayingEvolution=true, textLength=3, text='USQ...'
[11:15:37] [HEIGHT] Row 1 msg 1603: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:37] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:15:37] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [HEIGHT_DEBUG] Row 2 msg 1602: isPlayingEvolution=true, textLength=5, text='Danie...'
[11:15:37] [HEIGHT] Row 2 msg 1602: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:37] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [EVOLUTION] πŸ“ Event 17/18 - Text now: "Daniel..."
[11:15:37] [UPDATE] πŸ”„ updateMessageCell(for: 1602) β€” full safe reload
[11:15:37] [ROWS] ===== updateMessageCell for 1602 β€” chatRows.count=53 =====
[11:15:37] [ROWS] 0: SEPARATOR
[11:15:37] [ROWS] 1: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=3 textLen=3
[11:15:37] [ROWS] 2: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=6 textLen=6
[11:15:37] [ROWS] 3: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:37] [ROWS] 4: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:37] [ROWS] 5: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:37] [ROWS] 6: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:37] [ROWS] 7: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:37] [ROWS] 8: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:37] [ROWS] 9: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:37] [ROWS] 10: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:37] [ROWS] 11: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:37] [ROWS] 12: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:37] [ROWS] 13: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:37] [ROWS] 14: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:37] [ROWS] 15: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 16: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:37] [ROWS] 17: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:37] [ROWS] 18: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:37] [ROWS] 19: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:37] [ROWS] 20: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:37] [ROWS] 21: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:37] [ROWS] 22: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:37] [ROWS] 23: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:37] [ROWS] 24: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:37] [ROWS] 25: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:37] [ROWS] 26: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:37] [ROWS] 27: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:37] [ROWS] 28: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:37] [ROWS] 29: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:15:37] [ROWS] 30: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:37] [ROWS] 31: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:37] [ROWS] 32: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 33: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:15:37] [ROWS] 34: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:37] [ROWS] 35: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:37] [ROWS] 36: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 37: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 38: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 39: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 40: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 41: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 42: SEPARATOR
[11:15:37] [ROWS] 43: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:37] [ROWS] 44: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:37] [ROWS] 45: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:15:37] [ROWS] 46: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:37] [ROWS] 47: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:37] [ROWS] 48: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:15:37] [ROWS] 49: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:37] [ROWS] 50: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:37] [ROWS] 51: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:37] [ROWS] 52: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:37] [ROWS] ===== END (updateMessageCell for 1602) =====
[11:15:37] [HEIGHT_DEBUG] Row 1 msg 1603: isPlayingEvolution=true, textLength=3, text='USQ...'
[11:15:37] [HEIGHT] Row 1 msg 1603: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:37] [HEIGHT_DEBUG] Row 2 msg 1602: isPlayingEvolution=true, textLength=6, text='Daniel...'
[11:15:37] [HEIGHT] Row 2 msg 1602: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:37] [HEIGHT_DEBUG] Row 1 msg 1603: isPlayingEvolution=true, textLength=3, text='USQ...'
[11:15:37] [HEIGHT] Row 1 msg 1603: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:37] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:15:37] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [HEIGHT_DEBUG] Row 2 msg 1602: isPlayingEvolution=true, textLength=6, text='Daniel...'
[11:15:37] [HEIGHT] Row 2 msg 1602: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:37] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [EVOLUTION] βœ… Finished playback for message 1602
[11:15:37] [UPDATE] πŸ”„ updateMessageCell(for: 1602) β€” full safe reload
[11:15:37] [ROWS] ===== updateMessageCell for 1602 β€” chatRows.count=53 =====
[11:15:37] [ROWS] 0: SEPARATOR
[11:15:37] [ROWS] 1: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=3 textLen=3
[11:15:37] [ROWS] 2: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=6 textLen=6
[11:15:37] [ROWS] 3: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:37] [ROWS] 4: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:37] [ROWS] 5: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:37] [ROWS] 6: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:37] [ROWS] 7: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:37] [ROWS] 8: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:37] [ROWS] 9: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:37] [ROWS] 10: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:37] [ROWS] 11: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:37] [ROWS] 12: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:37] [ROWS] 13: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:37] [ROWS] 14: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:37] [ROWS] 15: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 16: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:37] [ROWS] 17: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:37] [ROWS] 18: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:37] [ROWS] 19: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:37] [ROWS] 20: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:37] [ROWS] 21: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:37] [ROWS] 22: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:37] [ROWS] 23: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:37] [ROWS] 24: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:37] [ROWS] 25: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:37] [ROWS] 26: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:37] [ROWS] 27: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:37] [ROWS] 28: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:37] [ROWS] 29: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:15:37] [ROWS] 30: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:37] [ROWS] 31: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:37] [ROWS] 32: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 33: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:15:37] [ROWS] 34: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:37] [ROWS] 35: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:37] [ROWS] 36: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 37: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 38: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 39: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 40: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 41: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:37] [ROWS] 42: SEPARATOR
[11:15:37] [ROWS] 43: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:37] [ROWS] 44: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:37] [ROWS] 45: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:15:37] [ROWS] 46: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:37] [ROWS] 47: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:37] [ROWS] 48: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:15:37] [ROWS] 49: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:37] [ROWS] 50: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:37] [ROWS] 51: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:37] [ROWS] 52: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:37] [ROWS] ===== END (updateMessageCell for 1602) =====
[11:15:37] [HEIGHT_DEBUG] Row 1 msg 1603: isPlayingEvolution=true, textLength=3, text='USQ...'
[11:15:37] [HEIGHT] Row 1 msg 1603: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:37] [HEIGHT_DEBUG] Row 2 msg 1602: isPlayingEvolution=false, textLength=6, text='Daniel...'
[11:15:37] [HEIGHT] Row 2 msg 1602: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:37] [HEIGHT_DEBUG] Row 1 msg 1603: isPlayingEvolution=true, textLength=3, text='USQ...'
[11:15:37] [HEIGHT] Row 1 msg 1603: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:37] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:15:37] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [HEIGHT_DEBUG] Row 2 msg 1602: isPlayingEvolution=false, textLength=6, text='Daniel...'
[11:15:37] [HEIGHT] Row 2 msg 1602: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:37] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:37] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:37] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:37] [EVOLUTION] βœ… All queued messages have been played
[11:15:38] [EVOLUTION] πŸ“ Event 3/5 - Text now: "US..."
[11:15:38] [UPDATE] πŸ”„ updateMessageCell(for: 1603) β€” full safe reload
[11:15:38] [ROWS] ===== updateMessageCell for 1603 β€” chatRows.count=53 =====
[11:15:38] [ROWS] 0: SEPARATOR
[11:15:38] [ROWS] 1: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=2 textLen=3
[11:15:38] [ROWS] 2: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=6 textLen=6
[11:15:38] [ROWS] 3: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:38] [ROWS] 4: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:38] [ROWS] 5: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:38] [ROWS] 6: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:38] [ROWS] 7: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:38] [ROWS] 8: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:38] [ROWS] 9: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:38] [ROWS] 10: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:38] [ROWS] 11: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:38] [ROWS] 12: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:38] [ROWS] 13: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:38] [ROWS] 14: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:38] [ROWS] 15: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:38] [ROWS] 16: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:38] [ROWS] 17: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:38] [ROWS] 18: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:38] [ROWS] 19: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:38] [ROWS] 20: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:38] [ROWS] 21: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:38] [ROWS] 22: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:38] [ROWS] 23: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:38] [ROWS] 24: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:38] [ROWS] 25: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:15:38] [ROWS] 26: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:15:38] [ROWS] 27: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:38] [ROWS] 28: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:15:38] [ROWS] 29: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:15:38] [ROWS] 30: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:38] [ROWS] 31: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:38] [ROWS] 32: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:38] [ROWS] 33: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:15:38] [ROWS] 34: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:38] [ROWS] 35: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:15:38] [ROWS] 36: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:38] [ROWS] 37: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:38] [ROWS] 38: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:38] [ROWS] 39: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:38] [ROWS] 40: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:38] [ROWS] 41: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:15:38] [ROWS] 42: SEPARATOR
[11:15:38] [ROWS] 43: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:15:38] [ROWS] 44: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:38] [ROWS] 45: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:15:38] [ROWS] 46: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:15:38] [ROWS] 47: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:15:38] [ROWS] 48: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:15:38] [ROWS] 49: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:15:38] [ROWS] 50: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:15:38] [ROWS] 51: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:38] [ROWS] 52: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:15:38] [ROWS] ===== END (updateMessageCell for 1603) =====
[11:15:38] [HEIGHT_DEBUG] Row 1 msg 1603: isPlayingEvolution=true, textLength=2, text='US...'
[11:15:38] [HEIGHT] Row 1 msg 1603: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:38] [HEIGHT_DEBUG] Row 2 msg 1602: isPlayingEvolution=false, textLength=6, text='Daniel...'
[11:15:38] [HEIGHT] Row 2 msg 1602: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:38] [HEIGHT_DEBUG] Row 1 msg 1603: isPlayingEvolution=true, textLength=2, text='US...'
[11:15:38] [HEIGHT] Row 1 msg 1603: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:15:38] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:15:38] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:15:38] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:38] [HEIGHT_DEBUG] Row 2 msg 1602: isPlayingEvolution=false, textLength=6, text='Daniel...'
[11:15:38] [HEIGHT] Row 2 msg 1602: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:15:38] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:38] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:38] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:38] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:38] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:38] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:38] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:38] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:38] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:15:38] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:15:38] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:15:38] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:16:39] [CRASH] Previous session did not exit cleanly - crash detected
[11:16:39] [GIPHY] SDK not available - using REST API fallback
[11:16:39] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:16:39] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:16:39] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:16:39] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:16:39] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:16:39] [SCENE] Launched directly to chat view with sessionId: ILUIWU2
[11:16:39] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:16:39] Documents Directory: /var/mobile/Containers/Data/Application/D00AA5D1-269E-4120-B9AF-91DA55E8F54E/Documents
[11:16:39] [NOTIFICATION] πŸ”” Notification button created and added to topNavBar
[11:16:39] [NOTIFICATION] πŸ”” Button tintColor: grey (0.5, 0.5, 0.5)
[11:16:39] [NOTIFICATION] πŸ”” Button isUserInteractionEnabled: true
[11:16:39] [INFO_PAGE] InformationViewController viewDidLoad called
[11:16:39] [INFO_PAGE] Actions configured (bell button is external)
[11:16:39] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:16:39] [INFO_PAGE] Successfully opened database at /var/mobile/Containers/Data/Application/D00AA5D1-269E-4120-B9AF-91DA55E8F54E/Documents/chat_local_viewer.db
[11:16:39] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:16:39] [INFO_PAGE] Found 418 messages for session 'ILUIWU2'
[11:16:39] [INFO_PAGE] Total messages in database: 1184
[11:16:39] [INFO_PAGE] InformationViewController setup complete
[11:16:39] [INFO_PAGE] ℹ️ Information page added to tab 3
[11:16:39] [THEME] Applying current theme
[11:16:39] [CHAT] Applied day theme (mode: day)
[11:16:39] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:16:39] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:16:39] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:16:39] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:16:39] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:16:39] [SUMMARY] Already showed summary today (2025-11-16)
[11:16:39] Did transition
[11:16:39] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:16:39] [VIEWER] Screen lock enabled - normal idle behavior
[11:16:39] [QUERY] πŸ” Checking tab - currentTabIndex=0
[11:16:39] [QUERY] πŸ”΅ [TAB 0] No query connection needed
[11:16:39] [QUERY] βœ… [TAB 0] Initialized without query connection
[11:16:39] [LOCATION] Started location updates for distance calculation (already authorized)
[11:16:39] [TAB 0] Skipping reconnect polling - only needed for tab 1
[11:16:39] [VIEWER_INIT] Loading messages with read receipts from server
[11:16:39] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:16:39] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:16:39] [DB]   msg[0] id=1603, isMyMessage=false, readBy.count=0
[11:16:39] [DB]   msg[1] id=1602, isMyMessage=false, readBy.count=0
[11:16:39] [DB]   msg[2] id=1601, isMyMessage=false, readBy.count=0
[11:16:39] [EVOLUTION] πŸ” Found 0 NEW unread messages from local DB before fetching read receipts (lastSeenMessageId=1603): []
[11:16:39] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1603, readBy=[]", "id=1602, readBy=[]", "id=1601, readBy=[]"]
[11:16:39] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:16:39] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:16:39] [DB]   msg[0] id=1603, isMyMessage=false, readBy.count=0
[11:16:39] [DB]   msg[1] id=1602, isMyMessage=false, readBy.count=0
[11:16:39] [DB]   msg[2] id=1601, isMyMessage=false, readBy.count=0
[11:16:39] [EVENT_POLL] Starting periodic event polling for viewer mode (5s interval)
[11:16:39] [ORIENTATION] Updated pagingScrollView height to 247.5 for width 440.0
[11:16:39] [SUMMARY] Already showed summary today (2025-11-16)
[11:16:39] Did transition
[11:16:39] [NOTIFICATION] πŸ”” Constraints activated for notification button
[11:16:39] [NOTIFICATION] πŸ”” topNavBar frame: (0.0, 0.0, 440.0, 50.0)
[11:16:39] [NOTIFICATION] πŸ”” menuButton frame: (0.0, 0.0, 39.0, 30.0)
[11:16:39] [NOTIFICATION] πŸ”” notificationButton frame: (0.0, 0.0, 56.333333333333336, 58.0)
[11:16:39] [NOTIFICATION] πŸ”” Notification button brought to front
[11:16:39] [NOTIFICATION] πŸ”„ Updating icon to: bell.slash.fill (muted=true)
[11:16:39] [NOTIFICATION] βœ… Icon updated successfully
[11:16:39] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[11:16:39] [MIGRATION] No messages need sender_name backfill
[11:16:39] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:16:39] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:16:39] [DB]   msg[0] id=1603, isMyMessage=false, readBy.count=0
[11:16:39] [DB]   msg[1] id=1602, isMyMessage=false, readBy.count=0
[11:16:39] [DB]   msg[2] id=1601, isMyMessage=false, readBy.count=0
[11:16:39] [INFO_PAGE] InformationViewController viewWillAppear - applying theme
[11:16:39] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:16:39] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:16:39] [PAGINATION_SCROLL] offset=-12.0, contentHeight=108.0, distFromBottom=120.0, dragging=false, decel=false, isLoading=false, cooldown=63899057799.82546s
[11:16:39] [PAGINATION_SCROLL] offset=0.0, contentHeight=108.0, distFromBottom=-650.0, dragging=false, decel=false, isLoading=false, cooldown=63899057799.827515s
[11:16:39] [LOCATION] Authorization changed: 4
[11:16:39] [LOCATION] Updated location: 46.50141047848422, 6.722693907190436
[11:16:39] [LOCATION] Updated location: 46.50141047848422, 6.722693907190436
[11:16:39] [NOTIFICATION] πŸ”” FINAL STATE after viewDidLoad:
[11:16:39] [NOTIFICATION] πŸ”” notificationButton.frame: (392.0, 67.0, 40.0, 40.0)
[11:16:39] [NOTIFICATION] πŸ”” notificationButton.isHidden: false
[11:16:39] [NOTIFICATION] πŸ”” notificationButton.alpha: 1.0
[11:16:39] [NOTIFICATION] πŸ”” notificationButton.superview: true
[11:16:39] [NOTIFICATION] πŸ”” topNavBar.isHidden: false
[11:16:39] [NOTIFICATION] πŸ”” topNavBar.subviews.count: 3
[11:16:39] [PUSH] handlePollEventsNotification userInfo: [:]
[11:16:39] [PUSH] No message_id in userInfo
[11:16:39] [PUSH] No operation_type in userInfo
[11:16:39] [PUSH] Performing full refresh to catch up on any missed messages
[11:16:39] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:16:39] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:16:39] [DB]   msg[0] id=1603, isMyMessage=false, readBy.count=0
[11:16:39] [DB]   msg[1] id=1602, isMyMessage=false, readBy.count=0
[11:16:39] [DB]   msg[2] id=1601, isMyMessage=false, readBy.count=0
[11:16:39] [EVOLUTION] πŸ” [FOREGROUND] Found 0 NEW unread messages after refreshAllFromServer (lastSeenMessageId=1603): []
[11:16:39] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:16:39] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:16:39] [DB]   msg[0] id=1603, isMyMessage=false, readBy.count=0
[11:16:39] [DB]   msg[1] id=1602, isMyMessage=false, readBy.count=0
[11:16:39] [DB]   msg[2] id=1601, isMyMessage=false, readBy.count=0
[11:16:39] [PUSH] APNs token: 6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c
[11:16:40] [PUSH] Device role updated to 'viewer': HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:16:40] [PUSH] Device role updated to 'viewer': HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:16:40] [USER] βœ… User registered successfully
[11:16:40] [USER] User registration successful
[11:16:40] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:16:40] [CHAT] βœ… refreshAllFromServer - parsed 418 messages from server
[11:16:40] [DB] clearDBForSession(ILUIWU2): deleted 418 messages, result=101
[11:16:40] ReloadData 15 (418 messages loaded, 0 pending media)
[11:16:40] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:16:40] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:16:40] [DB]   msg[0] id=1603, isMyMessage=false, readBy.count=0
[11:16:40] [DB]   msg[1] id=1602, isMyMessage=false, readBy.count=0
[11:16:40] [DB]   msg[2] id=1601, isMyMessage=false, readBy.count=0
[11:16:40] [EVOLUTION] πŸ” Found 0 NEW unread messages after refreshAllFromServer (lastSeenMessageId=1603): []
[11:16:40] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1603, readBy=[]", "id=1602, readBy=[]", "id=1601, readBy=[]"]
[11:16:40] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:16:40] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:16:40] [DB]   msg[0] id=1603, isMyMessage=false, readBy.count=0
[11:16:40] [DB]   msg[1] id=1602, isMyMessage=false, readBy.count=0
[11:16:40] [DB]   msg[2] id=1601, isMyMessage=false, readBy.count=0
[11:16:40] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:16:40] [UNREAD_DEBUG]   FINAL msg[0] id=1603, readBy.count=1
[11:16:40] [UNREAD_DEBUG]   FINAL msg[1] id=1602, readBy.count=1
[11:16:40] [UNREAD_DEBUG]   FINAL msg[2] id=1601, readBy.count=1
[11:16:40] [VIEWER_INIT] Loaded 50 messages with read receipts, hasMore: true
[11:16:40] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:16:40] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:16:40] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:16:40] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:16:40] [ROWS] 0: SEPARATOR
[11:16:40] [ROWS] 1: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:16:40] [ROWS] 2: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:16:40] [ROWS] 3: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:16:40] [ROWS] 4: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:16:40] [ROWS] 5: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:16:40] [ROWS] 6: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:16:40] [ROWS] 7: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:16:40] [ROWS] 8: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:16:40] [ROWS] 9: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:16:40] [ROWS] 10: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:16:40] [ROWS] 11: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:16:40] [ROWS] 12: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:16:40] [ROWS] 13: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:16:40] [ROWS] 14: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:16:40] [ROWS] 15: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:16:40] [ROWS] 16: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:16:40] [ROWS] 17: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:16:40] [ROWS] 18: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:16:40] [ROWS] 19: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:16:40] [ROWS] 20: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:16:40] [ROWS] 21: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:16:40] [ROWS] 22: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:16:40] [ROWS] 23: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:16:40] [ROWS] 24: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:16:40] [ROWS] 25: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:16:40] [ROWS] 26: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:16:40] [ROWS] 27: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:16:40] [ROWS] 28: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:16:40] [ROWS] 29: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:16:40] [ROWS] 30: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:16:40] [ROWS] 31: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:16:40] [ROWS] 32: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:16:40] [ROWS] 33: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:16:40] [ROWS] 34: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:16:40] [ROWS] 35: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:16:40] [ROWS] 36: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:16:40] [ROWS] 37: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:16:40] [ROWS] 38: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:16:40] [ROWS] 39: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:16:40] [ROWS] 40: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:16:40] [ROWS] 41: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:16:40] [ROWS] 42: SEPARATOR
[11:16:40] [ROWS] 43: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:16:40] [ROWS] 44: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:16:40] [ROWS] 45: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:16:40] [ROWS] 46: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:16:40] [ROWS] 47: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:16:40] [ROWS] 48: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:16:40] [ROWS] 49: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:16:40] [ROWS] 50: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:16:40] [ROWS] 51: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:16:40] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:16:40] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:16:40] [HEIGHT_DEBUG] Row 1 msg 1603: isPlayingEvolution=false, textLength=3, text='USA...'
[11:16:40] [EMOJI] βœ… Loaded 451 emoji-to-GIF mappings
[11:16:40] [HEIGHT] Row 1 msg 1603: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:16:40] [HEIGHT_DEBUG] Row 2 msg 1602: isPlayingEvolution=false, textLength=6, text='Daniel...'
[11:16:40] [HEIGHT] Row 2 msg 1602: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:16:40] [HEIGHT_DEBUG] Row 1 msg 1603: isPlayingEvolution=false, textLength=3, text='USA...'
[11:16:40] [HEIGHT] Row 1 msg 1603: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:16:40] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:16:40] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:16:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:16:40] [HEIGHT_DEBUG] Row 2 msg 1602: isPlayingEvolution=false, textLength=6, text='Daniel...'
[11:16:40] [HEIGHT] Row 2 msg 1602: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:16:40] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:16:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:16:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:16:40] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:16:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:16:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:16:40] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:16:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:16:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:16:40] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:16:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:16:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:16:40] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:16:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:16:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:16:40] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:16:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:16:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:16:40] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:16:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:16:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:16:40] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:16:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:16:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:16:40] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:16:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:16:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:16:40] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:16:40] ReloadData 18 (viewer init with read receipts)
[11:16:40] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:16:40] [UNREAD_DEBUG]   FINAL msg[0] id=1603, readBy.count=1
[11:16:40] [UNREAD_DEBUG]   FINAL msg[1] id=1602, readBy.count=1
[11:16:40] [UNREAD_DEBUG]   FINAL msg[2] id=1601, readBy.count=1
[11:16:40] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:16:40] [UNREAD_DEBUG]   FINAL msg[0] id=1603, readBy.count=1
[11:16:40] [UNREAD_DEBUG]   FINAL msg[1] id=1602, readBy.count=1
[11:16:40] [UNREAD_DEBUG]   FINAL msg[2] id=1601, readBy.count=1
[11:16:40] [FOREGROUND_REFRESH] Loaded 50 messages
[11:16:40] [EVOLUTION] πŸ“­ No unread message IDs provided for evolution playback
[11:16:40] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:16:40] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:16:40] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:16:40] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:16:40] [ROWS] 0: SEPARATOR
[11:16:40] [ROWS] 1: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:16:40] [ROWS] 2: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:16:40] [ROWS] 3: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:16:40] [ROWS] 4: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:16:40] [ROWS] 5: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:16:40] [ROWS] 6: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:16:40] [ROWS] 7: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:16:40] [ROWS] 8: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:16:40] [ROWS] 9: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:16:40] [ROWS] 10: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:16:40] [ROWS] 11: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:16:40] [ROWS] 12: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:16:40] [ROWS] 13: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:16:40] [ROWS] 14: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:16:40] [ROWS] 15: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:16:40] [ROWS] 16: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:16:40] [ROWS] 17: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:16:40] [ROWS] 18: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:16:40] [ROWS] 19: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:16:40] [ROWS] 20: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:16:40] [ROWS] 21: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:16:40] [ROWS] 22: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:16:40] [ROWS] 23: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:16:40] [ROWS] 24: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:16:40] [ROWS] 25: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:16:40] [ROWS] 26: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:16:40] [ROWS] 27: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:16:40] [ROWS] 28: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:16:40] [ROWS] 29: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:16:40] [ROWS] 30: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:16:40] [ROWS] 31: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:16:40] [ROWS] 32: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:16:40] [ROWS] 33: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:16:40] [ROWS] 34: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:16:40] [ROWS] 35: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:16:40] [ROWS] 36: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:16:40] [ROWS] 37: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:16:40] [ROWS] 38: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:16:40] [ROWS] 39: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:16:40] [ROWS] 40: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:16:40] [ROWS] 41: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:16:40] [ROWS] 42: SEPARATOR
[11:16:40] [ROWS] 43: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:16:40] [ROWS] 44: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:16:40] [ROWS] 45: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:16:40] [ROWS] 46: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:16:40] [ROWS] 47: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:16:40] [ROWS] 48: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:16:40] [ROWS] 49: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:16:40] [ROWS] 50: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:16:40] [ROWS] 51: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:16:40] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:16:40] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:16:40] [HEIGHT_DEBUG] Row 1 msg 1603: isPlayingEvolution=false, textLength=3, text='USA...'
[11:16:40] [HEIGHT] Row 1 msg 1603: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:16:40] [HEIGHT_DEBUG] Row 2 msg 1602: isPlayingEvolution=false, textLength=6, text='Daniel...'
[11:16:40] [HEIGHT] Row 2 msg 1602: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:16:40] [HEIGHT_DEBUG] Row 1 msg 1603: isPlayingEvolution=false, textLength=3, text='USA...'
[11:16:40] [HEIGHT] Row 1 msg 1603: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:16:40] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:16:40] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:16:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:16:40] [HEIGHT_DEBUG] Row 2 msg 1602: isPlayingEvolution=false, textLength=6, text='Daniel...'
[11:16:40] [HEIGHT] Row 2 msg 1602: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:16:40] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:16:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:16:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:16:40] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:16:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:16:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:16:40] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:16:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:16:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:16:40] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:16:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:16:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:16:40] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:16:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:16:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:16:40] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:16:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:16:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:16:40] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:16:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:16:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:16:40] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:16:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:16:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:16:40] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:16:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:16:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:16:40] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:16:40] [INIT_PAGINATION] Loaded 50 total messages, displaying 50 for tab 0
[11:16:40] [EVOLUTION] πŸ“­ No unread message IDs provided for evolution playback
[11:16:40] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:16:40] [UNREAD_DEBUG]   FINAL msg[0] id=1603, readBy.count=1
[11:16:40] [UNREAD_DEBUG]   FINAL msg[1] id=1602, readBy.count=1
[11:16:40] [UNREAD_DEBUG]   FINAL msg[2] id=1601, readBy.count=1
[11:16:40] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:16:40] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:16:40] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:16:40] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:16:40] [ROWS] 0: SEPARATOR
[11:16:40] [ROWS] 1: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:16:40] [ROWS] 2: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:16:40] [ROWS] 3: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:16:40] [ROWS] 4: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:16:40] [ROWS] 5: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:16:40] [ROWS] 6: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:16:40] [ROWS] 7: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:16:40] [ROWS] 8: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:16:40] [ROWS] 9: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:16:40] [ROWS] 10: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:16:40] [ROWS] 11: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:16:40] [ROWS] 12: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:16:40] [ROWS] 13: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:16:40] [ROWS] 14: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:16:40] [ROWS] 15: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:16:40] [ROWS] 16: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:16:40] [ROWS] 17: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:16:40] [ROWS] 18: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:16:40] [ROWS] 19: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:16:40] [ROWS] 20: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:16:40] [ROWS] 21: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:16:40] [ROWS] 22: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:16:40] [ROWS] 23: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:16:40] [ROWS] 24: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:16:40] [ROWS] 25: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:16:40] [ROWS] 26: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:16:40] [ROWS] 27: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:16:40] [ROWS] 28: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:16:40] [ROWS] 29: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:16:40] [ROWS] 30: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:16:40] [ROWS] 31: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:16:40] [ROWS] 32: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:16:40] [ROWS] 33: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:16:40] [ROWS] 34: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:16:40] [ROWS] 35: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:16:40] [ROWS] 36: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:16:40] [ROWS] 37: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:16:40] [ROWS] 38: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:16:40] [ROWS] 39: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:16:40] [ROWS] 40: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:16:40] [ROWS] 41: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:16:40] [ROWS] 42: SEPARATOR
[11:16:40] [ROWS] 43: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:16:40] [ROWS] 44: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:16:40] [ROWS] 45: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:16:40] [ROWS] 46: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:16:40] [ROWS] 47: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:16:40] [ROWS] 48: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:16:40] [ROWS] 49: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:16:40] [ROWS] 50: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:16:40] [ROWS] 51: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:16:40] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:16:40] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:16:40] [HEIGHT_DEBUG] Row 1 msg 1603: isPlayingEvolution=false, textLength=3, text='USA...'
[11:16:40] [HEIGHT] Row 1 msg 1603: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:16:40] [HEIGHT_DEBUG] Row 2 msg 1602: isPlayingEvolution=false, textLength=6, text='Daniel...'
[11:16:40] [HEIGHT] Row 2 msg 1602: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:16:40] [HEIGHT_DEBUG] Row 1 msg 1603: isPlayingEvolution=false, textLength=3, text='USA...'
[11:16:40] [HEIGHT] Row 1 msg 1603: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:16:40] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:16:40] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:16:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:16:40] [HEIGHT_DEBUG] Row 2 msg 1602: isPlayingEvolution=false, textLength=6, text='Daniel...'
[11:16:40] [HEIGHT] Row 2 msg 1602: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:16:40] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:16:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:16:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:16:40] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:16:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:16:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:16:40] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:16:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:16:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:16:40] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:16:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:16:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:16:40] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:16:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:16:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:16:40] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:16:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:16:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:16:40] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:16:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:16:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:16:40] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:16:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:16:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:16:40] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:16:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:16:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:16:40] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:16:40] [INITIAL_LOAD] Loaded 50 messages (first page), displaying 50 for tab 0, hasMore: true
[11:16:40] ReloadData 1
[11:16:40] [PURGE] Deleted 0 unused media files:

[11:16:40] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:16:40] [EVOLUTION] πŸ“­ No unread message IDs provided for evolution playback
[11:16:41] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:16:41] Will get events_php
[11:16:41] [TYPING] πŸ”„ ========== POLL START ==========
[11:16:41] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:16:41] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:16:41] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:16:41] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:16:41] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:16:41] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:16:41] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:16:41] [TYPING] πŸ“₯ Found 0 typing users in response
[11:16:41] [TYPING] πŸ“₯ Updating typing users SET: []
[11:16:41] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:16:41] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:16:41] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:16:41] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:16:41] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:16:41] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:16:41] [TYPING] πŸ”„ ========== POLL END ==========
[11:16:41] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=95
X-Powered-By: PHP/8.4.14
Connection: Keep-Alive
Date: Sun, 16 Nov 2025 10:16:41 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:16:41] Done
[11:16:41] Main
[11:16:43] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:16:43] Will get events_php
[11:16:43] [TYPING] πŸ”„ ========== POLL START ==========
[11:16:43] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:16:43] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:16:43] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:16:43] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:16:43] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:16:43] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:16:43] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:16:43] [TYPING] πŸ“₯ Found 0 typing users in response
[11:16:43] [TYPING] πŸ“₯ Updating typing users SET: []
[11:16:43] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=94
X-Powered-By: PHP/8.4.14
Connection: Keep-Alive
Date: Sun, 16 Nov 2025 10:16:43 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:16:43] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:16:43] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:16:43] Done
[11:16:43] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:16:43] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:16:43] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:16:43] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:16:43] [TYPING] πŸ”„ ========== POLL END ==========
[11:16:43] Main
[11:16:44] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:16:44] [INFO_PAGE] Found 418 messages for session 'ILUIWU2'
[11:16:44] [INFO_PAGE] Total messages in database: 1184
[11:16:45] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:16:45] Will get events_php
[11:16:45] [TYPING] πŸ”„ ========== POLL START ==========
[11:16:45] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:16:45] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:16:45] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:16:45] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:16:45] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:16:45] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:16:45] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:16:45] [TYPING] πŸ“₯ Found 0 typing users in response
[11:16:45] [TYPING] πŸ“₯ Updating typing users SET: []
[11:16:45] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:16:45] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:16:45] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:16:45] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=92
X-Powered-By: PHP/8.4.14
Connection: Keep-Alive
Date: Sun, 16 Nov 2025 10:16:45 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:16:45] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:16:45] Done
[11:16:45] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:16:45] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:16:45] [TYPING] πŸ”„ ========== POLL END ==========
[11:16:45] Main
[11:16:47] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:16:47] Will get events_php
[11:16:47] [TYPING] πŸ”„ ========== POLL START ==========
[11:16:47] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:16:47] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:16:47] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:16:47] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:16:47] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:16:47] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:16:47] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:16:47] [TYPING] πŸ“₯ Found 0 typing users in response
[11:16:47] [TYPING] πŸ“₯ Updating typing users SET: []
[11:16:47] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:16:47] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:16:47] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:16:47] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:16:47] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:16:47] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:16:47] [TYPING] πŸ”„ ========== POLL END ==========
[11:16:47] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=91
X-Powered-By: PHP/8.4.14
Connection: Keep-Alive
Date: Sun, 16 Nov 2025 10:16:47 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:16:47] Done
[11:16:47] Main
[11:16:49] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:16:49] [INFO_PAGE] Found 418 messages for session 'ILUIWU2'
[11:16:49] [INFO_PAGE] Total messages in database: 1184
[11:16:49] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:16:49] Will get events_php
[11:16:49] [TYPING] πŸ”„ ========== POLL START ==========
[11:16:49] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:16:49] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:16:49] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:16:49] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:16:49] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:16:49] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:16:49] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok, "sessionId": ILUIWU2]
[11:16:49] [TYPING] πŸ“₯ Found 0 typing users in response
[11:16:49] [TYPING] πŸ“₯ Updating typing users SET: []
[11:16:49] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:16:49] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:16:49] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:16:49] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:16:49] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:16:49] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:16:49] [TYPING] πŸ”„ ========== POLL END ==========
[11:16:49] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=100
X-Powered-By: PHP/8.4.14
Connection: Keep-Alive
Date: Sun, 16 Nov 2025 10:16:49 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:16:49] Done
[11:16:49] Main
[11:16:51] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:16:51] Will get events_php
[11:16:51] [TYPING] πŸ”„ ========== POLL START ==========
[11:16:51] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:16:51] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:16:51] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:16:51] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:16:51] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:16:51] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:16:51] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok, "sessionId": ILUIWU2]
[11:16:51] [TYPING] πŸ“₯ Found 0 typing users in response
[11:16:51] [TYPING] πŸ“₯ Updating typing users SET: []
[11:16:51] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:16:51] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:16:51] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:16:51] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:16:51] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:16:51] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:16:51] [TYPING] πŸ”„ ========== POLL END ==========
[11:16:51] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=88
X-Powered-By: PHP/8.4.14
Connection: Keep-Alive
Date: Sun, 16 Nov 2025 10:16:51 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:16:51] Done
[11:16:51] Main
[11:16:53] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:16:53] Will get events_php
[11:16:53] [TYPING] πŸ”„ ========== POLL START ==========
[11:16:53] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:16:53] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:16:53] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:16:53] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:16:53] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=87
X-Powered-By: PHP/8.4.14
Connection: Keep-Alive
Date: Sun, 16 Nov 2025 10:16:53 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:16:53] Done
[11:16:53] Main
[11:16:53] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:16:53] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:16:53] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2, "status": ok]
[11:16:53] [TYPING] πŸ“₯ Found 0 typing users in response
[11:16:53] [TYPING] πŸ“₯ Updating typing users SET: []
[11:16:53] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:16:53] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:16:53] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:16:53] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:16:53] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:16:53] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:16:53] [TYPING] πŸ”„ ========== POLL END ==========
[11:16:54] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:16:54] [INFO_PAGE] Found 418 messages for session 'ILUIWU2'
[11:16:54] [INFO_PAGE] Total messages in database: 1184
[11:16:55] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:16:55] Will get events_php
[11:16:55] [TYPING] πŸ”„ ========== POLL START ==========
[11:16:55] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:16:55] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:16:55] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:16:55] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:16:55] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=85
X-Powered-By: PHP/8.4.14
Connection: Keep-Alive
Date: Sun, 16 Nov 2025 10:16:55 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:16:55] Done
[11:16:55] Main
[11:16:55] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:16:55] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:16:55] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok]
[11:16:55] [TYPING] πŸ“₯ Found 0 typing users in response
[11:16:55] [TYPING] πŸ“₯ Updating typing users SET: []
[11:16:55] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:16:55] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:16:55] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:16:55] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:16:55] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:16:55] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:16:55] [TYPING] πŸ”„ ========== POLL END ==========
[11:16:57] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:16:57] Will get events_php
[11:16:57] [TYPING] πŸ”„ ========== POLL START ==========
[11:16:57] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:16:57] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:16:57] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:16:57] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:16:57] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:16:57] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:16:57] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok]
[11:16:57] [TYPING] πŸ“₯ Found 0 typing users in response
[11:16:57] [TYPING] πŸ“₯ Updating typing users SET: []
[11:16:57] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:16:57] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:16:57] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:16:57] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:16:57] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:16:57] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:16:57] [TYPING] πŸ”„ ========== POLL END ==========
[11:16:57] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=84
X-Powered-By: PHP/8.4.14
Connection: Keep-Alive
Date: Sun, 16 Nov 2025 10:16:57 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:16:57] Done
[11:16:57] Main
[11:16:59] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:16:59] [INFO_PAGE] Found 418 messages for session 'ILUIWU2'
[11:16:59] [INFO_PAGE] Total messages in database: 1184
[11:16:59] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:16:59] Will get events_php
[11:16:59] [TYPING] πŸ”„ ========== POLL START ==========
[11:16:59] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:16:59] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:16:59] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:16:59] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:16:59] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:16:59] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:16:59] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok]
[11:16:59] [TYPING] πŸ“₯ Found 0 typing users in response
[11:16:59] [TYPING] πŸ“₯ Updating typing users SET: []
[11:16:59] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:16:59] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:16:59] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:16:59] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:16:59] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:16:59] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:16:59] [TYPING] πŸ”„ ========== POLL END ==========
[11:16:59] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=82
X-Powered-By: PHP/8.4.14
Connection: Keep-Alive
Date: Sun, 16 Nov 2025 10:16:59 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:16:59] Done
[11:16:59] Main
[11:17:01] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:17:01] Will get events_php
[11:17:01] [TYPING] πŸ”„ ========== POLL START ==========
[11:17:01] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:17:01] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:17:01] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:17:01] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:17:01] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:17:01] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:17:01] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:17:01] [TYPING] πŸ“₯ Found 0 typing users in response
[11:17:01] [TYPING] πŸ“₯ Updating typing users SET: []
[11:17:01] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=81
X-Powered-By: PHP/8.4.14
Connection: Keep-Alive
Date: Sun, 16 Nov 2025 10:17:01 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:17:01] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:17:01] Done
[11:17:01] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:17:01] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:17:01] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:17:01] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:17:01] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:17:01] [TYPING] πŸ”„ ========== POLL END ==========
[11:17:01] Main
[11:17:03] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:17:03] Will get events_php
[11:17:03] [TYPING] πŸ”„ ========== POLL START ==========
[11:17:03] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:17:03] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:17:03] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:17:03] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:17:03] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:17:03] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:17:03] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:17:03] [TYPING] πŸ“₯ Found 0 typing users in response
[11:17:03] [TYPING] πŸ“₯ Updating typing users SET: []
[11:17:03] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=80
X-Powered-By: PHP/8.4.14
Connection: Keep-Alive
Date: Sun, 16 Nov 2025 10:17:03 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:17:03] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:17:03] Done
[11:17:03] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:17:03] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:17:03] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:17:03] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:17:03] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:17:03] [TYPING] πŸ”„ ========== POLL END ==========
[11:17:03] Main
[11:17:04] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:17:04] [INFO_PAGE] Found 418 messages for session 'ILUIWU2'
[11:17:04] [INFO_PAGE] Total messages in database: 1184
[11:17:05] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:17:05] Will get events_php
[11:17:05] [TYPING] πŸ”„ ========== POLL START ==========
[11:17:05] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:17:05] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:17:05] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:17:05] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:17:05] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:17:05] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:17:05] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:17:05] [TYPING] πŸ“₯ Found 0 typing users in response
[11:17:05] [TYPING] πŸ“₯ Updating typing users SET: []
[11:17:05] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=78
X-Powered-By: PHP/8.4.14
Connection: Keep-Alive
Date: Sun, 16 Nov 2025 10:17:05 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:17:05] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:17:05] Done
[11:17:05] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:17:05] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:17:05] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:17:05] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:17:05] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:17:05] [TYPING] πŸ”„ ========== POLL END ==========
[11:17:05] Main
[11:17:07] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:17:07] Will get events_php
[11:17:07] [TYPING] πŸ”„ ========== POLL START ==========
[11:17:07] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:17:07] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:17:07] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:17:07] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:17:07] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:17:07] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:17:07] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:17:07] [TYPING] πŸ“₯ Found 0 typing users in response
[11:17:07] [TYPING] πŸ“₯ Updating typing users SET: []
[11:17:07] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:17:07] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:17:07] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:17:07] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:17:07] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:17:07] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:17:07] [TYPING] πŸ”„ ========== POLL END ==========
[11:17:07] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=77
X-Powered-By: PHP/8.4.14
Connection: Keep-Alive
Date: Sun, 16 Nov 2025 10:17:07 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:17:07] Done
[11:17:07] Main
[11:17:09] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:17:09] [INFO_PAGE] Found 418 messages for session 'ILUIWU2'
[11:17:09] [INFO_PAGE] Total messages in database: 1184
[11:17:09] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:17:09] Will get events_php
[11:17:09] [TYPING] πŸ”„ ========== POLL START ==========
[11:17:09] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:17:09] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:17:09] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:17:09] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:17:09] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:17:09] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:17:09] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2, "status": ok]
[11:17:09] [TYPING] πŸ“₯ Found 0 typing users in response
[11:17:09] [TYPING] πŸ“₯ Updating typing users SET: []
[11:17:09] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:17:09] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:17:09] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:17:09] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:17:09] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:17:09] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:17:09] [TYPING] πŸ”„ ========== POLL END ==========
[11:17:09] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=75
X-Powered-By: PHP/8.4.14
Connection: Keep-Alive
Date: Sun, 16 Nov 2025 10:17:09 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:17:09] Done
[11:17:09] Main
[11:17:11] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:17:11] Will get events_php
[11:17:11] [TYPING] πŸ”„ ========== POLL START ==========
[11:17:11] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:17:11] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:17:11] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:17:11] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:17:11] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:17:11] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:17:11] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2, "status": ok]
[11:17:11] [TYPING] πŸ“₯ Found 0 typing users in response
[11:17:11] [TYPING] πŸ“₯ Updating typing users SET: []
[11:17:11] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=74
X-Powered-By: PHP/8.4.14
Connection: Keep-Alive
Date: Sun, 16 Nov 2025 10:17:11 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:17:11] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:17:11] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:17:11] Done
[11:17:11] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:17:11] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:17:11] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:17:11] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:17:11] [TYPING] πŸ”„ ========== POLL END ==========
[11:17:11] Main
[11:17:13] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:17:13] Will get events_php
[11:17:13] [TYPING] πŸ”„ ========== POLL START ==========
[11:17:13] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:17:13] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:17:13] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:17:13] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:17:13] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:17:13] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:17:13] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2, "status": ok]
[11:17:13] [TYPING] πŸ“₯ Found 0 typing users in response
[11:17:13] [TYPING] πŸ“₯ Updating typing users SET: []
[11:17:13] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:17:13] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:17:13] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:17:13] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:17:13] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:17:13] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:17:13] [TYPING] πŸ”„ ========== POLL END ==========
[11:17:13] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=73
X-Powered-By: PHP/8.4.14
Connection: Keep-Alive
Date: Sun, 16 Nov 2025 10:17:13 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:17:13] Done
[11:17:13] Main
[11:17:14] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:17:14] [INFO_PAGE] Found 418 messages for session 'ILUIWU2'
[11:17:14] [INFO_PAGE] Total messages in database: 1184
[11:17:15] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:17:15] Will get events_php
[11:17:15] [TYPING] πŸ”„ ========== POLL START ==========
[11:17:15] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:17:15] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:17:15] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:17:15] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:17:15] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:17:15] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:17:15] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2, "status": ok]
[11:17:15] [TYPING] πŸ“₯ Found 0 typing users in response
[11:17:15] [TYPING] πŸ“₯ Updating typing users SET: []
[11:17:15] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:17:15] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:17:15] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:17:15] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:17:15] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:17:15] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:17:15] [TYPING] πŸ”„ ========== POLL END ==========
[11:17:15] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=71
X-Powered-By: PHP/8.4.14
Connection: Keep-Alive
Date: Sun, 16 Nov 2025 10:17:15 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:17:15] Main
[11:17:15] Done
[11:17:17] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:17:17] Will get events_php
[11:17:17] [TYPING] πŸ”„ ========== POLL START ==========
[11:17:17] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:17:17] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:17:17] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:17:17] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:17:17] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:17:17] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:17:17] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:17:17] [TYPING] πŸ“₯ Found 0 typing users in response
[11:17:17] [TYPING] πŸ“₯ Updating typing users SET: []
[11:17:17] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=70
X-Powered-By: PHP/8.4.14
Connection: Keep-Alive
Date: Sun, 16 Nov 2025 10:17:17 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:17:17] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:17:17] Done
[11:17:17] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:17:17] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:17:17] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:17:17] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:17:17] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:17:17] [TYPING] πŸ”„ ========== POLL END ==========
[11:17:17] Main
[11:17:19] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:17:19] [INFO_PAGE] Found 418 messages for session 'ILUIWU2'
[11:17:19] [INFO_PAGE] Total messages in database: 1184
[11:17:19] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:17:19] Will get events_php
[11:17:19] [TYPING] πŸ”„ ========== POLL START ==========
[11:17:19] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:17:19] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:17:19] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:17:19] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:17:19] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Type: application/json; charset=utf-8
Server: Apache/2.4.65 (Unix) PHP/8.4.14
X-Powered-By: PHP/8.4.14
Connection: Keep-Alive
Content-Length: 56
Date: Sun, 16 Nov 2025 10:17:19 GMT
Keep-Alive: timeout=5, max=68
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:17:19] Done
[11:17:19] Main
[11:17:19] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:17:19] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:17:19] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok]
[11:17:19] [TYPING] πŸ“₯ Found 0 typing users in response
[11:17:19] [TYPING] πŸ“₯ Updating typing users SET: []
[11:17:19] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:17:19] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:17:19] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:17:19] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:17:19] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:17:19] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:17:19] [TYPING] πŸ”„ ========== POLL END ==========
[11:17:21] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:17:21] Will get events_php
[11:17:21] [TYPING] πŸ”„ ========== POLL START ==========
[11:17:21] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:17:21] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:17:21] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:17:21] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:17:21] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Type: application/json; charset=utf-8
Server: Apache/2.4.65 (Unix) PHP/8.4.14
X-Powered-By: PHP/8.4.14
Connection: Keep-Alive
Content-Length: 56
Date: Sun, 16 Nov 2025 10:17:21 GMT
Keep-Alive: timeout=5, max=67
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:17:21] Done
[11:17:21] Main
[11:17:21] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:17:21] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:17:21] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok]
[11:17:21] [TYPING] πŸ“₯ Found 0 typing users in response
[11:17:21] [TYPING] πŸ“₯ Updating typing users SET: []
[11:17:21] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:17:21] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:17:21] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:17:21] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:17:21] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:17:21] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:17:21] [TYPING] πŸ”„ ========== POLL END ==========
[11:17:23] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:17:23] Will get events_php
[11:17:23] [TYPING] πŸ”„ ========== POLL START ==========
[11:17:23] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:17:23] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:17:23] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:17:23] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:17:23] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:17:23] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:17:23] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok]
[11:17:23] [TYPING] πŸ“₯ Found 0 typing users in response
[11:17:23] [TYPING] πŸ“₯ Updating typing users SET: []
[11:17:23] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:17:23] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:17:23] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:17:23] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Type: application/json; charset=utf-8
Server: Apache/2.4.65 (Unix) PHP/8.4.14
X-Powered-By: PHP/8.4.14
Connection: Keep-Alive
Content-Length: 56
Date: Sun, 16 Nov 2025 10:17:23 GMT
Keep-Alive: timeout=5, max=66
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:17:23] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:17:23] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:17:23] Done
[11:17:23] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:17:23] [TYPING] πŸ”„ ========== POLL END ==========
[11:17:23] Main
[11:17:24] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:17:24] [INFO_PAGE] Found 418 messages for session 'ILUIWU2'
[11:17:24] [INFO_PAGE] Total messages in database: 1184
[11:17:25] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:17:25] Will get events_php
[11:17:25] [TYPING] πŸ”„ ========== POLL START ==========
[11:17:25] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:17:25] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:17:25] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:17:25] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:17:25] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Type: application/json; charset=utf-8
Server: Apache/2.4.65 (Unix) PHP/8.4.14
X-Powered-By: PHP/8.4.14
Connection: Keep-Alive
Content-Length: 56
Date: Sun, 16 Nov 2025 10:17:25 GMT
Keep-Alive: timeout=5, max=64
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:17:25] Done
[11:17:25] Main
[11:17:25] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:17:25] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:17:25] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:17:25] [TYPING] πŸ“₯ Found 0 typing users in response
[11:17:25] [TYPING] πŸ“₯ Updating typing users SET: []
[11:17:25] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:17:25] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:17:25] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:17:25] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:17:25] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:17:25] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:17:25] [TYPING] πŸ”„ ========== POLL END ==========
[11:17:27] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:17:27] Will get events_php
[11:17:27] [TYPING] πŸ”„ ========== POLL START ==========
[11:17:27] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:17:27] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:17:27] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:17:27] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:17:27] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:17:27] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:17:27] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:17:27] [TYPING] πŸ“₯ Found 0 typing users in response
[11:17:27] [TYPING] πŸ“₯ Updating typing users SET: []
[11:17:27] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Type: application/json; charset=utf-8
Server: Apache/2.4.65 (Unix) PHP/8.4.14
X-Powered-By: PHP/8.4.14
Connection: Keep-Alive
Content-Length: 56
Date: Sun, 16 Nov 2025 10:17:27 GMT
Keep-Alive: timeout=5, max=63
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:17:27] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:17:27] Done
[11:17:27] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:17:27] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:17:27] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:17:27] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:17:27] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:17:27] [TYPING] πŸ”„ ========== POLL END ==========
[11:17:27] Main
[11:19:11] [CRASH] Previous session did not exit cleanly - crash detected
[11:19:11] [GIPHY] SDK not available - using REST API fallback
[11:19:11] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:19:11] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:19:11] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:19:11] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:19:11] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:19:11] [SCENE] Launched directly to chat view with sessionId: ILUIWU2
[11:19:11] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:19:11] Documents Directory: /var/mobile/Containers/Data/Application/0A5E86F0-B63B-4016-A61A-31F3649811C0/Documents
[11:19:11] [NOTIFICATION] πŸ”” Notification button created and added to topNavBar
[11:19:11] [NOTIFICATION] πŸ”” Button tintColor: grey (0.5, 0.5, 0.5)
[11:19:11] [NOTIFICATION] πŸ”” Button isUserInteractionEnabled: true
[11:19:11] [INFO_PAGE] InformationViewController viewDidLoad called
[11:19:11] [INFO_PAGE] Actions configured (bell button is external)
[11:19:11] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:19:11] [INFO_PAGE] Successfully opened database at /var/mobile/Containers/Data/Application/0A5E86F0-B63B-4016-A61A-31F3649811C0/Documents/chat_local_viewer.db
[11:19:11] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:19:11] [INFO_PAGE] Found 418 messages for session 'ILUIWU2'
[11:19:11] [INFO_PAGE] Total messages in database: 1184
[11:19:11] [INFO_PAGE] InformationViewController setup complete
[11:19:11] [INFO_PAGE] ℹ️ Information page added to tab 3
[11:19:11] [THEME] Applying current theme
[11:19:11] [CHAT] Applied day theme (mode: day)
[11:19:11] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:19:11] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:19:11] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:19:11] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:19:11] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:19:11] [SUMMARY] Already showed summary today (2025-11-16)
[11:19:11] Did transition
[11:19:11] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:19:11] [VIEWER] Screen lock enabled - normal idle behavior
[11:19:11] [QUERY] πŸ” Checking tab - currentTabIndex=0
[11:19:11] [QUERY] πŸ”΅ [TAB 0] No query connection needed
[11:19:11] [QUERY] βœ… [TAB 0] Initialized without query connection
[11:19:11] [LOCATION] Started location updates for distance calculation (already authorized)
[11:19:11] [TAB 0] Skipping reconnect polling - only needed for tab 1
[11:19:11] [VIEWER_INIT] Loading messages with read receipts from server
[11:19:11] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:19:11] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:19:11] [DB]   msg[0] id=1603, isMyMessage=false, readBy.count=0
[11:19:11] [DB]   msg[1] id=1602, isMyMessage=false, readBy.count=0
[11:19:11] [DB]   msg[2] id=1601, isMyMessage=false, readBy.count=0
[11:19:11] [EVOLUTION] πŸ” Found 0 NEW unread messages from local DB before fetching read receipts (lastSeenMessageId=1603): []
[11:19:11] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1603, readBy=[]", "id=1602, readBy=[]", "id=1601, readBy=[]"]
[11:19:11] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:19:11] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:19:11] [DB]   msg[0] id=1603, isMyMessage=false, readBy.count=0
[11:19:11] [DB]   msg[1] id=1602, isMyMessage=false, readBy.count=0
[11:19:11] [DB]   msg[2] id=1601, isMyMessage=false, readBy.count=0
[11:19:11] [EVENT_POLL] Starting periodic event polling for viewer mode (5s interval)
[11:19:11] [ORIENTATION] Updated pagingScrollView height to 247.5 for width 440.0
[11:19:11] [SUMMARY] Already showed summary today (2025-11-16)
[11:19:11] Did transition
[11:19:11] [NOTIFICATION] πŸ”” Constraints activated for notification button
[11:19:11] [NOTIFICATION] πŸ”” topNavBar frame: (0.0, 0.0, 440.0, 50.0)
[11:19:11] [NOTIFICATION] πŸ”” menuButton frame: (0.0, 0.0, 39.0, 30.0)
[11:19:11] [NOTIFICATION] πŸ”” notificationButton frame: (0.0, 0.0, 56.333333333333336, 58.0)
[11:19:11] [NOTIFICATION] πŸ”” Notification button brought to front
[11:19:11] [NOTIFICATION] πŸ”„ Updating icon to: bell.slash.fill (muted=true)
[11:19:11] [NOTIFICATION] βœ… Icon updated successfully
[11:19:11] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[11:19:11] [MIGRATION] No messages need sender_name backfill
[11:19:11] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:19:11] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:19:11] [DB]   msg[0] id=1603, isMyMessage=false, readBy.count=0
[11:19:11] [DB]   msg[1] id=1602, isMyMessage=false, readBy.count=0
[11:19:11] [DB]   msg[2] id=1601, isMyMessage=false, readBy.count=0
[11:19:11] [INFO_PAGE] InformationViewController viewWillAppear - applying theme
[11:19:11] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:19:11] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:19:11] [PAGINATION_SCROLL] offset=-12.0, contentHeight=108.0, distFromBottom=120.0, dragging=false, decel=false, isLoading=false, cooldown=63899057951.537926s
[11:19:11] [PAGINATION_SCROLL] offset=0.0, contentHeight=108.0, distFromBottom=-650.0, dragging=false, decel=false, isLoading=false, cooldown=63899057951.5399s
[11:19:11] [LOCATION] Authorization changed: 4
[11:19:11] [LOCATION] Updated location: 46.50141055166769, 6.722693908883056
[11:19:11] [LOCATION] Updated location: 46.50141055166769, 6.722693908883056
[11:19:11] [NOTIFICATION] πŸ”” FINAL STATE after viewDidLoad:
[11:19:11] [NOTIFICATION] πŸ”” notificationButton.frame: (392.0, 67.0, 40.0, 40.0)
[11:19:11] [NOTIFICATION] πŸ”” notificationButton.isHidden: false
[11:19:11] [NOTIFICATION] πŸ”” notificationButton.alpha: 1.0
[11:19:11] [NOTIFICATION] πŸ”” notificationButton.superview: true
[11:19:11] [NOTIFICATION] πŸ”” topNavBar.isHidden: false
[11:19:11] [NOTIFICATION] πŸ”” topNavBar.subviews.count: 3
[11:19:11] [PUSH] handlePollEventsNotification userInfo: [:]
[11:19:11] [PUSH] No message_id in userInfo
[11:19:11] [PUSH] No operation_type in userInfo
[11:19:11] [PUSH] Performing full refresh to catch up on any missed messages
[11:19:11] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:19:11] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:19:11] [DB]   msg[0] id=1603, isMyMessage=false, readBy.count=0
[11:19:11] [DB]   msg[1] id=1602, isMyMessage=false, readBy.count=0
[11:19:11] [DB]   msg[2] id=1601, isMyMessage=false, readBy.count=0
[11:19:11] [EVOLUTION] πŸ” [FOREGROUND] Found 0 NEW unread messages after refreshAllFromServer (lastSeenMessageId=1603): []
[11:19:11] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:19:11] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:19:11] [DB]   msg[0] id=1603, isMyMessage=false, readBy.count=0
[11:19:11] [DB]   msg[1] id=1602, isMyMessage=false, readBy.count=0
[11:19:11] [DB]   msg[2] id=1601, isMyMessage=false, readBy.count=0
[11:19:11] [PUSH] APNs token: 6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c
[11:19:11] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("session_id"): ILUIWU2, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 1605, AnyHashable("aps"): {
    "content-available" = 1;
}]
[11:19:11] [PUSH] Parsed message_id: 1605
[11:19:11] [PUSH] Parsed operation_type: 3
[11:19:11] [PUSH] Taking direct action: opType=3, messageId=1605
[11:19:11] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=1605
[11:19:11] [PUSH] Device role updated to 'viewer': HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:19:11] [PUSH] Device role updated to 'viewer': HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:19:11] [USER] βœ… User registered successfully
[11:19:11] [USER] User registration successful
[11:19:11] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:19:11] [CHAT] βœ… refreshAllFromServer - parsed 420 messages from server
[11:19:11] [DB] clearDBForSession(ILUIWU2): deleted 418 messages, result=101
[11:19:11] ReloadData 15 (420 messages loaded, 0 pending media)
[11:19:11] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:19:11] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:19:11] [DB]   msg[0] id=1605, isMyMessage=false, readBy.count=0
[11:19:11] [DB]   msg[1] id=1604, isMyMessage=false, readBy.count=0
[11:19:11] [DB]   msg[2] id=1603, isMyMessage=false, readBy.count=0
[11:19:11] [EVOLUTION] πŸ” Found 2 NEW unread messages after refreshAllFromServer (lastSeenMessageId=1603): [1605, 1604]
[11:19:11] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1605, readBy=[]", "id=1604, readBy=[]", "id=1603, readBy=[]"]
[11:19:11] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:19:11] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:19:11] [DB]   msg[0] id=1605, isMyMessage=false, readBy.count=0
[11:19:11] [DB]   msg[1] id=1604, isMyMessage=false, readBy.count=0
[11:19:11] [DB]   msg[2] id=1603, isMyMessage=false, readBy.count=0
[11:19:11] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:19:11] [UNREAD_DEBUG]   FINAL msg[0] id=1603, readBy.count=1
[11:19:11] [UNREAD_DEBUG]   FINAL msg[1] id=1602, readBy.count=1
[11:19:11] [UNREAD_DEBUG]   FINAL msg[2] id=1601, readBy.count=1
[11:19:11] [VIEWER_INIT] Loaded 50 messages with read receipts, hasMore: true
[11:19:11] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:19:11] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:19:11] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:19:11] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:19:11] [ROWS] 0: SEPARATOR
[11:19:11] [ROWS] 1: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:11] [ROWS] 2: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:11] [ROWS] 3: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:19:11] [ROWS] 4: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:11] [ROWS] 5: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:11] [ROWS] 6: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:11] [ROWS] 7: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:11] [ROWS] 8: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:19:11] [ROWS] 9: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:19:11] [ROWS] 10: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:19:11] [ROWS] 11: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:19:11] [ROWS] 12: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:11] [ROWS] 13: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:11] [ROWS] 14: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:11] [ROWS] 15: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:11] [ROWS] 16: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:11] [ROWS] 17: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:11] [ROWS] 18: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:11] [ROWS] 19: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:11] [ROWS] 20: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:11] [ROWS] 21: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:11] [ROWS] 22: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:11] [ROWS] 23: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:11] [ROWS] 24: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:11] [ROWS] 25: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:11] [ROWS] 26: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:19:11] [ROWS] 27: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:11] [ROWS] 28: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:11] [ROWS] 29: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:19:11] [ROWS] 30: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:11] [ROWS] 31: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:11] [ROWS] 32: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:11] [ROWS] 33: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:19:11] [ROWS] 34: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:19:11] [ROWS] 35: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:19:11] [ROWS] 36: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:11] [ROWS] 37: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:11] [ROWS] 38: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:11] [ROWS] 39: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:11] [ROWS] 40: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:11] [ROWS] 41: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:11] [ROWS] 42: SEPARATOR
[11:19:11] [ROWS] 43: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:19:11] [ROWS] 44: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:11] [ROWS] 45: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:19:11] [ROWS] 46: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:19:11] [ROWS] 47: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:19:11] [ROWS] 48: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:19:11] [ROWS] 49: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:11] [ROWS] 50: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:11] [ROWS] 51: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:11] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:19:11] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:19:11] [HEIGHT_DEBUG] Row 1 msg 1603: isPlayingEvolution=false, textLength=3, text='USA...'
[11:19:11] [EMOJI] βœ… Loaded 451 emoji-to-GIF mappings
[11:19:11] [HEIGHT] Row 1 msg 1603: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:19:11] [HEIGHT_DEBUG] Row 2 msg 1602: isPlayingEvolution=false, textLength=6, text='Daniel...'
[11:19:11] [HEIGHT] Row 2 msg 1602: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:19:11] [HEIGHT_DEBUG] Row 1 msg 1603: isPlayingEvolution=false, textLength=3, text='USA...'
[11:19:11] [HEIGHT] Row 1 msg 1603: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:19:11] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:19:11] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:19:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:11] [HEIGHT_DEBUG] Row 2 msg 1602: isPlayingEvolution=false, textLength=6, text='Daniel...'
[11:19:11] [HEIGHT] Row 2 msg 1602: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:19:11] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:11] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:11] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:11] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:11] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:11] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:11] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:11] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:11] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:11] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:19:11] ReloadData 18 (viewer init with read receipts)
[11:19:11] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:19:11] [UNREAD_DEBUG]   FINAL msg[0] id=1603, readBy.count=1
[11:19:11] [UNREAD_DEBUG]   FINAL msg[1] id=1602, readBy.count=1
[11:19:11] [UNREAD_DEBUG]   FINAL msg[2] id=1601, readBy.count=1
[11:19:11] [FOREGROUND_REFRESH] Loaded 50 messages
[11:19:11] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:19:11] [UNREAD_DEBUG]   FINAL msg[0] id=1603, readBy.count=1
[11:19:11] [UNREAD_DEBUG]   FINAL msg[1] id=1602, readBy.count=1
[11:19:11] [UNREAD_DEBUG]   FINAL msg[2] id=1601, readBy.count=1
[11:19:11] [EVOLUTION] πŸ“­ No unread message IDs provided for evolution playback
[11:19:11] [EVOLUTION] πŸ“­ No unread message IDs provided for evolution playback
[11:19:11] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:19:11] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:19:11] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:19:11] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:19:11] [ROWS] 0: SEPARATOR
[11:19:11] [ROWS] 1: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:11] [ROWS] 2: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:11] [ROWS] 3: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:19:11] [ROWS] 4: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:11] [ROWS] 5: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:11] [ROWS] 6: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:11] [ROWS] 7: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:11] [ROWS] 8: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:19:11] [ROWS] 9: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:19:11] [ROWS] 10: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:19:11] [ROWS] 11: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:19:11] [ROWS] 12: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:11] [ROWS] 13: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:11] [ROWS] 14: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:11] [ROWS] 15: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:11] [ROWS] 16: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:11] [ROWS] 17: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:11] [ROWS] 18: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:11] [ROWS] 19: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:11] [ROWS] 20: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:11] [ROWS] 21: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:11] [ROWS] 22: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:11] [ROWS] 23: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:11] [ROWS] 24: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:11] [ROWS] 25: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:11] [ROWS] 26: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:19:11] [ROWS] 27: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:11] [ROWS] 28: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:11] [ROWS] 29: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:19:11] [ROWS] 30: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:11] [ROWS] 31: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:11] [ROWS] 32: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:11] [ROWS] 33: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:19:11] [ROWS] 34: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:19:11] [ROWS] 35: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:19:11] [ROWS] 36: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:11] [ROWS] 37: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:11] [ROWS] 38: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:11] [ROWS] 39: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:11] [ROWS] 40: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:11] [ROWS] 41: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:11] [ROWS] 42: SEPARATOR
[11:19:11] [ROWS] 43: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:19:11] [ROWS] 44: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:11] [ROWS] 45: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:19:11] [ROWS] 46: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:19:11] [ROWS] 47: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:19:11] [ROWS] 48: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:19:11] [ROWS] 49: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:11] [ROWS] 50: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:11] [ROWS] 51: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:11] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:19:11] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:19:11] [HEIGHT_DEBUG] Row 1 msg 1603: isPlayingEvolution=false, textLength=3, text='USA...'
[11:19:11] [HEIGHT] Row 1 msg 1603: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:19:11] [HEIGHT_DEBUG] Row 2 msg 1602: isPlayingEvolution=false, textLength=6, text='Daniel...'
[11:19:11] [HEIGHT] Row 2 msg 1602: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:19:11] [HEIGHT_DEBUG] Row 1 msg 1603: isPlayingEvolution=false, textLength=3, text='USA...'
[11:19:11] [HEIGHT] Row 1 msg 1603: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:19:11] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:19:11] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:19:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:11] [HEIGHT_DEBUG] Row 2 msg 1602: isPlayingEvolution=false, textLength=6, text='Daniel...'
[11:19:11] [HEIGHT] Row 2 msg 1602: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:19:11] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:11] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:11] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:11] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:11] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:11] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:11] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:11] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:11] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:11] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:19:11] [INIT_PAGINATION] Loaded 50 total messages, displaying 50 for tab 0
[11:19:12] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:19:12] [UNREAD_DEBUG]   FINAL msg[0] id=1605, readBy.count=0
[11:19:12] [UNREAD_DEBUG]   FINAL msg[1] id=1604, readBy.count=0
[11:19:12] [UNREAD_DEBUG]   FINAL msg[2] id=1603, readBy.count=1
[11:19:12] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:19:12] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:19:12] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:19:12] [EVOLUTION] πŸ“ Updated lastSeenMessageId: 1603 β†’ 1605
[11:19:12] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:19:12] [ROWS] 0: SEPARATOR
[11:19:12] [ROWS] 1: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:12] [ROWS] 2: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:12] [ROWS] 3: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:12] [ROWS] 4: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:12] [ROWS] 5: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:19:12] [ROWS] 6: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:12] [ROWS] 7: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:12] [ROWS] 8: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:12] [ROWS] 9: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:12] [ROWS] 10: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:19:12] [ROWS] 11: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:19:12] [ROWS] 12: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:19:12] [ROWS] 13: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:19:12] [ROWS] 14: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:12] [ROWS] 15: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:12] [ROWS] 16: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:12] [ROWS] 17: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 18: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:12] [ROWS] 19: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:12] [ROWS] 20: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:12] [ROWS] 21: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:12] [ROWS] 22: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:12] [ROWS] 23: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:12] [ROWS] 24: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:12] [ROWS] 25: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:12] [ROWS] 26: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:12] [ROWS] 27: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:12] [ROWS] 28: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:19:12] [ROWS] 29: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:12] [ROWS] 30: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:12] [ROWS] 31: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:19:12] [ROWS] 32: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:12] [ROWS] 33: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:12] [ROWS] 34: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 35: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:19:12] [ROWS] 36: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:19:12] [ROWS] 37: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:19:12] [ROWS] 38: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 39: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 40: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 41: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 42: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 43: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 44: SEPARATOR
[11:19:12] [ROWS] 45: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:19:12] [ROWS] 46: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:12] [ROWS] 47: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:19:12] [ROWS] 48: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:19:12] [ROWS] 49: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:19:12] [ROWS] 50: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:19:12] [ROWS] 51: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:12] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:19:12] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:19:12] [HEIGHT_DEBUG] Row 1 msg 1605: isPlayingEvolution=false, textLength=7, text='Cutugno...'
[11:19:12] [HEIGHT] Row 1 msg 1605: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:19:12] [HEIGHT_DEBUG] Row 2 msg 1604: isPlayingEvolution=false, textLength=4, text='Toto...'
[11:19:12] [HEIGHT] Row 2 msg 1604: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:19:12] [HEIGHT_DEBUG] Row 1 msg 1605: isPlayingEvolution=false, textLength=7, text='Cutugno...'
[11:19:12] [HEIGHT] Row 1 msg 1605: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:19:12] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:19:12] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [HEIGHT_DEBUG] Row 2 msg 1604: isPlayingEvolution=false, textLength=4, text='Toto...'
[11:19:12] [HEIGHT] Row 2 msg 1604: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:19:12] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:19:12] [INITIAL_LOAD] Loaded 50 messages (first page), displaying 50 for tab 0, hasMore: true
[11:19:12] ReloadData 1
[11:19:12] [PURGE] Deleted 0 unused media files:

[11:19:12] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:19:12] [EVOLUTION] πŸ“¬ Preparing 2 unread message(s) for evolution playback: [1605, 1604]
[11:19:12] [EVOLUTION] 🎬 Preparing message 1604 for evolution playback (app launch)
[11:19:12] [EVOLUTION] 🎬 Preparing message 1605 for evolution playback (app launch)
[11:19:12] [EVOLUTION] πŸ” Reloading table for evolution - chatMessages.count=50
[11:19:12] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:19:12] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:19:12] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:19:12] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:19:12] [ROWS] 0: SEPARATOR
[11:19:12] [ROWS] 1: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=7
[11:19:12] [ROWS] 2: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=4
[11:19:12] [ROWS] 3: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:12] [ROWS] 4: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:12] [ROWS] 5: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:19:12] [ROWS] 6: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:12] [ROWS] 7: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:12] [ROWS] 8: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:12] [ROWS] 9: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:12] [ROWS] 10: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:19:12] [ROWS] 11: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:19:12] [ROWS] 12: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:19:12] [ROWS] 13: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:19:12] [ROWS] 14: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:12] [ROWS] 15: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:12] [ROWS] 16: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:12] [ROWS] 17: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 18: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:12] [ROWS] 19: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:12] [ROWS] 20: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:12] [ROWS] 21: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:12] [ROWS] 22: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:12] [ROWS] 23: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:12] [ROWS] 24: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:12] [ROWS] 25: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:12] [ROWS] 26: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:12] [ROWS] 27: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:12] [ROWS] 28: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:19:12] [ROWS] 29: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:12] [ROWS] 30: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:12] [ROWS] 31: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:19:12] [ROWS] 32: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:12] [ROWS] 33: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:12] [ROWS] 34: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 35: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:19:12] [ROWS] 36: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:19:12] [ROWS] 37: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:19:12] [ROWS] 38: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 39: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 40: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 41: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 42: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 43: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 44: SEPARATOR
[11:19:12] [ROWS] 45: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:19:12] [ROWS] 46: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:12] [ROWS] 47: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:19:12] [ROWS] 48: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:19:12] [ROWS] 49: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:19:12] [ROWS] 50: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:19:12] [ROWS] 51: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:12] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:19:12] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:19:12] [HEIGHT_DEBUG] Row 1 msg 1605: isPlayingEvolution=true, textLength=0, text='...'
[11:19:12] [HEIGHT] Row 1 msg 1605: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:19:12] [HEIGHT_DEBUG] Row 2 msg 1604: isPlayingEvolution=true, textLength=0, text='...'
[11:19:12] [HEIGHT] Row 2 msg 1604: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:19:12] [HEIGHT_DEBUG] Row 1 msg 1605: isPlayingEvolution=true, textLength=0, text='...'
[11:19:12] [HEIGHT] Row 1 msg 1605: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:19:12] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:19:12] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:19:12] [HEIGHT_DEBUG] Row 2 msg 1604: isPlayingEvolution=true, textLength=0, text='...'
[11:19:12] [HEIGHT] Row 2 msg 1604: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:19:12] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=41.333333333333336 bubbleBottom=45.333333333333336 cellHeight=71.0 remainingSpace=25.666666666666664
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:19:12] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:19:12] [EVOLUTION] πŸ“ Queued 2 messages for sequential playback: [1604, 1605]
[11:19:12] [EVOLUTION] 🎬 Starting sequential playback of queued messages
[11:19:12] [EVOLUTION] ▢️ Playing next queued message 1604 - 1 remaining in queue
[11:19:12] [EVOLUTION] πŸ“‘ Fetching evolution data for message 1604
[11:19:12] [EVOLUTION] πŸ” Raw response (240 bytes): {"ok":true,"has_evolution":true,"message_id":1604,"evolution":{"events":[{"t":0,"op":"i","p":0,"c":"T"},{"c":"o","t":165,"p":1,"op":"i"},{"p":2,"c":"t","op":"i","t":231},{"t":346,"op":"i","p":3,"c":"o
[11:19:12] [EVOLUTION] πŸ” Parsed JSON keys: ["created_at", "evolution", "has_evolution", "message_id", "ok"]
[11:19:12] [EVOLUTION] πŸ” has_evolution: 1
[11:19:12] [EVOLUTION] βœ… Got 4 events for message 1604
[11:19:12] [OVERLAP_FIX] πŸš€ Starting evolution - forcing initial height recalculation
[11:19:12] [UPDATE] πŸ”„ updateMessageCell(for: 1604) β€” full safe reload
[11:19:12] [ROWS] ===== updateMessageCell for 1604 β€” chatRows.count=52 =====
[11:19:12] [ROWS] 0: SEPARATOR
[11:19:12] [ROWS] 1: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=7
[11:19:12] [ROWS] 2: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=4
[11:19:12] [ROWS] 3: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:12] [ROWS] 4: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:12] [ROWS] 5: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:19:12] [ROWS] 6: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:12] [ROWS] 7: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:12] [ROWS] 8: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:12] [ROWS] 9: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:12] [ROWS] 10: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:19:12] [ROWS] 11: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:19:12] [ROWS] 12: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:19:12] [ROWS] 13: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:19:12] [ROWS] 14: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:12] [ROWS] 15: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:12] [ROWS] 16: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:12] [ROWS] 17: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 18: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:12] [ROWS] 19: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:12] [ROWS] 20: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:12] [ROWS] 21: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:12] [ROWS] 22: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:12] [ROWS] 23: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:12] [ROWS] 24: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:12] [ROWS] 25: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:12] [ROWS] 26: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:12] [ROWS] 27: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:12] [ROWS] 28: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:19:12] [ROWS] 29: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:12] [ROWS] 30: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:12] [ROWS] 31: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:19:12] [ROWS] 32: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:12] [ROWS] 33: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:12] [ROWS] 34: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 35: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:19:12] [ROWS] 36: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:19:12] [ROWS] 37: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:19:12] [ROWS] 38: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 39: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 40: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 41: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 42: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 43: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 44: SEPARATOR
[11:19:12] [ROWS] 45: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:19:12] [ROWS] 46: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:12] [ROWS] 47: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:19:12] [ROWS] 48: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:19:12] [ROWS] 49: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:19:12] [ROWS] 50: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:19:12] [ROWS] 51: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:12] [ROWS] ===== END (updateMessageCell for 1604) =====
[11:19:12] [HEIGHT_DEBUG] Row 1 msg 1605: isPlayingEvolution=true, textLength=0, text='...'
[11:19:12] [HEIGHT] Row 1 msg 1605: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:19:12] [HEIGHT_DEBUG] Row 2 msg 1604: isPlayingEvolution=true, textLength=0, text='...'
[11:19:12] [HEIGHT] Row 2 msg 1604: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:19:12] [HEIGHT_DEBUG] Row 1 msg 1605: isPlayingEvolution=true, textLength=0, text='...'
[11:19:12] [HEIGHT] Row 1 msg 1605: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:19:12] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:19:12] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:19:12] [HEIGHT_DEBUG] Row 2 msg 1604: isPlayingEvolution=true, textLength=0, text='...'
[11:19:12] [HEIGHT] Row 2 msg 1604: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:19:12] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=41.333333333333336 bubbleBottom=45.333333333333336 cellHeight=71.0 remainingSpace=25.666666666666664
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:19:12] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [EVOLUTION] ▢️ Starting inline playback for message 1604 with 4 events
[11:19:12] [EVOLUTION] πŸ“ Event 0/4 - Text now: "T..."
[11:19:12] [UPDATE] πŸ”„ updateMessageCell(for: 1604) β€” full safe reload
[11:19:12] [ROWS] ===== updateMessageCell for 1604 β€” chatRows.count=52 =====
[11:19:12] [ROWS] 0: SEPARATOR
[11:19:12] [ROWS] 1: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=7
[11:19:12] [ROWS] 2: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=1 textLen=4
[11:19:12] [ROWS] 3: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:12] [ROWS] 4: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:12] [ROWS] 5: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:19:12] [ROWS] 6: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:12] [ROWS] 7: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:12] [ROWS] 8: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:12] [ROWS] 9: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:12] [ROWS] 10: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:19:12] [ROWS] 11: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:19:12] [ROWS] 12: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:19:12] [ROWS] 13: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:19:12] [ROWS] 14: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:12] [ROWS] 15: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:12] [ROWS] 16: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:12] [ROWS] 17: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 18: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:12] [ROWS] 19: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:12] [ROWS] 20: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:12] [ROWS] 21: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:12] [ROWS] 22: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:12] [ROWS] 23: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:12] [ROWS] 24: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:12] [ROWS] 25: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:12] [ROWS] 26: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:12] [ROWS] 27: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:12] [ROWS] 28: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:19:12] [ROWS] 29: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:12] [ROWS] 30: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:12] [ROWS] 31: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:19:12] [ROWS] 32: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:12] [ROWS] 33: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:12] [ROWS] 34: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 35: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:19:12] [ROWS] 36: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:19:12] [ROWS] 37: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:19:12] [ROWS] 38: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 39: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 40: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 41: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 42: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 43: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 44: SEPARATOR
[11:19:12] [ROWS] 45: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:19:12] [ROWS] 46: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:12] [ROWS] 47: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:19:12] [ROWS] 48: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:19:12] [ROWS] 49: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:19:12] [ROWS] 50: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:19:12] [ROWS] 51: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:12] [ROWS] ===== END (updateMessageCell for 1604) =====
[11:19:12] [HEIGHT_DEBUG] Row 1 msg 1605: isPlayingEvolution=true, textLength=0, text='...'
[11:19:12] [HEIGHT] Row 1 msg 1605: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:19:12] [HEIGHT_DEBUG] Row 2 msg 1604: isPlayingEvolution=true, textLength=1, text='T...'
[11:19:12] [HEIGHT] Row 2 msg 1604: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:19:12] [HEIGHT_DEBUG] Row 1 msg 1605: isPlayingEvolution=true, textLength=0, text='...'
[11:19:12] [HEIGHT] Row 1 msg 1605: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:19:12] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:19:12] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:19:12] [HEIGHT_DEBUG] Row 2 msg 1604: isPlayingEvolution=true, textLength=1, text='T...'
[11:19:12] [HEIGHT] Row 2 msg 1604: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:19:12] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [EVOLUTION] πŸ“ Event 1/4 - Text now: "To..."
[11:19:12] [UPDATE] πŸ”„ updateMessageCell(for: 1604) β€” full safe reload
[11:19:12] [ROWS] ===== updateMessageCell for 1604 β€” chatRows.count=52 =====
[11:19:12] [ROWS] 0: SEPARATOR
[11:19:12] [ROWS] 1: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=7
[11:19:12] [ROWS] 2: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=2 textLen=4
[11:19:12] [ROWS] 3: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:12] [ROWS] 4: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:12] [ROWS] 5: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:19:12] [ROWS] 6: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:12] [ROWS] 7: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:12] [ROWS] 8: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:12] [ROWS] 9: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:12] [ROWS] 10: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:19:12] [ROWS] 11: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:19:12] [ROWS] 12: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:19:12] [ROWS] 13: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:19:12] [ROWS] 14: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:12] [ROWS] 15: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:12] [ROWS] 16: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:12] [ROWS] 17: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 18: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:12] [ROWS] 19: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:12] [ROWS] 20: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:12] [ROWS] 21: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:12] [ROWS] 22: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:12] [ROWS] 23: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:12] [ROWS] 24: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:12] [ROWS] 25: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:12] [ROWS] 26: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:12] [ROWS] 27: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:12] [ROWS] 28: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:19:12] [ROWS] 29: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:12] [ROWS] 30: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:12] [ROWS] 31: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:19:12] [ROWS] 32: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:12] [ROWS] 33: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:12] [ROWS] 34: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 35: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:19:12] [ROWS] 36: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:19:12] [ROWS] 37: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:19:12] [ROWS] 38: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 39: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 40: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 41: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 42: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 43: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 44: SEPARATOR
[11:19:12] [ROWS] 45: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:19:12] [ROWS] 46: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:12] [ROWS] 47: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:19:12] [ROWS] 48: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:19:12] [ROWS] 49: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:19:12] [ROWS] 50: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:19:12] [ROWS] 51: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:12] [ROWS] ===== END (updateMessageCell for 1604) =====
[11:19:12] [HEIGHT_DEBUG] Row 1 msg 1605: isPlayingEvolution=true, textLength=0, text='...'
[11:19:12] [HEIGHT] Row 1 msg 1605: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:19:12] [HEIGHT_DEBUG] Row 2 msg 1604: isPlayingEvolution=true, textLength=2, text='To...'
[11:19:12] [HEIGHT] Row 2 msg 1604: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:19:12] [HEIGHT_DEBUG] Row 1 msg 1605: isPlayingEvolution=true, textLength=0, text='...'
[11:19:12] [HEIGHT] Row 1 msg 1605: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:19:12] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:19:12] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:19:12] [HEIGHT_DEBUG] Row 2 msg 1604: isPlayingEvolution=true, textLength=2, text='To...'
[11:19:12] [HEIGHT] Row 2 msg 1604: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:19:12] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [EVOLUTION] πŸ“ Event 2/4 - Text now: "Tot..."
[11:19:12] [UPDATE] πŸ”„ updateMessageCell(for: 1604) β€” full safe reload
[11:19:12] [ROWS] ===== updateMessageCell for 1604 β€” chatRows.count=52 =====
[11:19:12] [ROWS] 0: SEPARATOR
[11:19:12] [ROWS] 1: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=7
[11:19:12] [ROWS] 2: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=3 textLen=4
[11:19:12] [ROWS] 3: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:12] [ROWS] 4: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:12] [ROWS] 5: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:19:12] [ROWS] 6: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:12] [ROWS] 7: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:12] [ROWS] 8: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:12] [ROWS] 9: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:12] [ROWS] 10: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:19:12] [ROWS] 11: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:19:12] [ROWS] 12: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:19:12] [ROWS] 13: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:19:12] [ROWS] 14: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:12] [ROWS] 15: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:12] [ROWS] 16: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:12] [ROWS] 17: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 18: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:12] [ROWS] 19: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:12] [ROWS] 20: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:12] [ROWS] 21: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:12] [ROWS] 22: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:12] [ROWS] 23: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:12] [ROWS] 24: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:12] [ROWS] 25: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:12] [ROWS] 26: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:12] [ROWS] 27: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:12] [ROWS] 28: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:19:12] [ROWS] 29: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:12] [ROWS] 30: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:12] [ROWS] 31: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:19:12] [ROWS] 32: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:12] [ROWS] 33: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:12] [ROWS] 34: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 35: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:19:12] [ROWS] 36: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:19:12] [ROWS] 37: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:19:12] [ROWS] 38: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 39: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 40: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 41: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 42: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 43: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 44: SEPARATOR
[11:19:12] [ROWS] 45: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:19:12] [ROWS] 46: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:12] [ROWS] 47: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:19:12] [ROWS] 48: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:19:12] [ROWS] 49: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:19:12] [ROWS] 50: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:19:12] [ROWS] 51: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:12] [ROWS] ===== END (updateMessageCell for 1604) =====
[11:19:12] [HEIGHT_DEBUG] Row 1 msg 1605: isPlayingEvolution=true, textLength=0, text='...'
[11:19:12] [HEIGHT] Row 1 msg 1605: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:19:12] [HEIGHT_DEBUG] Row 2 msg 1604: isPlayingEvolution=true, textLength=3, text='Tot...'
[11:19:12] [HEIGHT] Row 2 msg 1604: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:19:12] [HEIGHT_DEBUG] Row 1 msg 1605: isPlayingEvolution=true, textLength=0, text='...'
[11:19:12] [HEIGHT] Row 1 msg 1605: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:19:12] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:19:12] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:19:12] [HEIGHT_DEBUG] Row 2 msg 1604: isPlayingEvolution=true, textLength=3, text='Tot...'
[11:19:12] [HEIGHT] Row 2 msg 1604: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:19:12] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 1604, AnyHashable("session_id"): ILUIWU2]
[11:19:12] [PUSH] Parsed message_id: 1604
[11:19:12] [PUSH] Parsed operation_type: 3
[11:19:12] [PUSH] Taking direct action: opType=3, messageId=1604
[11:19:12] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=1604
[11:19:12] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("session_id"): ILUIWU2, AnyHashable("operation_type"): 3, AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("message_id"): 1605]
[11:19:12] [PUSH] Parsed message_id: 1605
[11:19:12] [PUSH] Parsed operation_type: 3
[11:19:12] [PUSH] Taking direct action: opType=3, messageId=1605
[11:19:12] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=1605
[11:19:12] [EVOLUTION] πŸ“ Event 3/4 - Text now: "Toto..."
[11:19:12] [UPDATE] πŸ”„ updateMessageCell(for: 1604) β€” full safe reload
[11:19:12] [ROWS] ===== updateMessageCell for 1604 β€” chatRows.count=52 =====
[11:19:12] [ROWS] 0: SEPARATOR
[11:19:12] [ROWS] 1: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=7
[11:19:12] [ROWS] 2: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=4 textLen=4
[11:19:12] [ROWS] 3: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:12] [ROWS] 4: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:12] [ROWS] 5: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:19:12] [ROWS] 6: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:12] [ROWS] 7: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:12] [ROWS] 8: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:12] [ROWS] 9: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:12] [ROWS] 10: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:19:12] [ROWS] 11: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:19:12] [ROWS] 12: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:19:12] [ROWS] 13: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:19:12] [ROWS] 14: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:12] [ROWS] 15: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:12] [ROWS] 16: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:12] [ROWS] 17: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 18: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:12] [ROWS] 19: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:12] [ROWS] 20: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:12] [ROWS] 21: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:12] [ROWS] 22: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:12] [ROWS] 23: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:12] [ROWS] 24: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:12] [ROWS] 25: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:12] [ROWS] 26: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:12] [ROWS] 27: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:12] [ROWS] 28: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:19:12] [ROWS] 29: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:12] [ROWS] 30: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:12] [ROWS] 31: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:19:12] [ROWS] 32: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:12] [ROWS] 33: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:12] [ROWS] 34: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 35: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:19:12] [ROWS] 36: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:19:12] [ROWS] 37: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:19:12] [ROWS] 38: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 39: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 40: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 41: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 42: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 43: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 44: SEPARATOR
[11:19:12] [ROWS] 45: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:19:12] [ROWS] 46: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:12] [ROWS] 47: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:19:12] [ROWS] 48: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:19:12] [ROWS] 49: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:19:12] [ROWS] 50: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:19:12] [ROWS] 51: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:12] [ROWS] ===== END (updateMessageCell for 1604) =====
[11:19:12] [HEIGHT_DEBUG] Row 1 msg 1605: isPlayingEvolution=true, textLength=0, text='...'
[11:19:12] [HEIGHT] Row 1 msg 1605: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:19:12] [HEIGHT_DEBUG] Row 2 msg 1604: isPlayingEvolution=true, textLength=4, text='Toto...'
[11:19:12] [HEIGHT] Row 2 msg 1604: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:19:12] [HEIGHT_DEBUG] Row 1 msg 1605: isPlayingEvolution=true, textLength=0, text='...'
[11:19:12] [HEIGHT] Row 1 msg 1605: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:19:12] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:19:12] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:19:12] [HEIGHT_DEBUG] Row 2 msg 1604: isPlayingEvolution=true, textLength=4, text='Toto...'
[11:19:12] [HEIGHT] Row 2 msg 1604: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:19:12] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [EVOLUTION] βœ… Finished playback for message 1604
[11:19:12] [UPDATE] πŸ”„ updateMessageCell(for: 1604) β€” full safe reload
[11:19:12] [ROWS] ===== updateMessageCell for 1604 β€” chatRows.count=52 =====
[11:19:12] [ROWS] 0: SEPARATOR
[11:19:12] [ROWS] 1: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=7
[11:19:12] [ROWS] 2: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=4 textLen=4
[11:19:12] [ROWS] 3: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:12] [ROWS] 4: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:12] [ROWS] 5: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:19:12] [ROWS] 6: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:12] [ROWS] 7: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:12] [ROWS] 8: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:12] [ROWS] 9: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:12] [ROWS] 10: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:19:12] [ROWS] 11: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:19:12] [ROWS] 12: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:19:12] [ROWS] 13: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:19:12] [ROWS] 14: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:12] [ROWS] 15: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:12] [ROWS] 16: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:12] [ROWS] 17: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 18: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:12] [ROWS] 19: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:12] [ROWS] 20: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:12] [ROWS] 21: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:12] [ROWS] 22: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:12] [ROWS] 23: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:12] [ROWS] 24: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:12] [ROWS] 25: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:12] [ROWS] 26: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:12] [ROWS] 27: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:12] [ROWS] 28: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:19:12] [ROWS] 29: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:12] [ROWS] 30: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:12] [ROWS] 31: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:19:12] [ROWS] 32: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:12] [ROWS] 33: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:12] [ROWS] 34: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 35: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:19:12] [ROWS] 36: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:19:12] [ROWS] 37: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:19:12] [ROWS] 38: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 39: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 40: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 41: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 42: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 43: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:12] [ROWS] 44: SEPARATOR
[11:19:12] [ROWS] 45: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:19:12] [ROWS] 46: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:12] [ROWS] 47: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:19:12] [ROWS] 48: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:19:12] [ROWS] 49: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:19:12] [ROWS] 50: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:19:12] [ROWS] 51: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:12] [ROWS] ===== END (updateMessageCell for 1604) =====
[11:19:12] [HEIGHT_DEBUG] Row 1 msg 1605: isPlayingEvolution=true, textLength=0, text='...'
[11:19:12] [HEIGHT] Row 1 msg 1605: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:19:12] [HEIGHT_DEBUG] Row 2 msg 1604: isPlayingEvolution=false, textLength=4, text='Toto...'
[11:19:12] [HEIGHT] Row 2 msg 1604: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:19:12] [HEIGHT_DEBUG] Row 1 msg 1605: isPlayingEvolution=true, textLength=0, text='...'
[11:19:12] [HEIGHT] Row 1 msg 1605: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:19:12] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:19:12] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:19:12] [HEIGHT_DEBUG] Row 2 msg 1604: isPlayingEvolution=false, textLength=4, text='Toto...'
[11:19:12] [HEIGHT] Row 2 msg 1604: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:19:12] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:12] [EVOLUTION] 🎬 Current message finished, playing next in queue after 0.5s delay
[11:19:13] [EVOLUTION] ▢️ Playing next queued message 1605 - 0 remaining in queue
[11:19:13] [EVOLUTION] πŸ“‘ Fetching evolution data for message 1605
[11:19:13] [EVOLUTION] πŸ” Raw response (341 bytes): {"ok":true,"has_evolution":true,"message_id":1605,"evolution":{"events":[{"op":"i","t":0,"p":0,"c":"C"},{"op":"i","t":357,"p":1,"c":"u"},{"t":535,"p":2,"op":"i","c":"t"},{"op":"i","c":"u","t":650,"p":
[11:19:13] [EVOLUTION] πŸ” Parsed JSON keys: ["created_at", "evolution", "has_evolution", "message_id", "ok"]
[11:19:13] [EVOLUTION] πŸ” has_evolution: 1
[11:19:13] [EVOLUTION] βœ… Got 7 events for message 1605
[11:19:13] [OVERLAP_FIX] πŸš€ Starting evolution - forcing initial height recalculation
[11:19:13] [UPDATE] πŸ”„ updateMessageCell(for: 1605) β€” full safe reload
[11:19:13] [ROWS] ===== updateMessageCell for 1605 β€” chatRows.count=52 =====
[11:19:13] [ROWS] 0: SEPARATOR
[11:19:13] [ROWS] 1: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=7
[11:19:13] [ROWS] 2: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=4 textLen=4
[11:19:13] [ROWS] 3: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:13] [ROWS] 4: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:13] [ROWS] 5: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:19:13] [ROWS] 6: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:13] [ROWS] 7: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:13] [ROWS] 8: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:13] [ROWS] 9: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:13] [ROWS] 10: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:19:13] [ROWS] 11: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:19:13] [ROWS] 12: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:19:13] [ROWS] 13: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:19:13] [ROWS] 14: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:13] [ROWS] 15: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:13] [ROWS] 16: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:13] [ROWS] 17: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:13] [ROWS] 18: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:13] [ROWS] 19: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:13] [ROWS] 20: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:13] [ROWS] 21: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:13] [ROWS] 22: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:13] [ROWS] 23: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:13] [ROWS] 24: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:13] [ROWS] 25: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:13] [ROWS] 26: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:13] [ROWS] 27: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:13] [ROWS] 28: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:19:13] [ROWS] 29: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:13] [ROWS] 30: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:13] [ROWS] 31: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:19:13] [ROWS] 32: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:13] [ROWS] 33: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:13] [ROWS] 34: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:13] [ROWS] 35: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:19:13] [ROWS] 36: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:19:13] [ROWS] 37: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:19:13] [ROWS] 38: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:13] [ROWS] 39: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:13] [ROWS] 40: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:13] [ROWS] 41: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:13] [ROWS] 42: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:13] [ROWS] 43: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:13] [ROWS] 44: SEPARATOR
[11:19:13] [ROWS] 45: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:19:13] [ROWS] 46: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:13] [ROWS] 47: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:19:13] [ROWS] 48: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:19:13] [ROWS] 49: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:19:13] [ROWS] 50: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:19:13] [ROWS] 51: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:13] [ROWS] ===== END (updateMessageCell for 1605) =====
[11:19:13] [HEIGHT_DEBUG] Row 1 msg 1605: isPlayingEvolution=true, textLength=0, text='...'
[11:19:13] [HEIGHT] Row 1 msg 1605: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:19:13] [HEIGHT_DEBUG] Row 2 msg 1604: isPlayingEvolution=false, textLength=4, text='Toto...'
[11:19:13] [HEIGHT] Row 2 msg 1604: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:19:13] [HEIGHT_DEBUG] Row 1 msg 1605: isPlayingEvolution=true, textLength=0, text='...'
[11:19:13] [HEIGHT] Row 1 msg 1605: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:19:13] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:19:13] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:19:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:19:13] [HEIGHT_DEBUG] Row 2 msg 1604: isPlayingEvolution=false, textLength=4, text='Toto...'
[11:19:13] [HEIGHT] Row 2 msg 1604: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:19:13] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:13] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:13] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:13] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:13] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:13] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:13] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:13] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:13] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:13] [EVOLUTION] ▢️ Starting inline playback for message 1605 with 7 events
[11:19:13] [EVOLUTION] πŸ“ Event 0/7 - Text now: "C..."
[11:19:13] [UPDATE] πŸ”„ updateMessageCell(for: 1605) β€” full safe reload
[11:19:13] [ROWS] ===== updateMessageCell for 1605 β€” chatRows.count=52 =====
[11:19:13] [ROWS] 0: SEPARATOR
[11:19:13] [ROWS] 1: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=1 textLen=7
[11:19:13] [ROWS] 2: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=4 textLen=4
[11:19:13] [ROWS] 3: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:13] [ROWS] 4: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:13] [ROWS] 5: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:19:13] [ROWS] 6: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:13] [ROWS] 7: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:13] [ROWS] 8: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:13] [ROWS] 9: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:13] [ROWS] 10: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:19:13] [ROWS] 11: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:19:13] [ROWS] 12: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:19:13] [ROWS] 13: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:19:13] [ROWS] 14: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:13] [ROWS] 15: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:13] [ROWS] 16: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:13] [ROWS] 17: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:13] [ROWS] 18: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:13] [ROWS] 19: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:13] [ROWS] 20: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:13] [ROWS] 21: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:13] [ROWS] 22: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:13] [ROWS] 23: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:13] [ROWS] 24: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:13] [ROWS] 25: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:13] [ROWS] 26: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:13] [ROWS] 27: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:13] [ROWS] 28: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:19:13] [ROWS] 29: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:13] [ROWS] 30: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:13] [ROWS] 31: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:19:13] [ROWS] 32: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:13] [ROWS] 33: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:13] [ROWS] 34: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:13] [ROWS] 35: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:19:13] [ROWS] 36: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:19:13] [ROWS] 37: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:19:13] [ROWS] 38: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:13] [ROWS] 39: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:13] [ROWS] 40: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:13] [ROWS] 41: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:13] [ROWS] 42: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:13] [ROWS] 43: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:13] [ROWS] 44: SEPARATOR
[11:19:13] [ROWS] 45: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:19:13] [ROWS] 46: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:13] [ROWS] 47: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:19:13] [ROWS] 48: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:19:13] [ROWS] 49: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:19:13] [ROWS] 50: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:19:13] [ROWS] 51: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:13] [ROWS] ===== END (updateMessageCell for 1605) =====
[11:19:13] [HEIGHT_DEBUG] Row 1 msg 1605: isPlayingEvolution=true, textLength=1, text='C...'
[11:19:13] [HEIGHT] Row 1 msg 1605: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:19:13] [HEIGHT_DEBUG] Row 2 msg 1604: isPlayingEvolution=false, textLength=4, text='Toto...'
[11:19:13] [HEIGHT] Row 2 msg 1604: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:19:13] [HEIGHT_DEBUG] Row 1 msg 1605: isPlayingEvolution=true, textLength=1, text='C...'
[11:19:13] [HEIGHT] Row 1 msg 1605: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:19:13] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:19:13] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:19:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:13] [HEIGHT_DEBUG] Row 2 msg 1604: isPlayingEvolution=false, textLength=4, text='Toto...'
[11:19:13] [HEIGHT] Row 2 msg 1604: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:19:13] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:13] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:13] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:13] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:13] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:13] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:13] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:13] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:13] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:13] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:19:13] Will get events_php
[11:19:13] [TYPING] πŸ”„ ========== POLL START ==========
[11:19:13] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:19:13] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:19:13] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:19:13] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:19:13] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:19:13] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:19:13] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok, "sessionId": ILUIWU2]
[11:19:13] [TYPING] πŸ“₯ Found 0 typing users in response
[11:19:13] [TYPING] πŸ“₯ Updating typing users SET: []
[11:19:13] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Type: application/json; charset=utf-8
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Connection: Keep-Alive
Keep-Alive: timeout=5, max=94
X-Powered-By: PHP/8.4.14
Content-Length: 355
Date: Sun, 16 Nov 2025 10:19:13 GMT
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":4,"events":[{"event_id":10655,"event_type":3,"message_id":1604,"session_id":"ILUIWU2"},{"event_id":10657,"event_type":3,"message_id":1605,"session_id":"ILUIWU2"},{"event_id":10658,"event_type":3,"message_id":1605,"session_id":"ILUIWU2"},{"event_id":10659,"event_type":3,"message_id":1604,"session_id":"ILUIWU2"}]}
[11:19:13] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:19:13] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:19:13] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:19:13] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:19:13] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:19:13] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:19:13] [TYPING] πŸ”„ ========== POLL END ==========
[11:19:13] Done
[11:19:13] [EVOLUTION] πŸ“ Event 1/7 - Text now: "Cu..."
[11:19:13] [UPDATE] πŸ”„ updateMessageCell(for: 1605) β€” full safe reload
[11:19:13] [ROWS] ===== updateMessageCell for 1605 β€” chatRows.count=52 =====
[11:19:13] [ROWS] 0: SEPARATOR
[11:19:13] [ROWS] 1: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=2 textLen=7
[11:19:13] [ROWS] 2: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=4 textLen=4
[11:19:13] [ROWS] 3: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:13] [ROWS] 4: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:13] [ROWS] 5: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:19:13] [ROWS] 6: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:13] [ROWS] 7: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:13] [ROWS] 8: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:13] [ROWS] 9: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:13] [ROWS] 10: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:19:13] [ROWS] 11: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:19:13] [ROWS] 12: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:19:13] [ROWS] 13: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:19:13] [ROWS] 14: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:13] [ROWS] 15: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:13] [ROWS] 16: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:13] [ROWS] 17: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:13] [ROWS] 18: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:13] [ROWS] 19: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:13] [ROWS] 20: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:13] [ROWS] 21: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:13] [ROWS] 22: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:13] [ROWS] 23: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:13] [ROWS] 24: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:13] [ROWS] 25: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:13] [ROWS] 26: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:13] [ROWS] 27: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:13] [ROWS] 28: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:19:13] [ROWS] 29: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:13] [ROWS] 30: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:13] [ROWS] 31: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:19:13] [ROWS] 32: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:13] [ROWS] 33: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:13] [ROWS] 34: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:13] [ROWS] 35: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:19:13] [ROWS] 36: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:19:13] [ROWS] 37: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:19:13] [ROWS] 38: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:13] [ROWS] 39: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:13] [ROWS] 40: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:13] [ROWS] 41: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:13] [ROWS] 42: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:13] [ROWS] 43: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:13] [ROWS] 44: SEPARATOR
[11:19:13] [ROWS] 45: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:19:13] [ROWS] 46: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:13] [ROWS] 47: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:19:13] [ROWS] 48: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:19:13] [ROWS] 49: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:19:13] [ROWS] 50: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:19:13] [ROWS] 51: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:13] [ROWS] ===== END (updateMessageCell for 1605) =====
[11:19:13] [HEIGHT_DEBUG] Row 1 msg 1605: isPlayingEvolution=true, textLength=2, text='Cu...'
[11:19:13] [HEIGHT] Row 1 msg 1605: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:19:13] [HEIGHT_DEBUG] Row 2 msg 1604: isPlayingEvolution=false, textLength=4, text='Toto...'
[11:19:13] [HEIGHT] Row 2 msg 1604: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:19:13] [HEIGHT_DEBUG] Row 1 msg 1605: isPlayingEvolution=true, textLength=2, text='Cu...'
[11:19:13] [HEIGHT] Row 1 msg 1605: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:19:13] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:19:13] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:19:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:13] [HEIGHT_DEBUG] Row 2 msg 1604: isPlayingEvolution=false, textLength=4, text='Toto...'
[11:19:13] [HEIGHT] Row 2 msg 1604: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:19:13] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:13] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:13] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:13] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:13] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:13] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:13] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:13] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:13] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:13] [EVOLUTION] πŸ“ Event 2/7 - Text now: "Cut..."
[11:19:13] [UPDATE] πŸ”„ updateMessageCell(for: 1605) β€” full safe reload
[11:19:13] [ROWS] ===== updateMessageCell for 1605 β€” chatRows.count=52 =====
[11:19:13] [ROWS] 0: SEPARATOR
[11:19:13] [ROWS] 1: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=3 textLen=7
[11:19:13] [ROWS] 2: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=4 textLen=4
[11:19:13] [ROWS] 3: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:13] [ROWS] 4: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:13] [ROWS] 5: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:19:13] [ROWS] 6: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:13] [ROWS] 7: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:13] [ROWS] 8: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:13] [ROWS] 9: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:13] [ROWS] 10: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:19:13] [ROWS] 11: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:19:13] [ROWS] 12: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:19:13] [ROWS] 13: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:19:13] [ROWS] 14: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:13] [ROWS] 15: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:13] [ROWS] 16: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:13] [ROWS] 17: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:13] [ROWS] 18: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:13] [ROWS] 19: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:13] [ROWS] 20: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:13] [ROWS] 21: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:13] [ROWS] 22: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:13] [ROWS] 23: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:13] [ROWS] 24: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:13] [ROWS] 25: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:13] [ROWS] 26: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:13] [ROWS] 27: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:13] [ROWS] 28: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:19:13] [ROWS] 29: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:13] [ROWS] 30: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:13] [ROWS] 31: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:19:13] [ROWS] 32: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:13] [ROWS] 33: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:13] [ROWS] 34: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:13] [ROWS] 35: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:19:13] [ROWS] 36: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:19:13] [ROWS] 37: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:19:13] [ROWS] 38: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:13] [ROWS] 39: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:13] [ROWS] 40: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:13] [ROWS] 41: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:13] [ROWS] 42: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:13] [ROWS] 43: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:13] [ROWS] 44: SEPARATOR
[11:19:13] [ROWS] 45: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:19:13] [ROWS] 46: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:13] [ROWS] 47: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:19:13] [ROWS] 48: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:19:13] [ROWS] 49: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:19:13] [ROWS] 50: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:19:13] [ROWS] 51: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:13] [ROWS] ===== END (updateMessageCell for 1605) =====
[11:19:13] [HEIGHT_DEBUG] Row 1 msg 1605: isPlayingEvolution=true, textLength=3, text='Cut...'
[11:19:13] [HEIGHT] Row 1 msg 1605: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:19:13] [HEIGHT_DEBUG] Row 2 msg 1604: isPlayingEvolution=false, textLength=4, text='Toto...'
[11:19:13] [HEIGHT] Row 2 msg 1604: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:19:13] [HEIGHT_DEBUG] Row 1 msg 1605: isPlayingEvolution=true, textLength=3, text='Cut...'
[11:19:13] [HEIGHT] Row 1 msg 1605: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:19:13] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:19:13] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:19:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:13] [HEIGHT_DEBUG] Row 2 msg 1604: isPlayingEvolution=false, textLength=4, text='Toto...'
[11:19:13] [HEIGHT] Row 2 msg 1604: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:19:13] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:13] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:13] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:13] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:13] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:13] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:13] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:13] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:13] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:14] [EVOLUTION] πŸ“ Event 3/7 - Text now: "Cutu..."
[11:19:14] [UPDATE] πŸ”„ updateMessageCell(for: 1605) β€” full safe reload
[11:19:14] [ROWS] ===== updateMessageCell for 1605 β€” chatRows.count=52 =====
[11:19:14] [ROWS] 0: SEPARATOR
[11:19:14] [ROWS] 1: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=4 textLen=7
[11:19:14] [ROWS] 2: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=4 textLen=4
[11:19:14] [ROWS] 3: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:14] [ROWS] 4: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:14] [ROWS] 5: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:19:14] [ROWS] 6: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:14] [ROWS] 7: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:14] [ROWS] 8: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:14] [ROWS] 9: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:14] [ROWS] 10: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:19:14] [ROWS] 11: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:19:14] [ROWS] 12: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:19:14] [ROWS] 13: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:19:14] [ROWS] 14: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:14] [ROWS] 15: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:14] [ROWS] 16: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:14] [ROWS] 17: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:14] [ROWS] 18: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:14] [ROWS] 19: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:14] [ROWS] 20: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:14] [ROWS] 21: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:14] [ROWS] 22: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:14] [ROWS] 23: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:14] [ROWS] 24: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:14] [ROWS] 25: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:14] [ROWS] 26: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:14] [ROWS] 27: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:14] [ROWS] 28: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:19:14] [ROWS] 29: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:14] [ROWS] 30: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:14] [ROWS] 31: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:19:14] [ROWS] 32: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:14] [ROWS] 33: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:14] [ROWS] 34: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:14] [ROWS] 35: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:19:14] [ROWS] 36: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:19:14] [ROWS] 37: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:19:14] [ROWS] 38: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:14] [ROWS] 39: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:14] [ROWS] 40: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:14] [ROWS] 41: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:14] [ROWS] 42: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:14] [ROWS] 43: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:14] [ROWS] 44: SEPARATOR
[11:19:14] [ROWS] 45: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:19:14] [ROWS] 46: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:14] [ROWS] 47: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:19:14] [ROWS] 48: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:19:14] [ROWS] 49: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:19:14] [ROWS] 50: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:19:14] [ROWS] 51: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:14] [ROWS] ===== END (updateMessageCell for 1605) =====
[11:19:14] [HEIGHT_DEBUG] Row 1 msg 1605: isPlayingEvolution=true, textLength=4, text='Cutu...'
[11:19:14] [HEIGHT] Row 1 msg 1605: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:19:14] [HEIGHT_DEBUG] Row 2 msg 1604: isPlayingEvolution=false, textLength=4, text='Toto...'
[11:19:14] [HEIGHT] Row 2 msg 1604: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:19:14] [HEIGHT_DEBUG] Row 1 msg 1605: isPlayingEvolution=true, textLength=4, text='Cutu...'
[11:19:14] [HEIGHT] Row 1 msg 1605: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:19:14] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:19:14] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:19:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:14] [HEIGHT_DEBUG] Row 2 msg 1604: isPlayingEvolution=false, textLength=4, text='Toto...'
[11:19:14] [HEIGHT] Row 2 msg 1604: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:19:14] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:14] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:14] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:14] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:14] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:14] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:14] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:14] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:14] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:14] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:14] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:14] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:14] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:14] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:14] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:14] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:14] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:14] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:14] [EVOLUTION] πŸ“ Event 4/7 - Text now: "Cutug..."
[11:19:14] [UPDATE] πŸ”„ updateMessageCell(for: 1605) β€” full safe reload
[11:19:14] [ROWS] ===== updateMessageCell for 1605 β€” chatRows.count=52 =====
[11:19:14] [ROWS] 0: SEPARATOR
[11:19:14] [ROWS] 1: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=5 textLen=7
[11:19:14] [ROWS] 2: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=4 textLen=4
[11:19:14] [ROWS] 3: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:14] [ROWS] 4: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:14] [ROWS] 5: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:19:14] [ROWS] 6: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:14] [ROWS] 7: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:14] [ROWS] 8: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:14] [ROWS] 9: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:14] [ROWS] 10: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:19:14] [ROWS] 11: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:19:14] [ROWS] 12: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:19:14] [ROWS] 13: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:19:14] [ROWS] 14: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:14] [ROWS] 15: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:14] [ROWS] 16: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:14] [ROWS] 17: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:14] [ROWS] 18: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:14] [ROWS] 19: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:14] [ROWS] 20: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:14] [ROWS] 21: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:14] [ROWS] 22: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:14] [ROWS] 23: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:14] [ROWS] 24: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:14] [ROWS] 25: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:14] [ROWS] 26: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:14] [ROWS] 27: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:14] [ROWS] 28: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:19:14] [ROWS] 29: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:14] [ROWS] 30: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:14] [ROWS] 31: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:19:14] [ROWS] 32: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:14] [ROWS] 33: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:14] [ROWS] 34: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:14] [ROWS] 35: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:19:14] [ROWS] 36: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:19:14] [ROWS] 37: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:19:14] [ROWS] 38: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:14] [ROWS] 39: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:14] [ROWS] 40: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:14] [ROWS] 41: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:14] [ROWS] 42: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:14] [ROWS] 43: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:14] [ROWS] 44: SEPARATOR
[11:19:14] [ROWS] 45: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:19:14] [ROWS] 46: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:14] [ROWS] 47: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:19:14] [ROWS] 48: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:19:14] [ROWS] 49: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:19:14] [ROWS] 50: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:19:14] [ROWS] 51: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:14] [ROWS] ===== END (updateMessageCell for 1605) =====
[11:19:14] [HEIGHT_DEBUG] Row 1 msg 1605: isPlayingEvolution=true, textLength=5, text='Cutug...'
[11:19:14] [HEIGHT] Row 1 msg 1605: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:19:14] [HEIGHT_DEBUG] Row 2 msg 1604: isPlayingEvolution=false, textLength=4, text='Toto...'
[11:19:14] [HEIGHT] Row 2 msg 1604: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:19:14] [HEIGHT_DEBUG] Row 1 msg 1605: isPlayingEvolution=true, textLength=5, text='Cutug...'
[11:19:14] [HEIGHT] Row 1 msg 1605: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:19:14] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:19:14] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:19:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:14] [HEIGHT_DEBUG] Row 2 msg 1604: isPlayingEvolution=false, textLength=4, text='Toto...'
[11:19:14] [HEIGHT] Row 2 msg 1604: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:19:14] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:14] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:14] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:14] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:14] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:14] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:14] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:14] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:14] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:14] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:14] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:14] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:14] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:14] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:14] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:14] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:14] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:14] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:14] [EVOLUTION] πŸ“ Event 5/7 - Text now: "Cutugn..."
[11:19:14] [UPDATE] πŸ”„ updateMessageCell(for: 1605) β€” full safe reload
[11:19:14] [ROWS] ===== updateMessageCell for 1605 β€” chatRows.count=52 =====
[11:19:14] [ROWS] 0: SEPARATOR
[11:19:14] [ROWS] 1: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=6 textLen=7
[11:19:14] [ROWS] 2: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=4 textLen=4
[11:19:14] [ROWS] 3: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:14] [ROWS] 4: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:14] [ROWS] 5: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:19:14] [ROWS] 6: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:14] [ROWS] 7: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:14] [ROWS] 8: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:14] [ROWS] 9: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:14] [ROWS] 10: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:19:14] [ROWS] 11: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:19:14] [ROWS] 12: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:19:14] [ROWS] 13: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:19:14] [ROWS] 14: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:14] [ROWS] 15: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:14] [ROWS] 16: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:14] [ROWS] 17: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:14] [ROWS] 18: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:14] [ROWS] 19: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:14] [ROWS] 20: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:14] [ROWS] 21: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:14] [ROWS] 22: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:14] [ROWS] 23: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:14] [ROWS] 24: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:14] [ROWS] 25: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:14] [ROWS] 26: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:14] [ROWS] 27: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:14] [ROWS] 28: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:19:14] [ROWS] 29: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:14] [ROWS] 30: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:14] [ROWS] 31: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:19:14] [ROWS] 32: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:14] [ROWS] 33: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:14] [ROWS] 34: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:14] [ROWS] 35: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:19:14] [ROWS] 36: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:19:14] [ROWS] 37: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:19:14] [ROWS] 38: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:14] [ROWS] 39: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:14] [ROWS] 40: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:14] [ROWS] 41: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:14] [ROWS] 42: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:14] [ROWS] 43: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:14] [ROWS] 44: SEPARATOR
[11:19:14] [ROWS] 45: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:19:14] [ROWS] 46: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:14] [ROWS] 47: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:19:14] [ROWS] 48: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:19:14] [ROWS] 49: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:19:14] [ROWS] 50: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:19:14] [ROWS] 51: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:14] [ROWS] ===== END (updateMessageCell for 1605) =====
[11:19:14] [HEIGHT_DEBUG] Row 1 msg 1605: isPlayingEvolution=true, textLength=6, text='Cutugn...'
[11:19:14] [HEIGHT] Row 1 msg 1605: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:19:14] [HEIGHT_DEBUG] Row 2 msg 1604: isPlayingEvolution=false, textLength=4, text='Toto...'
[11:19:14] [HEIGHT] Row 2 msg 1604: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:19:14] [HEIGHT_DEBUG] Row 1 msg 1605: isPlayingEvolution=true, textLength=6, text='Cutugn...'
[11:19:14] [HEIGHT] Row 1 msg 1605: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:19:14] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:19:14] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:19:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:14] [HEIGHT_DEBUG] Row 2 msg 1604: isPlayingEvolution=false, textLength=4, text='Toto...'
[11:19:14] [HEIGHT] Row 2 msg 1604: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:19:14] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:14] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:14] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:14] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:14] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:14] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:14] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:14] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:14] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:14] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:14] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:14] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:14] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:14] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:14] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:14] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:14] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:14] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:14] [EVOLUTION] πŸ“ Event 6/7 - Text now: "Cutugno..."
[11:19:14] [UPDATE] πŸ”„ updateMessageCell(for: 1605) β€” full safe reload
[11:19:14] [ROWS] ===== updateMessageCell for 1605 β€” chatRows.count=52 =====
[11:19:14] [ROWS] 0: SEPARATOR
[11:19:14] [ROWS] 1: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=7 textLen=7
[11:19:14] [ROWS] 2: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=4 textLen=4
[11:19:14] [ROWS] 3: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:14] [ROWS] 4: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:14] [ROWS] 5: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:19:14] [ROWS] 6: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:14] [ROWS] 7: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:14] [ROWS] 8: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:14] [ROWS] 9: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:14] [ROWS] 10: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:19:14] [ROWS] 11: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:19:14] [ROWS] 12: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:19:14] [ROWS] 13: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:19:14] [ROWS] 14: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:14] [ROWS] 15: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:14] [ROWS] 16: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:14] [ROWS] 17: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:14] [ROWS] 18: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:14] [ROWS] 19: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:14] [ROWS] 20: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:14] [ROWS] 21: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:14] [ROWS] 22: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:14] [ROWS] 23: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:14] [ROWS] 24: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:14] [ROWS] 25: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:14] [ROWS] 26: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:14] [ROWS] 27: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:14] [ROWS] 28: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:19:14] [ROWS] 29: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:14] [ROWS] 30: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:14] [ROWS] 31: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:19:14] [ROWS] 32: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:14] [ROWS] 33: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:14] [ROWS] 34: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:14] [ROWS] 35: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:19:14] [ROWS] 36: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:19:14] [ROWS] 37: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:19:14] [ROWS] 38: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:14] [ROWS] 39: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:14] [ROWS] 40: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:14] [ROWS] 41: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:14] [ROWS] 42: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:14] [ROWS] 43: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:14] [ROWS] 44: SEPARATOR
[11:19:14] [ROWS] 45: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:19:14] [ROWS] 46: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:14] [ROWS] 47: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:19:14] [ROWS] 48: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:19:14] [ROWS] 49: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:19:14] [ROWS] 50: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:19:14] [ROWS] 51: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:14] [ROWS] ===== END (updateMessageCell for 1605) =====
[11:19:14] [HEIGHT_DEBUG] Row 1 msg 1605: isPlayingEvolution=true, textLength=7, text='Cutugno...'
[11:19:14] [HEIGHT] Row 1 msg 1605: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:19:14] [HEIGHT_DEBUG] Row 2 msg 1604: isPlayingEvolution=false, textLength=4, text='Toto...'
[11:19:14] [HEIGHT] Row 2 msg 1604: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:19:14] [HEIGHT_DEBUG] Row 1 msg 1605: isPlayingEvolution=true, textLength=7, text='Cutugno...'
[11:19:14] [HEIGHT] Row 1 msg 1605: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:19:14] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:19:14] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:19:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:14] [HEIGHT_DEBUG] Row 2 msg 1604: isPlayingEvolution=false, textLength=4, text='Toto...'
[11:19:14] [HEIGHT] Row 2 msg 1604: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:19:14] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:14] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:14] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:14] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:14] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:14] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:14] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:14] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:14] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:14] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:14] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:14] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:14] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:14] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:14] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:14] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:14] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:14] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:14] [EVOLUTION] βœ… Finished playback for message 1605
[11:19:14] [UPDATE] πŸ”„ updateMessageCell(for: 1605) β€” full safe reload
[11:19:14] [ROWS] ===== updateMessageCell for 1605 β€” chatRows.count=52 =====
[11:19:14] [ROWS] 0: SEPARATOR
[11:19:14] [ROWS] 1: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=7 textLen=7
[11:19:14] [ROWS] 2: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=4 textLen=4
[11:19:14] [ROWS] 3: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:14] [ROWS] 4: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:14] [ROWS] 5: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:19:14] [ROWS] 6: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:14] [ROWS] 7: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:14] [ROWS] 8: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:14] [ROWS] 9: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:14] [ROWS] 10: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:19:14] [ROWS] 11: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:19:14] [ROWS] 12: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:19:14] [ROWS] 13: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:19:14] [ROWS] 14: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:14] [ROWS] 15: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:14] [ROWS] 16: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:14] [ROWS] 17: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:14] [ROWS] 18: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:14] [ROWS] 19: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:14] [ROWS] 20: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:14] [ROWS] 21: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:14] [ROWS] 22: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:14] [ROWS] 23: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:14] [ROWS] 24: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:14] [ROWS] 25: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:19:14] [ROWS] 26: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:14] [ROWS] 27: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:19:14] [ROWS] 28: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:19:14] [ROWS] 29: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:14] [ROWS] 30: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:19:14] [ROWS] 31: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:19:14] [ROWS] 32: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:14] [ROWS] 33: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:19:14] [ROWS] 34: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:14] [ROWS] 35: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:19:14] [ROWS] 36: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:19:14] [ROWS] 37: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:19:14] [ROWS] 38: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:14] [ROWS] 39: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:14] [ROWS] 40: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:14] [ROWS] 41: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:14] [ROWS] 42: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:14] [ROWS] 43: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:19:14] [ROWS] 44: SEPARATOR
[11:19:14] [ROWS] 45: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:19:14] [ROWS] 46: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:14] [ROWS] 47: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:19:14] [ROWS] 48: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:19:14] [ROWS] 49: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:19:14] [ROWS] 50: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:19:14] [ROWS] 51: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:19:14] [ROWS] ===== END (updateMessageCell for 1605) =====
[11:19:14] [HEIGHT_DEBUG] Row 1 msg 1605: isPlayingEvolution=false, textLength=7, text='Cutugno...'
[11:19:14] [HEIGHT] Row 1 msg 1605: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:19:14] [HEIGHT_DEBUG] Row 2 msg 1604: isPlayingEvolution=false, textLength=4, text='Toto...'
[11:19:14] [HEIGHT] Row 2 msg 1604: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:19:14] [HEIGHT_DEBUG] Row 1 msg 1605: isPlayingEvolution=false, textLength=7, text='Cutugno...'
[11:19:14] [HEIGHT] Row 1 msg 1605: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:19:14] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:19:14] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:19:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:14] [HEIGHT_DEBUG] Row 2 msg 1604: isPlayingEvolution=false, textLength=4, text='Toto...'
[11:19:14] [HEIGHT] Row 2 msg 1604: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:19:14] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:14] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:14] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:14] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:14] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:14] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:14] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:14] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:14] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:14] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:14] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:14] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:14] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:14] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:14] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:14] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:14] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:19:14] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:19:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:19:14] [EVOLUTION] βœ… All queued messages have been played
[11:19:15] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:19:15] Will get events_php
[11:19:15] [TYPING] πŸ”„ ========== POLL START ==========
[11:19:15] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:19:15] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:19:15] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:19:15] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:19:15] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:19:15] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:19:15] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2, "status": ok]
[11:19:15] [TYPING] πŸ“₯ Found 0 typing users in response
[11:19:15] [TYPING] πŸ“₯ Updating typing users SET: []
[11:19:15] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:19:15] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:19:15] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:19:15] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:19:15] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:19:15] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:19:15] [TYPING] πŸ”„ ========== POLL END ==========
[11:19:15] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Type: application/json; charset=utf-8
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Connection: Keep-Alive
Keep-Alive: timeout=5, max=95
X-Powered-By: PHP/8.4.14
Content-Length: 56
Date: Sun, 16 Nov 2025 10:19:15 GMT
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:19:15] Done
[11:19:15] Main
[11:19:16] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:19:16] [INFO_PAGE] Found 420 messages for session 'ILUIWU2'
[11:19:16] [INFO_PAGE] Total messages in database: 1186
[11:20:54] [CRASH] Previous session did not exit cleanly - crash detected
[11:20:54] [GIPHY] SDK not available - using REST API fallback
[11:20:54] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:20:54] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:20:54] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:20:54] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:20:54] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:20:54] [SCENE] Launched directly to chat view with sessionId: ILUIWU2
[11:20:54] [PUSH] APNs token: 6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c
[11:20:54] [PUSH] APNs token: 6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c
[11:20:54] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:20:55] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:20:55] Documents Directory: /var/mobile/Containers/Data/Application/0A5E86F0-B63B-4016-A61A-31F3649811C0/Documents
[11:20:55] [NOTIFICATION] πŸ”” Notification button created and added to topNavBar
[11:20:55] [NOTIFICATION] πŸ”” Button tintColor: grey (0.5, 0.5, 0.5)
[11:20:55] [NOTIFICATION] πŸ”” Button isUserInteractionEnabled: true
[11:20:55] [INFO_PAGE] InformationViewController viewDidLoad called
[11:20:55] [INFO_PAGE] Actions configured (bell button is external)
[11:20:55] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:20:55] [INFO_PAGE] Successfully opened database at /var/mobile/Containers/Data/Application/0A5E86F0-B63B-4016-A61A-31F3649811C0/Documents/chat_local_viewer.db
[11:20:55] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:20:55] [INFO_PAGE] Found 420 messages for session 'ILUIWU2'
[11:20:55] [INFO_PAGE] Total messages in database: 1186
[11:20:55] [INFO_PAGE] InformationViewController setup complete
[11:20:55] [INFO_PAGE] ℹ️ Information page added to tab 3
[11:20:55] [THEME] Applying current theme
[11:20:55] [CHAT] Applied day theme (mode: day)
[11:20:55] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:20:55] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:20:55] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:20:55] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:20:55] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:20:55] [SUMMARY] Already showed summary today (2025-11-16)
[11:20:55] Did transition
[11:20:55] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:20:55] [VIEWER] Screen lock enabled - normal idle behavior
[11:20:55] [QUERY] πŸ” Checking tab - currentTabIndex=0
[11:20:55] [QUERY] πŸ”΅ [TAB 0] No query connection needed
[11:20:55] [QUERY] βœ… [TAB 0] Initialized without query connection
[11:20:55] [LOCATION] Started location updates for distance calculation (already authorized)
[11:20:55] [TAB 0] Skipping reconnect polling - only needed for tab 1
[11:20:55] [VIEWER_INIT] Loading messages with read receipts from server
[11:20:55] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:20:55] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:20:55] [DB]   msg[0] id=1605, isMyMessage=false, readBy.count=0
[11:20:55] [DB]   msg[1] id=1604, isMyMessage=false, readBy.count=0
[11:20:55] [DB]   msg[2] id=1603, isMyMessage=false, readBy.count=0
[11:20:55] [EVOLUTION] πŸ” Found 0 NEW unread messages from local DB before fetching read receipts (lastSeenMessageId=1605): []
[11:20:55] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1605, readBy=[]", "id=1604, readBy=[]", "id=1603, readBy=[]"]
[11:20:55] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:20:55] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:20:55] [DB]   msg[0] id=1605, isMyMessage=false, readBy.count=0
[11:20:55] [DB]   msg[1] id=1604, isMyMessage=false, readBy.count=0
[11:20:55] [DB]   msg[2] id=1603, isMyMessage=false, readBy.count=0
[11:20:55] [EVENT_POLL] Starting periodic event polling for viewer mode (5s interval)
[11:20:55] [ORIENTATION] Updated pagingScrollView height to 247.5 for width 440.0
[11:20:55] [SUMMARY] Already showed summary today (2025-11-16)
[11:20:55] Did transition
[11:20:55] [NOTIFICATION] πŸ”” Constraints activated for notification button
[11:20:55] [NOTIFICATION] πŸ”” topNavBar frame: (0.0, 0.0, 440.0, 50.0)
[11:20:55] [NOTIFICATION] πŸ”” menuButton frame: (0.0, 0.0, 39.0, 30.0)
[11:20:55] [NOTIFICATION] πŸ”” notificationButton frame: (0.0, 0.0, 56.333333333333336, 58.0)
[11:20:55] [NOTIFICATION] πŸ”” Notification button brought to front
[11:20:55] [NOTIFICATION] πŸ”„ Updating icon to: bell.slash.fill (muted=true)
[11:20:55] [NOTIFICATION] βœ… Icon updated successfully
[11:20:55] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[11:20:55] [MIGRATION] No messages need sender_name backfill
[11:20:55] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:20:55] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:20:55] [DB]   msg[0] id=1605, isMyMessage=false, readBy.count=0
[11:20:55] [DB]   msg[1] id=1604, isMyMessage=false, readBy.count=0
[11:20:55] [DB]   msg[2] id=1603, isMyMessage=false, readBy.count=0
[11:20:55] [INFO_PAGE] InformationViewController viewWillAppear - applying theme
[11:20:55] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:20:55] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:20:55] [PAGINATION_SCROLL] offset=-12.0, contentHeight=108.0, distFromBottom=120.0, dragging=false, decel=false, isLoading=false, cooldown=63899058055.599686s
[11:20:55] [PAGINATION_SCROLL] offset=0.0, contentHeight=108.0, distFromBottom=-650.0, dragging=false, decel=false, isLoading=false, cooldown=63899058055.6009s
[11:20:55] [LOCATION] Authorization changed: 4
[11:20:55] [NOTIFICATION] πŸ”” FINAL STATE after viewDidLoad:
[11:20:55] [NOTIFICATION] πŸ”” notificationButton.frame: (392.0, 67.0, 40.0, 40.0)
[11:20:55] [NOTIFICATION] πŸ”” notificationButton.isHidden: false
[11:20:55] [NOTIFICATION] πŸ”” notificationButton.alpha: 1.0
[11:20:55] [NOTIFICATION] πŸ”” notificationButton.superview: true
[11:20:55] [NOTIFICATION] πŸ”” topNavBar.isHidden: false
[11:20:55] [NOTIFICATION] πŸ”” topNavBar.subviews.count: 3
[11:20:56] [PUSH] Device role updated to 'viewer': HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:20:57] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU2, AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("message_id"): 1607]
[11:20:57] [PUSH] Parsed message_id: 1607
[11:20:57] [PUSH] Parsed operation_type: 0
[11:20:57] [PUSH] Taking direct action: opType=0, messageId=1607
[11:20:57] [PUSH] TakeActionFromPush called: OperationType=0, MessageIds=1607
[11:20:57] [PUSH] Handling message fetch for opType=0, messageId=1607
[11:20:57] [PUSH] Requesting URL: http://crivello.dyndns.org:81/WebRTC/chat/chat_get_messages.php?session_id=ILUIWU2&viewer=1&messages=1607
[11:20:57] [LOCATION] Failed to get location: The operation couldn’t be completed. (kCLErrorDomain error 1.)
[11:20:57] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:20:57] [TYPING] πŸ”„ ========== POLL START ==========
[11:20:57] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:20:57] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:20:57] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:20:57] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:20:58] [USER] βœ… User registered successfully
[11:20:58] [USER] User registration successful
[11:20:58] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:20:58] [UNREAD_DEBUG]   FINAL msg[0] id=1605, readBy.count=0
[11:20:58] [UNREAD_DEBUG]   FINAL msg[1] id=1604, readBy.count=0
[11:20:58] [UNREAD_DEBUG]   FINAL msg[2] id=1603, readBy.count=0
[11:20:58] [VIEWER_INIT] Loaded 50 messages with read receipts, hasMore: true
[11:20:58] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:20:58] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:20:58] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:20:58] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:20:58] [ROWS] 0: SEPARATOR
[11:20:58] [ROWS] 1: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:20:58] [ROWS] 2: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:20:58] [ROWS] 3: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:20:58] [ROWS] 4: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:20:58] [ROWS] 5: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:20:58] [ROWS] 6: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:20:58] [ROWS] 7: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:20:58] [ROWS] 8: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:20:58] [ROWS] 9: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:20:58] [ROWS] 10: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:20:58] [ROWS] 11: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:20:58] [ROWS] 12: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:20:58] [ROWS] 13: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:20:58] [ROWS] 14: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:20:58] [ROWS] 15: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:20:58] [ROWS] 16: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:20:58] [ROWS] 17: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:20:58] [ROWS] 18: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:20:58] [ROWS] 19: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:20:58] [ROWS] 20: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:20:58] [ROWS] 21: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:20:58] [ROWS] 22: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:20:58] [ROWS] 23: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:20:58] [ROWS] 24: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:20:58] [ROWS] 25: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:20:58] [ROWS] 26: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:20:58] [ROWS] 27: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:20:58] [ROWS] 28: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:20:58] [ROWS] 29: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:20:58] [ROWS] 30: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:20:58] [ROWS] 31: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:20:58] [ROWS] 32: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:20:58] [ROWS] 33: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:20:58] [ROWS] 34: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:20:58] [ROWS] 35: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:20:58] [ROWS] 36: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:20:58] [ROWS] 37: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:20:58] [ROWS] 38: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:20:58] [ROWS] 39: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:20:58] [ROWS] 40: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:20:58] [ROWS] 41: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:20:58] [ROWS] 42: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:20:58] [ROWS] 43: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:20:58] [ROWS] 44: SEPARATOR
[11:20:58] [ROWS] 45: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:20:58] [ROWS] 46: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:20:58] [ROWS] 47: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:20:58] [ROWS] 48: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:20:58] [ROWS] 49: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:20:58] [ROWS] 50: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:20:58] [ROWS] 51: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:20:58] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:20:58] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:20:58] [HEIGHT_DEBUG] Row 1 msg 1605: isPlayingEvolution=false, textLength=7, text='Cutugno...'
[11:20:58] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:20:58] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:20:58] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:20:58] [TYPING] πŸ“₯ Found 0 typing users in response
[11:20:58] [EMOJI] βœ… Loaded 451 emoji-to-GIF mappings
[11:20:58] [HEIGHT] Row 1 msg 1605: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:20:58] [HEIGHT_DEBUG] Row 2 msg 1604: isPlayingEvolution=false, textLength=4, text='Toto...'
[11:20:58] [HEIGHT] Row 2 msg 1604: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:20:58] [HEIGHT_DEBUG] Row 1 msg 1605: isPlayingEvolution=false, textLength=7, text='Cutugno...'
[11:20:58] [HEIGHT] Row 1 msg 1605: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:20:58] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:20:58] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:20:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:20:58] [HEIGHT_DEBUG] Row 2 msg 1604: isPlayingEvolution=false, textLength=4, text='Toto...'
[11:20:58] [HEIGHT] Row 2 msg 1604: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:20:58] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:20:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:20:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:20:58] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:20:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:20:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:20:58] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:20:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:20:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:20:58] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:20:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:20:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:20:58] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:20:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:20:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:20:58] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:20:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:20:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:20:58] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:20:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:20:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:20:58] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:20:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:20:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:20:58] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:20:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:20:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:20:58] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:20:58] ReloadData 18 (viewer init with read receipts)
[11:20:58] [TYPING] πŸ“₯ Updating typing users SET: []
[11:20:58] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:20:58] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:20:58] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:20:58] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:20:58] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:20:58] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:20:58] [TYPING] πŸ”„ ========== POLL END ==========
[11:20:58] [EVOLUTION] πŸ“­ No unread message IDs provided for evolution playback
[11:20:58] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU2, AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("message_id"): 1607]
[11:20:58] [PUSH] Parsed message_id: 1607
[11:20:58] [PUSH] Parsed operation_type: 3
[11:20:58] [PUSH] Taking direct action: opType=3, messageId=1607
[11:20:58] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=1607
[11:20:59] [PUSH] Device role updated to 'viewer': HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:20:59] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:20:59] [TYPING] πŸ”„ ========== POLL START ==========
[11:20:59] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:20:59] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:20:59] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:20:59] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:20:59] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:20:59] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:20:59] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:20:59] [TYPING] πŸ“₯ Found 0 typing users in response
[11:20:59] [PUSH] get_message response: HTTP 200, 467 bytes
[11:20:59] [TYPING] πŸ“₯ Updating typing users SET: []
[11:20:59] [PUSH] get_message response body: [{"message_type":0,"message_id":1607,"session_id":"ILUIWU2","message":"Meeee","file_name":"","msgread":1,"datesent":"2025-11-16 10:20:56","timer":0,"timer_started_at":null,"sender_id":"E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE","sender_name":"LoloTest","distance":null,"link_url":null,"link_title":null,"link_description":null,"link_image_url":null,"reply_to_id":null,"replied_message":null,"replied_sender_id":null,"replied_sender_name":null,"ViewerMode":0,"read_by":[]}]
[11:20:59] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:20:59] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:20:59] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:20:59] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:20:59] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:20:59] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:20:59] [TYPING] πŸ”„ ========== POLL END ==========
[11:20:59] [EVOLUTION] 🎬 Preparing message 1607 for evolution playback (starting from empty)
[11:20:59] [PUSH] Added new message 1607 to chatMessages with readBy: 0 readers
[11:20:59] [PUSH] Added new message 1607 to allMessagesWithReadBy with readBy: 0 readers
[11:20:59] [ANIMATION] πŸ“Œ PUSH: Added message 1607 to newlyAddedMessageIds (willPlayEvolution=true)
[11:20:59] [PUSH_DEBUG] After inserting message 1607, existing messages readBy status:
[11:20:59] [PUSH_DEBUG]   msg[0] id=1607, readBy.count=0
[11:20:59] [PUSH_DEBUG]   msg[1] id=1605, readBy.count=0
[11:20:59] [PUSH_DEBUG]   msg[2] id=1604, readBy.count=0
[11:20:59] [PUSH_DEBUG]   msg[3] id=1603, readBy.count=0
[11:20:59] [PUSH_DEBUG]   msg[4] id=1602, readBy.count=0
[11:20:59] [EVOLUTION] 🎬 Will trigger auto-play for new message 1607 (from push) after table reload
[11:20:59] ReloadData 4 - using reloadMessagesForCurrentTab for animation
[11:20:59] [HEIGHT_DEBUG] Row 1 msg 1605: isPlayingEvolution=false, textLength=7, text='Cutugno...'
[11:20:59] [HEIGHT] Row 1 msg 1605: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:20:59] [HEIGHT_DEBUG] Row 2 msg 1604: isPlayingEvolution=false, textLength=4, text='Toto...'
[11:20:59] [HEIGHT] Row 2 msg 1604: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:20:59] [HEIGHT_DEBUG] Row 1 msg 1605: isPlayingEvolution=false, textLength=7, text='Cutugno...'
[11:20:59] [HEIGHT] Row 1 msg 1605: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:20:59] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:20:59] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:20:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:20:59] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:20:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:20:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:20:59] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:20:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:20:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:20:59] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:20:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:20:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:20:59] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:20:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:20:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:20:59] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:20:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:20:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:20:59] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:20:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:20:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:20:59] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:20:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:20:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:20:59] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:20:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:20:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:20:59] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:20:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:20:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:20:59] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:20:59] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:20:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:20:59] [CHAT] βœ… refreshAllFromServer - parsed 422 messages from server
[11:20:59] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:20:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:20:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:20:59] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:20:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:20:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:20:59] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:20:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:20:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:20:59] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:20:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:20:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:20:59] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:20:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:20:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:20:59] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:20:59] [DB] clearDBForSession(ILUIWU2): deleted 421 messages, result=101
[11:20:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:20:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:20:59] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:20:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:20:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:20:59] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:20:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:20:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:20:59] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:20:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:20:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:20:59] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:20:59] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (51 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:20:59] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:20:59] [EVOLUTION] πŸ“ Updated lastSeenMessageId: 1605 β†’ 1607
[11:20:59] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=53 =====
[11:20:59] [ROWS] 0: SEPARATOR
[11:20:59] [ROWS] 1: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=5
[11:20:59] [ROWS] 2: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:20:59] [ROWS] 3: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:20:59] [ROWS] 4: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:20:59] [ROWS] 5: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:20:59] [ROWS] 6: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:20:59] [ROWS] 7: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:20:59] [ROWS] 8: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:20:59] [ROWS] 9: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:20:59] [ROWS] 10: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:20:59] [ROWS] 11: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:20:59] [ROWS] 12: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:20:59] [ROWS] 13: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:20:59] [ROWS] 14: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:20:59] [ROWS] 15: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:20:59] [ROWS] 16: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:20:59] [ROWS] 17: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:20:59] [ROWS] 18: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:20:59] [ROWS] 19: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:20:59] [ROWS] 20: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:20:59] [ROWS] 21: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:20:59] [ROWS] 22: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:20:59] [ROWS] 23: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:20:59] [ROWS] 24: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:20:59] [ROWS] 25: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:20:59] [ROWS] 26: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:20:59] [ROWS] 27: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:20:59] [ROWS] 28: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:20:59] [ROWS] 29: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:20:59] [ROWS] 30: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:20:59] [ROWS] 31: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:20:59] [ROWS] 32: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:20:59] [ROWS] 33: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:20:59] [ROWS] 34: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:20:59] [ROWS] 35: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:20:59] [ROWS] 36: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:20:59] [ROWS] 37: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:20:59] [ROWS] 38: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:20:59] [ROWS] 39: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:20:59] [ROWS] 40: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:20:59] [ROWS] 41: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:20:59] [ROWS] 42: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:20:59] [ROWS] 43: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:20:59] [ROWS] 44: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:20:59] [ROWS] 45: SEPARATOR
[11:20:59] [ROWS] 46: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:20:59] [ROWS] 47: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:20:59] [ROWS] 48: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:20:59] [ROWS] 49: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:20:59] [ROWS] 50: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:20:59] [ROWS] 51: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:20:59] [ROWS] 52: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:20:59] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:20:59] [TAB_FILTER] πŸ“Š Reloading table with 53 rows
[11:20:59] [HEIGHT_DEBUG] Row 1 msg 1607: isPlayingEvolution=true, textLength=0, text='...'
[11:20:59] [HEIGHT] Row 1 msg 1607: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:20:59] [HEIGHT_DEBUG] Row 2 msg 1605: isPlayingEvolution=false, textLength=7, text='Cutugno...'
[11:20:59] [HEIGHT] Row 2 msg 1605: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:20:59] [HEIGHT_DEBUG] Row 1 msg 1607: isPlayingEvolution=true, textLength=0, text='...'
[11:20:59] [HEIGHT] Row 1 msg 1607: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:20:59] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:20:59] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:20:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:20:59] [HEIGHT_DEBUG] Row 2 msg 1605: isPlayingEvolution=false, textLength=7, text='Cutugno...'
[11:20:59] [HEIGHT] Row 2 msg 1605: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:20:59] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:20:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:20:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:20:59] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:20:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:20:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:20:59] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:20:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:20:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:20:59] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:20:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:20:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:20:59] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:20:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:20:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:20:59] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:20:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:20:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:20:59] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:20:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:20:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:20:59] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:20:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:20:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:20:59] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:20:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:20:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:20:59] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:21:00] ReloadData 15 (422 messages loaded, 0 pending media)
[11:21:00] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:21:00] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:21:00] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:21:00] [DB]   msg[0] id=1607, isMyMessage=false, readBy.count=0
[11:21:00] [DB]   msg[1] id=1606, isMyMessage=false, readBy.count=0
[11:21:00] [DB]   msg[2] id=1605, isMyMessage=false, readBy.count=0
[11:21:00] [EVOLUTION] πŸ” Found 0 NEW unread messages after refreshAllFromServer (lastSeenMessageId=1607): []
[11:21:00] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1607, readBy=[]", "id=1606, readBy=[]", "id=1605, readBy=[]"]
[11:21:00] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:21:00] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:21:00] [DB]   msg[0] id=1607, isMyMessage=false, readBy.count=0
[11:21:00] [DB]   msg[1] id=1606, isMyMessage=false, readBy.count=0
[11:21:00] [DB]   msg[2] id=1605, isMyMessage=false, readBy.count=0
[11:21:00] [EVOLUTION] 🎬 Starting auto-play for message 1607 after table reload + render delay
[11:21:00] [EVOLUTION] πŸ“‘ Fetching evolution data for message 1607
[11:21:00] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:21:00] [UNREAD_DEBUG]   FINAL msg[0] id=1605, readBy.count=1
[11:21:00] [UNREAD_DEBUG]   FINAL msg[1] id=1604, readBy.count=1
[11:21:00] [UNREAD_DEBUG]   FINAL msg[2] id=1603, readBy.count=1
[11:21:00] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:21:00] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:21:00] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:21:00] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:21:00] [ROWS] 0: SEPARATOR
[11:21:00] [ROWS] 1: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:21:00] [ROWS] 2: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:21:00] [ROWS] 3: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:21:00] [ROWS] 4: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:21:00] [ROWS] 5: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:21:00] [ROWS] 6: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:21:00] [ROWS] 7: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:21:00] [ROWS] 8: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:21:00] [ROWS] 9: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:21:00] [ROWS] 10: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:21:00] [ROWS] 11: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:21:00] [ROWS] 12: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:21:00] [ROWS] 13: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:21:00] [ROWS] 14: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:21:00] [ROWS] 15: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:21:00] [ROWS] 16: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:21:00] [ROWS] 17: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:21:00] [ROWS] 18: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:21:00] [ROWS] 19: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:21:00] [ROWS] 20: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:21:00] [ROWS] 21: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:21:00] [ROWS] 22: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:21:00] [ROWS] 23: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:21:00] [ROWS] 24: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:21:00] [ROWS] 25: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:21:00] [ROWS] 26: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:21:00] [ROWS] 27: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:21:00] [ROWS] 28: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:21:00] [ROWS] 29: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:21:00] [ROWS] 30: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:21:00] [ROWS] 31: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:21:00] [ROWS] 32: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:21:00] [ROWS] 33: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:21:00] [ROWS] 34: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:21:00] [ROWS] 35: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:21:00] [ROWS] 36: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:21:00] [ROWS] 37: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:21:00] [ROWS] 38: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:21:00] [ROWS] 39: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:21:00] [ROWS] 40: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:21:00] [ROWS] 41: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:21:00] [ROWS] 42: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:21:00] [ROWS] 43: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:21:00] [ROWS] 44: SEPARATOR
[11:21:00] [ROWS] 45: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:21:00] [ROWS] 46: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:21:00] [ROWS] 47: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:21:00] [ROWS] 48: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:21:00] [ROWS] 49: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:21:00] [ROWS] 50: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:21:00] [ROWS] 51: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:21:00] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:21:00] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:21:00] [HEIGHT_DEBUG] Row 1 msg 1605: isPlayingEvolution=false, textLength=7, text='Cutugno...'
[11:21:00] [HEIGHT] Row 1 msg 1605: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:21:00] [HEIGHT_DEBUG] Row 2 msg 1604: isPlayingEvolution=false, textLength=4, text='Toto...'
[11:21:00] [HEIGHT] Row 2 msg 1604: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:21:00] [EVOLUTION] πŸ” Raw response (272 bytes): {"ok":true,"has_evolution":true,"message_id":1607,"evolution":{"events":[{"op":"i","t":0,"p":0,"c":"M"},{"p":1,"op":"i","t":94,"c":"e"},{"t":264,"c":"e","op":"i","p":2},{"p":3,"c":"e","t":405,"op":"i"
[11:21:00] [EVOLUTION] πŸ” Parsed JSON keys: ["created_at", "evolution", "has_evolution", "message_id", "ok"]
[11:21:00] [EVOLUTION] πŸ” has_evolution: 1
[11:21:00] [EVOLUTION] βœ… Got 5 events for message 1607
[11:21:00] [HEIGHT_DEBUG] Row 1 msg 1605: isPlayingEvolution=false, textLength=7, text='Cutugno...'
[11:21:00] [HEIGHT] Row 1 msg 1605: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:21:00] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:21:00] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:21:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:21:00] [HEIGHT_DEBUG] Row 2 msg 1604: isPlayingEvolution=false, textLength=4, text='Toto...'
[11:21:00] [HEIGHT] Row 2 msg 1604: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:21:00] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:21:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:21:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:21:00] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:21:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:21:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:21:00] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:21:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:21:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:21:00] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:21:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:21:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:21:00] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:21:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:21:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:21:00] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:21:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:21:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:21:00] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:21:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:21:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:21:00] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:21:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:21:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:21:00] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:21:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:21:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:21:00] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:21:00] [INIT_PAGINATION] Loaded 50 total messages, displaying 50 for tab 0
[11:21:00] [EVOLUTION] ❌ Message 1607 not found in chatMessages
[11:21:00] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:21:00] [UNREAD_DEBUG]   FINAL msg[0] id=1607, readBy.count=1
[11:21:00] [UNREAD_DEBUG]   FINAL msg[1] id=1606, readBy.count=0
[11:21:00] [UNREAD_DEBUG]   FINAL msg[2] id=1605, readBy.count=1
[11:21:00] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:21:00] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:21:00] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:21:00] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:21:00] [ROWS] 0: SEPARATOR
[11:21:00] [ROWS] 1: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:21:00] [ROWS] 2: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:21:00] [ROWS] 3: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:21:00] [ROWS] 4: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:21:00] [ROWS] 5: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:21:00] [ROWS] 6: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:21:00] [ROWS] 7: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:21:00] [ROWS] 8: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:21:00] [ROWS] 9: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:21:00] [ROWS] 10: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:21:00] [ROWS] 11: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:21:00] [ROWS] 12: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:21:00] [ROWS] 13: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:21:00] [ROWS] 14: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:21:00] [ROWS] 15: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:21:00] [ROWS] 16: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:21:00] [ROWS] 17: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:21:00] [ROWS] 18: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:21:00] [ROWS] 19: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:21:00] [ROWS] 20: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:21:00] [ROWS] 21: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:21:00] [ROWS] 22: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:21:00] [ROWS] 23: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:21:00] [ROWS] 24: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:21:00] [ROWS] 25: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:21:00] [ROWS] 26: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:21:00] [ROWS] 27: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:21:00] [ROWS] 28: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:21:00] [ROWS] 29: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:21:00] [ROWS] 30: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:21:00] [ROWS] 31: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:21:00] [ROWS] 32: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:21:00] [ROWS] 33: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:21:00] [ROWS] 34: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:21:00] [ROWS] 35: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:21:00] [ROWS] 36: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:21:00] [ROWS] 37: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:21:00] [ROWS] 38: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:21:00] [ROWS] 39: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:21:00] [ROWS] 40: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:21:00] [ROWS] 41: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:21:00] [ROWS] 42: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:21:00] [ROWS] 43: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:21:00] [ROWS] 44: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:21:00] [ROWS] 45: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:21:00] [ROWS] 46: SEPARATOR
[11:21:00] [ROWS] 47: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:21:00] [ROWS] 48: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:21:00] [ROWS] 49: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:21:00] [ROWS] 50: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:21:00] [ROWS] 51: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:21:00] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:21:00] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:21:00] [HEIGHT_DEBUG] Row 1 msg 1607: isPlayingEvolution=false, textLength=5, text='Meeee...'
[11:21:00] [HEIGHT] Row 1 msg 1607: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:21:00] [HEIGHT_DEBUG] Row 2 msg 1606: isPlayingEvolution=false, textLength=11, text='Proud to be...'
[11:21:00] [HEIGHT] Row 2 msg 1606: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:21:00] [HEIGHT_DEBUG] Row 1 msg 1607: isPlayingEvolution=false, textLength=5, text='Meeee...'
[11:21:00] [HEIGHT] Row 1 msg 1607: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:21:00] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:21:00] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:21:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:21:00] [HEIGHT_DEBUG] Row 2 msg 1606: isPlayingEvolution=false, textLength=11, text='Proud to be...'
[11:21:00] [HEIGHT] Row 2 msg 1606: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:21:00] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:21:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:21:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:21:00] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:21:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:21:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:21:00] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:21:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:21:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:21:00] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:21:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:21:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:21:00] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:21:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:21:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:21:00] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:21:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:21:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:21:00] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:21:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:21:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:21:00] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:21:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:21:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:21:00] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:21:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:21:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:21:00] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:21:00] [INITIAL_LOAD] Loaded 50 messages (first page), displaying 50 for tab 0, hasMore: true
[11:21:00] ReloadData 1
[11:21:00] [PURGE] Deleted 0 unused media files:

[11:21:00] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:21:00] [EVOLUTION] πŸ“­ No unread message IDs provided for evolution playback
[11:21:00] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU2, AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("message_id"): 1607]
[11:21:00] [PUSH] Parsed message_id: 1607
[11:21:00] [PUSH] Parsed operation_type: 3
[11:21:00] [PUSH] Taking direct action: opType=3, messageId=1607
[11:21:00] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=1607
[11:21:00] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:21:00] [INFO_PAGE] Found 422 messages for session 'ILUIWU2'
[11:21:00] [INFO_PAGE] Total messages in database: 1188
[11:21:00] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU2, AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("message_id"): 1606]
[11:21:00] [PUSH] Parsed message_id: 1606
[11:21:00] [PUSH] Parsed operation_type: 3
[11:21:00] [PUSH] Taking direct action: opType=3, messageId=1606
[11:21:00] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=1606
[11:21:01] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:21:01] Will get events_php
[11:21:01] [TYPING] πŸ”„ ========== POLL START ==========
[11:21:01] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:21:01] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:21:01] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:21:01] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:21:01] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:21:01] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:21:01] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:21:01] [TYPING] πŸ“₯ Found 0 typing users in response
[11:21:01] [TYPING] πŸ“₯ Updating typing users SET: []
[11:21:01] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:21:01] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:21:01] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:21:01] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:21:01] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:21:01] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:21:01] [TYPING] πŸ”„ ========== POLL END ==========
[11:21:01] [EVT] get_events.php HTTP 200
── Response Headers ──
Date: Sun, 16 Nov 2025 10:21:01 GMT
Connection: Keep-Alive
Content-Length: 1106
Content-Type: application/json; charset=utf-8
X-Powered-By: PHP/8.4.14
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Keep-Alive: timeout=5, max=90
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":14,"events":[{"event_id":10661,"event_type":3,"message_id":1606,"session_id":"ILUIWU2"},{"event_id":10663,"event_type":3,"message_id":1607,"session_id":"ILUIWU2"},{"event_id":10664,"event_type":3,"message_id":1604,"session_id":"ILUIWU2"},{"event_id":10665,"event_type":3,"message_id":1603,"session_id":"ILUIWU2"},{"event_id":10666,"event_type":3,"message_id":1605,"session_id":"ILUIWU2"},{"event_id":10667,"event_type":3,"message_id":1602,"session_id":"ILUIWU2"},{"event_id":10668,"event_type":3,"message_id":1601,"session_id":"ILUIWU2"},{"event_id":10669,"event_type":3,"message_id":1600,"session_id":"ILUIWU2"},{"event_id":10670,"event_type":3,"message_id":1599,"session_id":"ILUIWU2"},{"event_id":10671,"event_type":3,"message_id":1598,"session_id":"ILUIWU2"},{"event_id":10672,"event_type":3,"message_id":1597,"session_id":"ILUIWU2"},{"event_id":10673,"event_type":3,"message_id":1596,"session_id":"ILUIWU2"},{"event_id":10674,"event_type":3,"message_id":1607,"session_id":"ILUIWU2"},{"event_id":10675,"event_type":3,"message_id":1606,"session_id":"ILUIWU2"}]}
[11:21:01] Done
[11:25:12] [CRASH] Previous session did not exit cleanly - crash detected
[11:25:12] [GIPHY] SDK not available - using REST API fallback
[11:25:12] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:25:12] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:25:12] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:25:12] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:25:12] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:25:12] [SCENE] Launched directly to chat view with sessionId: ILUIWU2
[11:25:12] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:25:12] Documents Directory: /var/mobile/Containers/Data/Application/0D278E52-1AE9-4EA3-B092-DF41C6F04CFD/Documents
[11:25:12] [NOTIFICATION] πŸ”” Notification button created and added to topNavBar
[11:25:12] [NOTIFICATION] πŸ”” Button tintColor: grey (0.5, 0.5, 0.5)
[11:25:12] [NOTIFICATION] πŸ”” Button isUserInteractionEnabled: true
[11:25:12] [INFO_PAGE] InformationViewController viewDidLoad called
[11:25:12] [INFO_PAGE] Actions configured (bell button is external)
[11:25:12] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:25:12] [INFO_PAGE] Successfully opened database at /var/mobile/Containers/Data/Application/0D278E52-1AE9-4EA3-B092-DF41C6F04CFD/Documents/chat_local_viewer.db
[11:25:12] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:25:12] [INFO_PAGE] Found 422 messages for session 'ILUIWU2'
[11:25:12] [INFO_PAGE] Total messages in database: 1188
[11:25:12] [INFO_PAGE] InformationViewController setup complete
[11:25:12] [INFO_PAGE] ℹ️ Information page added to tab 3
[11:25:12] [THEME] Applying current theme
[11:25:12] [CHAT] Applied day theme (mode: day)
[11:25:12] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:25:12] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:25:12] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:25:12] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:25:12] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:25:12] [SUMMARY] Already showed summary today (2025-11-16)
[11:25:12] Did transition
[11:25:12] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:25:12] [VIEWER] Screen lock enabled - normal idle behavior
[11:25:12] [QUERY] πŸ” Checking tab - currentTabIndex=0
[11:25:12] [QUERY] πŸ”΅ [TAB 0] No query connection needed
[11:25:12] [QUERY] βœ… [TAB 0] Initialized without query connection
[11:25:12] [LOCATION] Started location updates for distance calculation (already authorized)
[11:25:12] [TAB 0] Skipping reconnect polling - only needed for tab 1
[11:25:12] [VIEWER_INIT] Loading messages with read receipts from server
[11:25:12] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:25:12] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:25:12] [DB]   msg[0] id=1607, isMyMessage=false, readBy.count=0
[11:25:12] [DB]   msg[1] id=1606, isMyMessage=false, readBy.count=0
[11:25:12] [DB]   msg[2] id=1605, isMyMessage=false, readBy.count=0
[11:25:12] [EVOLUTION] πŸ” Found 0 NEW unread messages from local DB before fetching read receipts (lastSeenMessageId=1607): []
[11:25:12] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1607, readBy=[]", "id=1606, readBy=[]", "id=1605, readBy=[]"]
[11:25:12] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:25:12] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:25:12] [DB]   msg[0] id=1607, isMyMessage=false, readBy.count=0
[11:25:12] [DB]   msg[1] id=1606, isMyMessage=false, readBy.count=0
[11:25:12] [DB]   msg[2] id=1605, isMyMessage=false, readBy.count=0
[11:25:12] [EVENT_POLL] Starting periodic event polling for viewer mode (5s interval)
[11:25:12] [ORIENTATION] Updated pagingScrollView height to 247.5 for width 440.0
[11:25:12] [SUMMARY] Already showed summary today (2025-11-16)
[11:25:12] Did transition
[11:25:12] [NOTIFICATION] πŸ”” Constraints activated for notification button
[11:25:12] [NOTIFICATION] πŸ”” topNavBar frame: (0.0, 0.0, 440.0, 50.0)
[11:25:12] [NOTIFICATION] πŸ”” menuButton frame: (0.0, 0.0, 39.0, 30.0)
[11:25:12] [NOTIFICATION] πŸ”” notificationButton frame: (0.0, 0.0, 56.333333333333336, 58.0)
[11:25:12] [NOTIFICATION] πŸ”” Notification button brought to front
[11:25:12] [NOTIFICATION] πŸ”„ Updating icon to: bell.slash.fill (muted=true)
[11:25:12] [NOTIFICATION] βœ… Icon updated successfully
[11:25:12] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[11:25:12] [MIGRATION] No messages need sender_name backfill
[11:25:12] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:25:12] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:25:12] [DB]   msg[0] id=1607, isMyMessage=false, readBy.count=0
[11:25:12] [DB]   msg[1] id=1606, isMyMessage=false, readBy.count=0
[11:25:12] [DB]   msg[2] id=1605, isMyMessage=false, readBy.count=0
[11:25:12] [INFO_PAGE] InformationViewController viewWillAppear - applying theme
[11:25:12] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:25:12] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:25:12] [PAGINATION_SCROLL] offset=-12.0, contentHeight=108.0, distFromBottom=120.0, dragging=false, decel=false, isLoading=false, cooldown=63899058312.6993s
[11:25:12] [PAGINATION_SCROLL] offset=0.0, contentHeight=108.0, distFromBottom=-650.0, dragging=false, decel=false, isLoading=false, cooldown=63899058312.70133s
[11:25:12] [LOCATION] Authorization changed: 4
[11:25:12] [LOCATION] Updated location: 46.501410518424045, 6.7226935677177995
[11:25:12] [LOCATION] Updated location: 46.501410518424045, 6.7226935677177995
[11:25:12] [NOTIFICATION] πŸ”” FINAL STATE after viewDidLoad:
[11:25:12] [NOTIFICATION] πŸ”” notificationButton.frame: (392.0, 67.0, 40.0, 40.0)
[11:25:12] [NOTIFICATION] πŸ”” notificationButton.isHidden: false
[11:25:12] [NOTIFICATION] πŸ”” notificationButton.alpha: 1.0
[11:25:12] [NOTIFICATION] πŸ”” notificationButton.superview: true
[11:25:12] [NOTIFICATION] πŸ”” topNavBar.isHidden: false
[11:25:12] [NOTIFICATION] πŸ”” topNavBar.subviews.count: 3
[11:25:12] [PUSH] APNs token: 6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c
[11:25:12] [PUSH] handlePollEventsNotification userInfo: [:]
[11:25:12] [PUSH] No message_id in userInfo
[11:25:12] [PUSH] No operation_type in userInfo
[11:25:12] [PUSH] Performing full refresh to catch up on any missed messages
[11:25:12] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:25:12] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:25:12] [DB]   msg[0] id=1607, isMyMessage=false, readBy.count=0
[11:25:12] [DB]   msg[1] id=1606, isMyMessage=false, readBy.count=0
[11:25:12] [DB]   msg[2] id=1605, isMyMessage=false, readBy.count=0
[11:25:12] [EVOLUTION] πŸ” [FOREGROUND] Found 0 NEW unread messages after refreshAllFromServer (lastSeenMessageId=1607): []
[11:25:12] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:25:12] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:25:12] [DB]   msg[0] id=1607, isMyMessage=false, readBy.count=0
[11:25:12] [DB]   msg[1] id=1606, isMyMessage=false, readBy.count=0
[11:25:12] [DB]   msg[2] id=1605, isMyMessage=false, readBy.count=0
[11:25:12] [PUSH] Device role updated to 'viewer': HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:25:12] [PUSH] Device role updated to 'viewer': HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:25:12] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:25:12] [USER] βœ… User registered successfully
[11:25:12] [USER] User registration successful
[11:25:13] [CHAT] βœ… refreshAllFromServer - parsed 422 messages from server
[11:25:13] [DB] clearDBForSession(ILUIWU2): deleted 422 messages, result=101
[11:25:13] ReloadData 15 (422 messages loaded, 0 pending media)
[11:25:13] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:25:13] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:25:13] [DB]   msg[0] id=1607, isMyMessage=false, readBy.count=0
[11:25:13] [DB]   msg[1] id=1606, isMyMessage=false, readBy.count=0
[11:25:13] [DB]   msg[2] id=1605, isMyMessage=false, readBy.count=0
[11:25:13] [EVOLUTION] πŸ” Found 0 NEW unread messages after refreshAllFromServer (lastSeenMessageId=1607): []
[11:25:13] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1607, readBy=[]", "id=1606, readBy=[]", "id=1605, readBy=[]"]
[11:25:13] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:25:13] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:25:13] [DB]   msg[0] id=1607, isMyMessage=false, readBy.count=0
[11:25:13] [DB]   msg[1] id=1606, isMyMessage=false, readBy.count=0
[11:25:13] [DB]   msg[2] id=1605, isMyMessage=false, readBy.count=0
[11:25:13] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:25:13] [UNREAD_DEBUG]   FINAL msg[0] id=1607, readBy.count=1
[11:25:13] [UNREAD_DEBUG]   FINAL msg[1] id=1606, readBy.count=1
[11:25:13] [UNREAD_DEBUG]   FINAL msg[2] id=1605, readBy.count=1
[11:25:13] [FOREGROUND_REFRESH] Loaded 50 messages
[11:25:13] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:25:13] [UNREAD_DEBUG]   FINAL msg[0] id=1607, readBy.count=1
[11:25:13] [UNREAD_DEBUG]   FINAL msg[1] id=1606, readBy.count=1
[11:25:13] [UNREAD_DEBUG]   FINAL msg[2] id=1605, readBy.count=1
[11:25:13] [VIEWER_INIT] Loaded 50 messages with read receipts, hasMore: true
[11:25:13] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:25:13] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:25:13] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:25:13] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:25:13] [ROWS] 0: SEPARATOR
[11:25:13] [ROWS] 1: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:25:13] [ROWS] 2: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:25:13] [ROWS] 3: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:25:13] [ROWS] 4: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:25:13] [ROWS] 5: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:25:13] [ROWS] 6: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:25:13] [ROWS] 7: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:25:13] [ROWS] 8: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:25:13] [ROWS] 9: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:25:13] [ROWS] 10: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:25:13] [ROWS] 11: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:25:13] [ROWS] 12: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:25:13] [ROWS] 13: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:25:13] [ROWS] 14: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:25:13] [ROWS] 15: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:25:13] [ROWS] 16: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:25:13] [ROWS] 17: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:25:13] [ROWS] 18: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:25:13] [ROWS] 19: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:25:13] [ROWS] 20: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:25:13] [ROWS] 21: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:25:13] [ROWS] 22: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:25:13] [ROWS] 23: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:25:13] [ROWS] 24: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:25:13] [ROWS] 25: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:25:13] [ROWS] 26: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:25:13] [ROWS] 27: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:25:13] [ROWS] 28: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:25:13] [ROWS] 29: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:25:13] [ROWS] 30: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:25:13] [ROWS] 31: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:25:13] [ROWS] 32: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:25:13] [ROWS] 33: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:25:13] [ROWS] 34: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:25:13] [ROWS] 35: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:25:13] [ROWS] 36: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:25:13] [ROWS] 37: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:25:13] [ROWS] 38: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:25:13] [ROWS] 39: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:25:13] [ROWS] 40: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:25:13] [ROWS] 41: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:25:13] [ROWS] 42: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:25:13] [ROWS] 43: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:25:13] [ROWS] 44: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:25:13] [ROWS] 45: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:25:13] [ROWS] 46: SEPARATOR
[11:25:13] [ROWS] 47: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:25:13] [ROWS] 48: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:25:13] [ROWS] 49: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:25:13] [ROWS] 50: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:25:13] [ROWS] 51: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:25:13] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:25:13] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:25:13] [HEIGHT_DEBUG] Row 1 msg 1607: isPlayingEvolution=false, textLength=5, text='Meeee...'
[11:25:13] [EMOJI] βœ… Loaded 451 emoji-to-GIF mappings
[11:25:13] [HEIGHT] Row 1 msg 1607: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:25:13] [HEIGHT_DEBUG] Row 2 msg 1606: isPlayingEvolution=false, textLength=11, text='Proud to be...'
[11:25:13] [HEIGHT] Row 2 msg 1606: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:25:13] [HEIGHT_DEBUG] Row 1 msg 1607: isPlayingEvolution=false, textLength=5, text='Meeee...'
[11:25:13] [HEIGHT] Row 1 msg 1607: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:25:13] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:25:13] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:25:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:25:13] [HEIGHT_DEBUG] Row 2 msg 1606: isPlayingEvolution=false, textLength=11, text='Proud to be...'
[11:25:13] [HEIGHT] Row 2 msg 1606: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:25:13] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:25:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:25:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:25:13] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:25:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:25:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:25:13] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:25:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:25:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:25:13] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:25:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:25:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:25:13] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:25:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:25:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:25:13] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:25:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:25:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:25:13] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:25:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:25:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:25:13] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:25:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:25:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:25:13] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:25:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:25:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:25:13] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:25:13] ReloadData 18 (viewer init with read receipts)
[11:25:13] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:25:13] [UNREAD_DEBUG]   FINAL msg[0] id=1607, readBy.count=1
[11:25:13] [UNREAD_DEBUG]   FINAL msg[1] id=1606, readBy.count=1
[11:25:13] [UNREAD_DEBUG]   FINAL msg[2] id=1605, readBy.count=1
[11:25:13] [EVOLUTION] πŸ“­ No unread message IDs provided for evolution playback
[11:25:13] [EVOLUTION] πŸ“­ No unread message IDs provided for evolution playback
[11:25:13] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:25:13] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:25:13] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:25:13] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:25:13] [ROWS] 0: SEPARATOR
[11:25:13] [ROWS] 1: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:25:13] [ROWS] 2: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:25:13] [ROWS] 3: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:25:13] [ROWS] 4: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:25:13] [ROWS] 5: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:25:13] [ROWS] 6: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:25:13] [ROWS] 7: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:25:13] [ROWS] 8: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:25:13] [ROWS] 9: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:25:13] [ROWS] 10: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:25:13] [ROWS] 11: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:25:13] [ROWS] 12: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:25:13] [ROWS] 13: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:25:13] [ROWS] 14: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:25:13] [ROWS] 15: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:25:13] [ROWS] 16: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:25:13] [ROWS] 17: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:25:13] [ROWS] 18: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:25:13] [ROWS] 19: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:25:13] [ROWS] 20: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:25:13] [ROWS] 21: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:25:13] [ROWS] 22: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:25:13] [ROWS] 23: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:25:13] [ROWS] 24: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:25:13] [ROWS] 25: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:25:13] [ROWS] 26: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:25:13] [ROWS] 27: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:25:13] [ROWS] 28: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:25:13] [ROWS] 29: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:25:13] [ROWS] 30: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:25:13] [ROWS] 31: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:25:13] [ROWS] 32: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:25:13] [ROWS] 33: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:25:13] [ROWS] 34: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:25:13] [ROWS] 35: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:25:13] [ROWS] 36: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:25:13] [ROWS] 37: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:25:13] [ROWS] 38: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:25:13] [ROWS] 39: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:25:13] [ROWS] 40: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:25:13] [ROWS] 41: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:25:13] [ROWS] 42: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:25:13] [ROWS] 43: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:25:13] [ROWS] 44: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:25:13] [ROWS] 45: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:25:13] [ROWS] 46: SEPARATOR
[11:25:13] [ROWS] 47: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:25:13] [ROWS] 48: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:25:13] [ROWS] 49: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:25:13] [ROWS] 50: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:25:13] [ROWS] 51: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:25:13] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:25:13] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:25:13] [HEIGHT_DEBUG] Row 1 msg 1607: isPlayingEvolution=false, textLength=5, text='Meeee...'
[11:25:13] [HEIGHT] Row 1 msg 1607: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:25:13] [HEIGHT_DEBUG] Row 2 msg 1606: isPlayingEvolution=false, textLength=11, text='Proud to be...'
[11:25:13] [HEIGHT] Row 2 msg 1606: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:25:13] [HEIGHT_DEBUG] Row 1 msg 1607: isPlayingEvolution=false, textLength=5, text='Meeee...'
[11:25:13] [HEIGHT] Row 1 msg 1607: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:25:13] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:25:13] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:25:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:25:13] [HEIGHT_DEBUG] Row 2 msg 1606: isPlayingEvolution=false, textLength=11, text='Proud to be...'
[11:25:13] [HEIGHT] Row 2 msg 1606: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:25:13] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:25:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:25:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:25:13] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:25:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:25:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:25:13] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:25:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:25:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:25:13] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:25:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:25:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:25:13] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:25:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:25:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:25:13] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:25:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:25:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:25:13] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:25:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:25:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:25:13] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:25:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:25:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:25:13] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:25:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:25:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:25:13] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:25:13] [INIT_PAGINATION] Loaded 50 total messages, displaying 50 for tab 0
[11:25:13] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:25:13] [UNREAD_DEBUG]   FINAL msg[0] id=1607, readBy.count=1
[11:25:13] [UNREAD_DEBUG]   FINAL msg[1] id=1606, readBy.count=1
[11:25:13] [UNREAD_DEBUG]   FINAL msg[2] id=1605, readBy.count=1
[11:25:13] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:25:13] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:25:13] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:25:13] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:25:13] [ROWS] 0: SEPARATOR
[11:25:13] [ROWS] 1: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:25:13] [ROWS] 2: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:25:13] [ROWS] 3: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:25:13] [ROWS] 4: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:25:13] [ROWS] 5: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:25:13] [ROWS] 6: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:25:13] [ROWS] 7: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:25:13] [ROWS] 8: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:25:13] [ROWS] 9: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:25:13] [ROWS] 10: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:25:13] [ROWS] 11: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:25:13] [ROWS] 12: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:25:13] [ROWS] 13: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:25:13] [ROWS] 14: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:25:13] [ROWS] 15: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:25:13] [ROWS] 16: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:25:13] [ROWS] 17: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:25:13] [ROWS] 18: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:25:13] [ROWS] 19: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:25:13] [ROWS] 20: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:25:13] [ROWS] 21: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:25:13] [ROWS] 22: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:25:13] [ROWS] 23: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:25:13] [ROWS] 24: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:25:13] [ROWS] 25: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:25:13] [ROWS] 26: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:25:13] [ROWS] 27: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:25:13] [ROWS] 28: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:25:13] [ROWS] 29: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:25:13] [ROWS] 30: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:25:13] [ROWS] 31: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:25:13] [ROWS] 32: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:25:13] [ROWS] 33: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:25:13] [ROWS] 34: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:25:13] [ROWS] 35: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:25:13] [ROWS] 36: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:25:13] [ROWS] 37: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:25:13] [ROWS] 38: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:25:13] [ROWS] 39: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:25:13] [ROWS] 40: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:25:13] [ROWS] 41: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:25:13] [ROWS] 42: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:25:13] [ROWS] 43: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:25:13] [ROWS] 44: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:25:13] [ROWS] 45: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:25:13] [ROWS] 46: SEPARATOR
[11:25:13] [ROWS] 47: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:25:13] [ROWS] 48: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:25:13] [ROWS] 49: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:25:13] [ROWS] 50: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:25:13] [ROWS] 51: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:25:13] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:25:13] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:25:13] [HEIGHT_DEBUG] Row 1 msg 1607: isPlayingEvolution=false, textLength=5, text='Meeee...'
[11:25:13] [HEIGHT] Row 1 msg 1607: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:25:13] [HEIGHT_DEBUG] Row 2 msg 1606: isPlayingEvolution=false, textLength=11, text='Proud to be...'
[11:25:13] [HEIGHT] Row 2 msg 1606: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:25:13] [HEIGHT_DEBUG] Row 1 msg 1607: isPlayingEvolution=false, textLength=5, text='Meeee...'
[11:25:13] [HEIGHT] Row 1 msg 1607: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:25:13] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:25:13] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:25:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:25:13] [HEIGHT_DEBUG] Row 2 msg 1606: isPlayingEvolution=false, textLength=11, text='Proud to be...'
[11:25:13] [HEIGHT] Row 2 msg 1606: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:25:13] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:25:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:25:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:25:13] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:25:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:25:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:25:13] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:25:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:25:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:25:13] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:25:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:25:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:25:13] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:25:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:25:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:25:13] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:25:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:25:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:25:13] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:25:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:25:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:25:13] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:25:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:25:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:25:13] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:25:13] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:25:13] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:25:13] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:25:13] [INITIAL_LOAD] Loaded 50 messages (first page), displaying 50 for tab 0, hasMore: true
[11:25:13] ReloadData 1
[11:25:13] [PURGE] Deleted 0 unused media files:

[11:25:13] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:25:13] [EVOLUTION] πŸ“­ No unread message IDs provided for evolution playback
[11:25:14] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:25:14] Will get events_php
[11:25:14] [TYPING] πŸ”„ ========== POLL START ==========
[11:25:14] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:25:14] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:25:14] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:25:14] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:25:14] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:25:14] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:25:14] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:25:14] [TYPING] πŸ“₯ Found 0 typing users in response
[11:25:14] [TYPING] πŸ“₯ Updating typing users SET: []
[11:25:14] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:25:14] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:25:14] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:25:14] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:25:14] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:25:14] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:25:14] [TYPING] πŸ”„ ========== POLL END ==========
[11:25:14] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=96
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:25:14 GMT
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:25:14] Done
[11:25:14] Main
[11:25:16] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:25:16] Will get events_php
[11:25:16] [TYPING] πŸ”„ ========== POLL START ==========
[11:25:16] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:25:16] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:25:16] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:25:16] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:25:16] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:25:16] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:25:16] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok, "sessionId": ILUIWU2]
[11:25:16] [TYPING] πŸ“₯ Found 0 typing users in response
[11:25:16] [TYPING] πŸ“₯ Updating typing users SET: []
[11:25:16] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=95
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:25:16 GMT
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:25:16] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:25:16] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:25:16] Done
[11:25:16] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:25:16] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:25:16] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:25:16] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:25:16] [TYPING] πŸ”„ ========== POLL END ==========
[11:25:16] Main
[11:25:17] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:25:17] [INFO_PAGE] Found 422 messages for session 'ILUIWU2'
[11:25:17] [INFO_PAGE] Total messages in database: 1188
[11:25:18] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:25:18] Will get events_php
[11:25:18] [TYPING] πŸ”„ ========== POLL START ==========
[11:25:18] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:25:18] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:25:18] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:25:18] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:25:18] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:25:18] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:25:18] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2, "status": ok]
[11:25:18] [TYPING] πŸ“₯ Found 0 typing users in response
[11:25:18] [TYPING] πŸ“₯ Updating typing users SET: []
[11:25:18] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=93
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:25:18 GMT
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:25:18] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:25:18] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:25:18] Done
[11:25:18] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:25:18] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:25:18] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:25:18] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:25:18] [TYPING] πŸ”„ ========== POLL END ==========
[11:25:18] Main
[11:25:20] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:25:20] Will get events_php
[11:25:20] [TYPING] πŸ”„ ========== POLL START ==========
[11:25:20] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:25:20] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:25:20] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:25:20] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:25:20] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:25:20] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:25:20] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok, "sessionId": ILUIWU2]
[11:25:20] [TYPING] πŸ“₯ Found 0 typing users in response
[11:25:20] [TYPING] πŸ“₯ Updating typing users SET: []
[11:25:20] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:25:20] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:25:20] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:25:20] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:25:20] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:25:20] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=92
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:25:20 GMT
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:25:20] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:25:20] [TYPING] πŸ”„ ========== POLL END ==========
[11:25:20] Done
[11:25:20] Main
[11:25:22] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:25:22] [INFO_PAGE] Found 422 messages for session 'ILUIWU2'
[11:25:22] [INFO_PAGE] Total messages in database: 1188
[11:25:22] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:25:22] Will get events_php
[11:25:22] [TYPING] πŸ”„ ========== POLL START ==========
[11:25:22] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:25:22] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:25:22] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:25:22] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:25:22] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:25:22] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:25:22] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok]
[11:25:22] [TYPING] πŸ“₯ Found 0 typing users in response
[11:25:22] [TYPING] πŸ“₯ Updating typing users SET: []
[11:25:22] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:25:22] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:25:22] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:25:22] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:25:22] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:25:22] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:25:22] [TYPING] πŸ”„ ========== POLL END ==========
[11:25:22] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=90
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:25:22 GMT
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:25:22] Done
[11:25:22] Main
[11:25:24] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:25:24] Will get events_php
[11:25:24] [TYPING] πŸ”„ ========== POLL START ==========
[11:25:24] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:25:24] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:25:24] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:25:24] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:25:24] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:25:24] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:25:24] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:25:24] [TYPING] πŸ“₯ Found 0 typing users in response
[11:25:24] [TYPING] πŸ“₯ Updating typing users SET: []
[11:25:24] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:25:24] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:25:24] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:25:24] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:25:24] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:25:24] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:25:24] [TYPING] πŸ”„ ========== POLL END ==========
[11:25:24] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=89
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:25:24 GMT
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:25:24] Done
[11:25:24] Main
[11:25:26] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:25:26] Will get events_php
[11:25:26] [TYPING] πŸ”„ ========== POLL START ==========
[11:25:26] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:25:26] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:25:26] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:25:26] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:25:26] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:25:26] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:25:26] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2]
[11:25:26] [TYPING] πŸ“₯ Found 0 typing users in response
[11:25:26] [TYPING] πŸ“₯ Updating typing users SET: []
[11:25:26] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:25:26] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:25:26] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:25:26] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:25:26] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:25:26] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:25:26] [TYPING] πŸ”„ ========== POLL END ==========
[11:25:26] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=88
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:25:26 GMT
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:25:26] Done
[11:25:26] Main
[11:25:27] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:25:27] [INFO_PAGE] Found 422 messages for session 'ILUIWU2'
[11:25:27] [INFO_PAGE] Total messages in database: 1188
[11:25:28] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:25:28] Will get events_php
[11:25:28] [TYPING] πŸ”„ ========== POLL START ==========
[11:25:28] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:25:28] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:25:28] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:25:28] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:25:28] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:25:28] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:25:28] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok]
[11:25:28] [TYPING] πŸ“₯ Found 0 typing users in response
[11:25:28] [TYPING] πŸ“₯ Updating typing users SET: []
[11:25:28] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:25:28] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=86
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:25:28 GMT
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:25:28] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:25:28] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:25:28] Done
[11:25:28] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:25:28] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:25:28] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:25:28] [TYPING] πŸ”„ ========== POLL END ==========
[11:25:28] Main
[11:25:30] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:25:30] Will get events_php
[11:25:30] [TYPING] πŸ”„ ========== POLL START ==========
[11:25:30] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:25:30] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:25:30] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:25:30] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:25:30] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:25:30] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:25:30] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:25:30] [TYPING] πŸ“₯ Found 0 typing users in response
[11:25:30] [TYPING] πŸ“₯ Updating typing users SET: []
[11:25:30] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:25:30] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:25:30] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:25:30] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:25:30] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:25:30] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:25:30] [TYPING] πŸ”„ ========== POLL END ==========
[11:25:30] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=85
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:25:30 GMT
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:25:30] Done
[11:25:30] Main
[11:25:32] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:25:32] [INFO_PAGE] Found 422 messages for session 'ILUIWU2'
[11:25:32] [INFO_PAGE] Total messages in database: 1188
[11:25:32] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:25:32] Will get events_php
[11:25:32] [TYPING] πŸ”„ ========== POLL START ==========
[11:25:32] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:25:32] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:25:32] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:25:32] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:25:32] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:25:32] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:25:32] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:25:32] [TYPING] πŸ“₯ Found 0 typing users in response
[11:25:32] [TYPING] πŸ“₯ Updating typing users SET: []
[11:25:32] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:25:32] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:25:32] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:25:32] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:25:32] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:25:32] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:25:32] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=83
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:25:32 GMT
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:25:32] [TYPING] πŸ”„ ========== POLL END ==========
[11:25:32] Done
[11:25:32] Main
[11:25:34] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:25:34] Will get events_php
[11:25:34] [TYPING] πŸ”„ ========== POLL START ==========
[11:25:34] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:25:34] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:25:34] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:25:34] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:25:34] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:25:34] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:25:34] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok]
[11:25:34] [TYPING] πŸ“₯ Found 0 typing users in response
[11:25:34] [TYPING] πŸ“₯ Updating typing users SET: []
[11:25:34] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:25:34] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:25:34] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:25:34] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:25:34] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:25:34] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:25:34] [TYPING] πŸ”„ ========== POLL END ==========
[11:25:34] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=82
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:25:34 GMT
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:25:34] Done
[11:25:34] Main
[11:25:36] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:25:36] Will get events_php
[11:25:36] [TYPING] πŸ”„ ========== POLL START ==========
[11:25:36] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:25:36] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:25:36] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:25:36] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:25:36] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:25:36] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:25:36] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:25:36] [TYPING] πŸ“₯ Found 0 typing users in response
[11:25:36] [TYPING] πŸ“₯ Updating typing users SET: []
[11:25:36] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:25:36] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:25:36] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:25:36] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:25:36] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:25:36] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:25:36] [TYPING] πŸ”„ ========== POLL END ==========
[11:25:36] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=81
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:25:36 GMT
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:25:36] Done
[11:25:36] Main
[11:25:37] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:25:37] [INFO_PAGE] Found 422 messages for session 'ILUIWU2'
[11:25:37] [INFO_PAGE] Total messages in database: 1188
[11:25:38] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:25:38] Will get events_php
[11:25:38] [TYPING] πŸ”„ ========== POLL START ==========
[11:25:38] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:25:38] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:25:38] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:25:38] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:25:38] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=79
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:25:38 GMT
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:25:38] Done
[11:25:38] Main
[11:25:38] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:25:38] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:25:38] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok, "sessionId": ILUIWU2]
[11:25:38] [TYPING] πŸ“₯ Found 0 typing users in response
[11:25:38] [TYPING] πŸ“₯ Updating typing users SET: []
[11:25:38] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:25:38] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:25:38] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:25:38] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:25:38] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:25:38] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:25:38] [TYPING] πŸ”„ ========== POLL END ==========
[11:25:40] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:25:40] Will get events_php
[11:25:40] [TYPING] πŸ”„ ========== POLL START ==========
[11:25:40] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:25:40] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:25:40] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:25:40] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:25:40] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:25:40] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:25:40] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:25:40] [TYPING] πŸ“₯ Found 0 typing users in response
[11:25:40] [TYPING] πŸ“₯ Updating typing users SET: []
[11:25:40] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:25:40] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:25:40] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:25:40] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:25:40] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:25:40] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:25:40] [TYPING] πŸ”„ ========== POLL END ==========
[11:25:40] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=78
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:25:40 GMT
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:25:40] Done
[11:25:40] Main
[11:25:42] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:25:42] [INFO_PAGE] Found 422 messages for session 'ILUIWU2'
[11:25:42] [INFO_PAGE] Total messages in database: 1188
[11:25:42] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:25:42] Will get events_php
[11:25:42] [TYPING] πŸ”„ ========== POLL START ==========
[11:25:42] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:25:42] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:25:42] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:25:42] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:25:42] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=76
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:25:42 GMT
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:25:42] Done
[11:25:42] Main
[11:25:42] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:25:42] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:25:42] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2, "status": ok]
[11:25:42] [TYPING] πŸ“₯ Found 0 typing users in response
[11:25:42] [TYPING] πŸ“₯ Updating typing users SET: []
[11:25:42] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:25:42] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:25:42] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:25:42] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:25:42] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:25:42] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:25:42] [TYPING] πŸ”„ ========== POLL END ==========
[11:25:44] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:25:44] Will get events_php
[11:25:44] [TYPING] πŸ”„ ========== POLL START ==========
[11:25:44] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:25:44] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:25:44] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:25:44] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:25:44] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:25:44] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:25:44] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok]
[11:25:44] [TYPING] πŸ“₯ Found 0 typing users in response
[11:25:44] [TYPING] πŸ“₯ Updating typing users SET: []
[11:25:44] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=75
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:25:44 GMT
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:25:44] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:25:44] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:25:44] Done
[11:25:44] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:25:44] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:25:44] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:25:44] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:25:44] [TYPING] πŸ”„ ========== POLL END ==========
[11:25:44] Main
[11:25:46] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:25:46] Will get events_php
[11:25:46] [TYPING] πŸ”„ ========== POLL START ==========
[11:25:46] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:25:46] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:25:46] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:25:46] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:25:46] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:25:46] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:25:46] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:25:46] [TYPING] πŸ“₯ Found 0 typing users in response
[11:25:46] [TYPING] πŸ“₯ Updating typing users SET: []
[11:25:46] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:25:46] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:25:46] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:25:46] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:25:46] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:25:46] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:25:46] [TYPING] πŸ”„ ========== POLL END ==========
[11:25:46] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=74
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:25:46 GMT
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:25:46] Done
[11:25:46] Main
[11:25:47] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:25:47] [INFO_PAGE] Found 422 messages for session 'ILUIWU2'
[11:25:47] [INFO_PAGE] Total messages in database: 1188
[11:25:48] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:25:48] Will get events_php
[11:25:48] [TYPING] πŸ”„ ========== POLL START ==========
[11:25:48] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:25:48] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:25:48] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:25:48] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:25:48] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:25:48] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:25:48] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:25:48] [TYPING] πŸ“₯ Found 0 typing users in response
[11:25:48] [TYPING] πŸ“₯ Updating typing users SET: []
[11:25:48] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=72
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:25:48 GMT
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:25:48] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:25:48] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:25:48] Done
[11:25:48] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:25:48] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:25:48] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:25:48] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:25:48] [TYPING] πŸ”„ ========== POLL END ==========
[11:25:48] Main
[11:25:50] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:25:50] Will get events_php
[11:25:50] [TYPING] πŸ”„ ========== POLL START ==========
[11:25:50] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:25:50] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:25:50] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:25:50] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:25:50] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:25:50] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:25:50] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok]
[11:25:50] [TYPING] πŸ“₯ Found 0 typing users in response
[11:25:50] [TYPING] πŸ“₯ Updating typing users SET: []
[11:25:50] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:25:50] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:25:50] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:25:50] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:25:50] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:25:50] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:25:50] [TYPING] πŸ”„ ========== POLL END ==========
[11:25:50] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=71
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:25:50 GMT
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:25:50] Done
[11:25:50] Main
[11:25:52] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:25:52] [INFO_PAGE] Found 422 messages for session 'ILUIWU2'
[11:25:52] [INFO_PAGE] Total messages in database: 1188
[11:25:52] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:25:52] Will get events_php
[11:25:52] [TYPING] πŸ”„ ========== POLL START ==========
[11:25:52] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:25:52] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:25:52] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:25:52] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:25:52] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=100
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:25:52 GMT
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:25:52] Done
[11:25:52] Main
[11:25:52] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:25:52] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:25:52] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:25:52] [TYPING] πŸ“₯ Found 0 typing users in response
[11:25:52] [TYPING] πŸ“₯ Updating typing users SET: []
[11:25:52] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:25:52] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:25:52] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:25:52] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:25:52] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:25:52] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:25:52] [TYPING] πŸ”„ ========== POLL END ==========
[11:25:54] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:25:54] Will get events_php
[11:25:54] [TYPING] πŸ”„ ========== POLL START ==========
[11:25:54] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:25:54] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:25:54] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:25:54] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:25:54] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:25:54] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:25:54] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok]
[11:25:54] [TYPING] πŸ“₯ Found 0 typing users in response
[11:25:54] [TYPING] πŸ“₯ Updating typing users SET: []
[11:25:54] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:25:54] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:25:54] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:25:54] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:25:54] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:25:54] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:25:54] [TYPING] πŸ”„ ========== POLL END ==========
[11:25:54] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=69
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:25:54 GMT
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:25:54] Done
[11:25:54] Main
[11:25:56] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:25:56] Will get events_php
[11:25:56] [TYPING] πŸ”„ ========== POLL START ==========
[11:25:56] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:25:56] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:25:56] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:25:56] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:25:56] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=68
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:25:56 GMT
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:25:56] Done
[11:25:56] Main
[11:25:56] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:25:56] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:25:56] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:25:56] [TYPING] πŸ“₯ Found 0 typing users in response
[11:25:56] [TYPING] πŸ“₯ Updating typing users SET: []
[11:25:56] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:25:56] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:25:56] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:25:56] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:25:56] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:25:56] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:25:56] [TYPING] πŸ”„ ========== POLL END ==========
[11:25:57] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:25:57] [INFO_PAGE] Found 422 messages for session 'ILUIWU2'
[11:25:57] [INFO_PAGE] Total messages in database: 1188
[11:25:58] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:25:58] Will get events_php
[11:25:58] [TYPING] πŸ”„ ========== POLL START ==========
[11:25:58] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:25:58] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:25:58] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:25:58] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:25:58] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:25:58] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:25:58] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok]
[11:25:58] [TYPING] πŸ“₯ Found 0 typing users in response
[11:25:58] [TYPING] πŸ“₯ Updating typing users SET: []
[11:25:58] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:25:58] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:25:58] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:25:58] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:25:58] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=66
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:25:58 GMT
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:25:58] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:25:58] Done
[11:25:58] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:25:58] [TYPING] πŸ”„ ========== POLL END ==========
[11:25:58] Main
[11:26:00] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:26:00] Will get events_php
[11:26:00] [TYPING] πŸ”„ ========== POLL START ==========
[11:26:00] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:26:00] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:26:00] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:26:00] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:26:00] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:26:00] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:26:00] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok, "sessionId": ILUIWU2]
[11:26:00] [TYPING] πŸ“₯ Found 0 typing users in response
[11:26:00] [TYPING] πŸ“₯ Updating typing users SET: []
[11:26:00] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:26:00] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:26:00] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:26:00] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:26:00] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:26:00] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:26:00] [TYPING] πŸ”„ ========== POLL END ==========
[11:26:00] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=65
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:26:00 GMT
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:26:00] Done
[11:26:00] Main
[11:26:02] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:26:02] [INFO_PAGE] Found 422 messages for session 'ILUIWU2'
[11:26:02] [INFO_PAGE] Total messages in database: 1188
[11:26:02] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:26:02] Will get events_php
[11:26:02] [TYPING] πŸ”„ ========== POLL START ==========
[11:26:02] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:26:02] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:26:02] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:26:02] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:26:02] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:26:02] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:26:02] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok]
[11:26:02] [TYPING] πŸ“₯ Found 0 typing users in response
[11:26:02] [TYPING] πŸ“₯ Updating typing users SET: []
[11:26:02] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:26:02] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:26:02] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:26:02] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:26:02] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:26:02] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:26:02] [TYPING] πŸ”„ ========== POLL END ==========
[11:26:02] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=63
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:26:02 GMT
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:26:02] Done
[11:26:02] Main
[11:26:04] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:26:04] Will get events_php
[11:26:04] [TYPING] πŸ”„ ========== POLL START ==========
[11:26:04] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:26:04] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:26:04] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:26:04] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:26:04] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:26:04] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:26:04] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok]
[11:26:04] [TYPING] πŸ“₯ Found 0 typing users in response
[11:26:04] [TYPING] πŸ“₯ Updating typing users SET: []
[11:26:04] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:26:04] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:26:04] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:26:04] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:26:04] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:26:04] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:26:04] [TYPING] πŸ”„ ========== POLL END ==========
[11:26:04] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=62
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:26:04 GMT
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:26:04] Done
[11:26:04] Main
[11:26:06] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:26:06] Will get events_php
[11:26:06] [TYPING] πŸ”„ ========== POLL START ==========
[11:26:06] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:26:06] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:26:06] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:26:06] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:26:06] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:26:06] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:26:06] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok]
[11:26:06] [TYPING] πŸ“₯ Found 0 typing users in response
[11:26:06] [TYPING] πŸ“₯ Updating typing users SET: []
[11:26:06] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:26:06] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:26:06] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:26:06] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:26:06] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:26:06] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:26:06] [TYPING] πŸ”„ ========== POLL END ==========
[11:26:06] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=61
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:26:06 GMT
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:26:06] Done
[11:26:06] Main
[11:26:07] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:26:07] [INFO_PAGE] Found 422 messages for session 'ILUIWU2'
[11:26:07] [INFO_PAGE] Total messages in database: 1188
[11:26:08] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:26:08] Will get events_php
[11:26:08] [TYPING] πŸ”„ ========== POLL START ==========
[11:26:08] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:26:08] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:26:08] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:26:08] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:26:08] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:26:08] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:26:08] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok]
[11:26:08] [TYPING] πŸ“₯ Found 0 typing users in response
[11:26:08] [TYPING] πŸ“₯ Updating typing users SET: []
[11:26:08] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=59
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:26:08 GMT
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:26:08] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:26:08] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:26:08] Done
[11:26:08] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:26:08] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:26:08] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:26:08] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:26:08] [TYPING] πŸ”„ ========== POLL END ==========
[11:26:08] Main
[11:26:10] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:26:10] Will get events_php
[11:26:10] [TYPING] πŸ”„ ========== POLL START ==========
[11:26:10] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:26:10] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:26:10] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:26:10] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:26:10] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:26:10] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:26:10] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok]
[11:26:10] [TYPING] πŸ“₯ Found 0 typing users in response
[11:26:10] [TYPING] πŸ“₯ Updating typing users SET: []
[11:26:10] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:26:10] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:26:10] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:26:10] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:26:10] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:26:10] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:26:10] [TYPING] πŸ”„ ========== POLL END ==========
[11:26:10] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=58
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:26:10 GMT
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:26:10] Done
[11:26:10] Main
[11:26:12] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:26:12] [INFO_PAGE] Found 422 messages for session 'ILUIWU2'
[11:26:12] [INFO_PAGE] Total messages in database: 1188
[11:26:12] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:26:12] Will get events_php
[11:26:12] [TYPING] πŸ”„ ========== POLL START ==========
[11:26:12] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:26:12] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:26:12] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:26:12] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:26:12] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:26:12] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:26:12] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok, "sessionId": ILUIWU2]
[11:26:12] [TYPING] πŸ“₯ Found 0 typing users in response
[11:26:12] [TYPING] πŸ“₯ Updating typing users SET: []
[11:26:12] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:26:12] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:26:12] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=100
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:26:12 GMT
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:26:12] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:26:12] Done
[11:26:12] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:26:12] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:26:12] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:26:12] [TYPING] πŸ”„ ========== POLL END ==========
[11:26:12] Main
[11:26:14] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:26:14] Will get events_php
[11:26:14] [TYPING] πŸ”„ ========== POLL START ==========
[11:26:14] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:26:14] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:26:14] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:26:14] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:26:14] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:26:14] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:26:14] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok]
[11:26:14] [TYPING] πŸ“₯ Found 0 typing users in response
[11:26:14] [TYPING] πŸ“₯ Updating typing users SET: []
[11:26:14] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=56
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:26:14 GMT
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:26:14] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:26:14] Done
[11:26:14] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:26:14] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:26:14] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:26:14] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:26:14] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:26:14] [TYPING] πŸ”„ ========== POLL END ==========
[11:26:14] Main
[11:26:16] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:26:16] Will get events_php
[11:26:16] [TYPING] πŸ”„ ========== POLL START ==========
[11:26:16] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:26:16] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:26:16] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:26:16] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:26:16] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:26:16] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:26:16] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok]
[11:26:16] [TYPING] πŸ“₯ Found 0 typing users in response
[11:26:16] [TYPING] πŸ“₯ Updating typing users SET: []
[11:26:16] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Length: 56
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=55
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:26:16 GMT
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:26:16] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:26:16] Done
[11:26:16] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:26:16] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:26:16] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:26:16] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:26:16] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:26:16] [TYPING] πŸ”„ ========== POLL END ==========
[11:26:16] Main
[11:26:31] [CRASH] Previous session did not exit cleanly - crash detected
[11:26:31] [GIPHY] SDK not available - using REST API fallback
[11:26:31] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:26:31] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:26:31] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:26:31] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:26:31] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:26:31] [SCENE] Launched directly to chat view with sessionId: ILUIWU2
[11:26:31] [PUSH] APNs token: 6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c
[11:26:31] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:26:31] Documents Directory: /var/mobile/Containers/Data/Application/0D278E52-1AE9-4EA3-B092-DF41C6F04CFD/Documents
[11:26:31] [NOTIFICATION] πŸ”” Notification button created and added to topNavBar
[11:26:31] [NOTIFICATION] πŸ”” Button tintColor: grey (0.5, 0.5, 0.5)
[11:26:31] [NOTIFICATION] πŸ”” Button isUserInteractionEnabled: true
[11:26:31] [INFO_PAGE] InformationViewController viewDidLoad called
[11:26:31] [INFO_PAGE] Actions configured (bell button is external)
[11:26:31] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:26:31] [INFO_PAGE] Successfully opened database at /var/mobile/Containers/Data/Application/0D278E52-1AE9-4EA3-B092-DF41C6F04CFD/Documents/chat_local_viewer.db
[11:26:31] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:26:31] [INFO_PAGE] Found 422 messages for session 'ILUIWU2'
[11:26:31] [INFO_PAGE] Total messages in database: 1188
[11:26:31] [INFO_PAGE] InformationViewController setup complete
[11:26:31] [INFO_PAGE] ℹ️ Information page added to tab 3
[11:26:31] [THEME] Applying current theme
[11:26:31] [CHAT] Applied day theme (mode: day)
[11:26:31] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:26:31] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:26:31] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:26:31] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:26:31] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:26:31] [SUMMARY] Already showed summary today (2025-11-16)
[11:26:31] Did transition
[11:26:31] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:26:31] [VIEWER] Screen lock enabled - normal idle behavior
[11:26:31] [QUERY] πŸ” Checking tab - currentTabIndex=0
[11:26:31] [QUERY] πŸ”΅ [TAB 0] No query connection needed
[11:26:31] [QUERY] βœ… [TAB 0] Initialized without query connection
[11:26:31] [LOCATION] Started location updates for distance calculation (already authorized)
[11:26:31] [TAB 0] Skipping reconnect polling - only needed for tab 1
[11:26:31] [VIEWER_INIT] Loading messages with read receipts from server
[11:26:31] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:26:31] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:26:31] [DB]   msg[0] id=1607, isMyMessage=false, readBy.count=0
[11:26:31] [DB]   msg[1] id=1606, isMyMessage=false, readBy.count=0
[11:26:31] [DB]   msg[2] id=1605, isMyMessage=false, readBy.count=0
[11:26:31] [EVOLUTION] πŸ” Found 0 NEW unread messages from local DB before fetching read receipts (lastSeenMessageId=1607): []
[11:26:31] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1607, readBy=[]", "id=1606, readBy=[]", "id=1605, readBy=[]"]
[11:26:31] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:26:31] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:26:31] [DB]   msg[0] id=1607, isMyMessage=false, readBy.count=0
[11:26:31] [DB]   msg[1] id=1606, isMyMessage=false, readBy.count=0
[11:26:31] [DB]   msg[2] id=1605, isMyMessage=false, readBy.count=0
[11:26:31] [EVENT_POLL] Starting periodic event polling for viewer mode (5s interval)
[11:26:31] [ORIENTATION] Updated pagingScrollView height to 247.5 for width 440.0
[11:26:31] [SUMMARY] Already showed summary today (2025-11-16)
[11:26:31] Did transition
[11:26:31] [NOTIFICATION] πŸ”” Constraints activated for notification button
[11:26:31] [NOTIFICATION] πŸ”” topNavBar frame: (0.0, 0.0, 440.0, 50.0)
[11:26:31] [NOTIFICATION] πŸ”” menuButton frame: (0.0, 0.0, 39.0, 30.0)
[11:26:31] [NOTIFICATION] πŸ”” notificationButton frame: (0.0, 0.0, 56.333333333333336, 58.0)
[11:26:31] [NOTIFICATION] πŸ”” Notification button brought to front
[11:26:31] [NOTIFICATION] πŸ”„ Updating icon to: bell.slash.fill (muted=true)
[11:26:31] [NOTIFICATION] βœ… Icon updated successfully
[11:26:31] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[11:26:31] [MIGRATION] No messages need sender_name backfill
[11:26:31] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:26:31] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:26:31] [DB]   msg[0] id=1607, isMyMessage=false, readBy.count=0
[11:26:31] [DB]   msg[1] id=1606, isMyMessage=false, readBy.count=0
[11:26:31] [DB]   msg[2] id=1605, isMyMessage=false, readBy.count=0
[11:26:31] [INFO_PAGE] InformationViewController viewWillAppear - applying theme
[11:26:31] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:26:31] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:26:31] [PAGINATION_SCROLL] offset=-12.0, contentHeight=108.0, distFromBottom=120.0, dragging=false, decel=false, isLoading=false, cooldown=63899058391.6317s
[11:26:31] [PAGINATION_SCROLL] offset=0.0, contentHeight=108.0, distFromBottom=-650.0, dragging=false, decel=false, isLoading=false, cooldown=63899058391.63314s
[11:26:32] [LOCATION] Authorization changed: 4
[11:26:32] [NOTIFICATION] πŸ”” FINAL STATE after viewDidLoad:
[11:26:32] [NOTIFICATION] πŸ”” notificationButton.frame: (392.0, 67.0, 40.0, 40.0)
[11:26:32] [NOTIFICATION] πŸ”” notificationButton.isHidden: false
[11:26:32] [NOTIFICATION] πŸ”” notificationButton.alpha: 1.0
[11:26:32] [NOTIFICATION] πŸ”” notificationButton.superview: true
[11:26:32] [NOTIFICATION] πŸ”” topNavBar.isHidden: false
[11:26:32] [NOTIFICATION] πŸ”” topNavBar.subviews.count: 3
[11:26:32] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:26:32] [PUSH] Device role updated to 'viewer': HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:26:32] [USER] βœ… User registered successfully
[11:26:32] [USER] User registration successful
[11:26:32] [CHAT] βœ… refreshAllFromServer - parsed 424 messages from server
[11:26:32] [DB] clearDBForSession(ILUIWU2): deleted 422 messages, result=101
[11:26:32] ReloadData 15 (424 messages loaded, 0 pending media)
[11:26:32] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:26:32] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:26:32] [DB]   msg[0] id=1609, isMyMessage=false, readBy.count=0
[11:26:32] [DB]   msg[1] id=1608, isMyMessage=false, readBy.count=0
[11:26:32] [DB]   msg[2] id=1607, isMyMessage=false, readBy.count=0
[11:26:32] [EVOLUTION] πŸ” Found 2 NEW unread messages after refreshAllFromServer (lastSeenMessageId=1607): [1609, 1608]
[11:26:32] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1609, readBy=[]", "id=1608, readBy=[]", "id=1607, readBy=[]"]
[11:26:32] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:26:32] [PUSH] Device role updated to 'viewer': HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:26:32] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:26:32] [DB]   msg[0] id=1609, isMyMessage=false, readBy.count=0
[11:26:32] [DB]   msg[1] id=1608, isMyMessage=false, readBy.count=0
[11:26:32] [DB]   msg[2] id=1607, isMyMessage=false, readBy.count=0
[11:26:32] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:26:32] [UNREAD_DEBUG]   FINAL msg[0] id=1607, readBy.count=1
[11:26:32] [UNREAD_DEBUG]   FINAL msg[1] id=1606, readBy.count=1
[11:26:32] [UNREAD_DEBUG]   FINAL msg[2] id=1605, readBy.count=1
[11:26:32] [VIEWER_INIT] Loaded 50 messages with read receipts, hasMore: true
[11:26:32] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:26:32] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:26:32] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:26:32] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:26:32] [ROWS] 0: SEPARATOR
[11:26:32] [ROWS] 1: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:26:32] [ROWS] 2: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:26:32] [ROWS] 3: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:26:32] [ROWS] 4: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:26:32] [ROWS] 5: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:26:32] [ROWS] 6: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:26:32] [ROWS] 7: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:26:32] [ROWS] 8: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:26:32] [ROWS] 9: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:26:32] [ROWS] 10: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:26:32] [ROWS] 11: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:26:32] [ROWS] 12: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:26:32] [ROWS] 13: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:26:32] [ROWS] 14: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:26:32] [ROWS] 15: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:26:32] [ROWS] 16: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:26:32] [ROWS] 17: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:26:32] [ROWS] 18: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:26:32] [ROWS] 19: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:32] [ROWS] 20: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:26:32] [ROWS] 21: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:26:32] [ROWS] 22: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:26:32] [ROWS] 23: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:26:32] [ROWS] 24: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:26:32] [ROWS] 25: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:26:32] [ROWS] 26: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:26:32] [ROWS] 27: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:26:32] [ROWS] 28: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:26:32] [ROWS] 29: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:26:32] [ROWS] 30: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:26:32] [ROWS] 31: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:26:32] [ROWS] 32: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:26:32] [ROWS] 33: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:26:32] [ROWS] 34: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:26:32] [ROWS] 35: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:26:32] [ROWS] 36: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:32] [ROWS] 37: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:26:32] [ROWS] 38: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:26:32] [ROWS] 39: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:26:32] [ROWS] 40: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:32] [ROWS] 41: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:32] [ROWS] 42: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:32] [ROWS] 43: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:32] [ROWS] 44: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:32] [ROWS] 45: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:32] [ROWS] 46: SEPARATOR
[11:26:32] [ROWS] 47: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:26:32] [ROWS] 48: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:26:32] [ROWS] 49: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:26:32] [ROWS] 50: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:26:32] [ROWS] 51: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:26:32] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:26:32] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:26:32] [HEIGHT_DEBUG] Row 1 msg 1607: isPlayingEvolution=false, textLength=5, text='Meeee...'
[11:26:32] [EMOJI] βœ… Loaded 451 emoji-to-GIF mappings
[11:26:32] [HEIGHT] Row 1 msg 1607: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:26:32] [HEIGHT_DEBUG] Row 2 msg 1606: isPlayingEvolution=false, textLength=11, text='Proud to be...'
[11:26:32] [HEIGHT] Row 2 msg 1606: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:26:32] [HEIGHT_DEBUG] Row 1 msg 1607: isPlayingEvolution=false, textLength=5, text='Meeee...'
[11:26:32] [HEIGHT] Row 1 msg 1607: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:26:32] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:26:32] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:26:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:32] [HEIGHT_DEBUG] Row 2 msg 1606: isPlayingEvolution=false, textLength=11, text='Proud to be...'
[11:26:32] [HEIGHT] Row 2 msg 1606: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:26:32] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:32] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:32] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:32] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:32] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:32] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:32] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:32] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:32] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:32] [BADGES] Chat tab unread: 1, Slave tab unread: 0, current tab: 0
[11:26:32] ReloadData 18 (viewer init with read receipts)
[11:26:32] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:26:32] [UNREAD_DEBUG]   FINAL msg[0] id=1607, readBy.count=1
[11:26:32] [UNREAD_DEBUG]   FINAL msg[1] id=1606, readBy.count=1
[11:26:32] [UNREAD_DEBUG]   FINAL msg[2] id=1605, readBy.count=1
[11:26:32] [EVOLUTION] πŸ“­ No unread message IDs provided for evolution playback
[11:26:32] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:26:32] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:26:32] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:26:32] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:26:32] [ROWS] 0: SEPARATOR
[11:26:32] [ROWS] 1: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:26:32] [ROWS] 2: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:26:32] [ROWS] 3: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:26:32] [ROWS] 4: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:26:32] [ROWS] 5: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:26:32] [ROWS] 6: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:26:32] [ROWS] 7: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:26:32] [ROWS] 8: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:26:32] [ROWS] 9: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:26:32] [ROWS] 10: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:26:32] [ROWS] 11: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:26:32] [ROWS] 12: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:26:32] [ROWS] 13: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:26:32] [ROWS] 14: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:26:32] [ROWS] 15: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:26:32] [ROWS] 16: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:26:32] [ROWS] 17: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:26:32] [ROWS] 18: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:26:32] [ROWS] 19: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:32] [ROWS] 20: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:26:32] [ROWS] 21: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:26:32] [ROWS] 22: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:26:32] [ROWS] 23: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:26:32] [ROWS] 24: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:26:32] [ROWS] 25: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:26:32] [ROWS] 26: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:26:32] [ROWS] 27: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:26:32] [ROWS] 28: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:26:32] [ROWS] 29: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:26:32] [ROWS] 30: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:26:32] [ROWS] 31: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:26:32] [ROWS] 32: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:26:32] [ROWS] 33: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:26:32] [ROWS] 34: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:26:32] [ROWS] 35: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:26:32] [ROWS] 36: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:32] [ROWS] 37: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:26:32] [ROWS] 38: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:26:32] [ROWS] 39: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:26:32] [ROWS] 40: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:32] [ROWS] 41: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:32] [ROWS] 42: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:32] [ROWS] 43: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:32] [ROWS] 44: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:32] [ROWS] 45: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:32] [ROWS] 46: SEPARATOR
[11:26:32] [ROWS] 47: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:26:32] [ROWS] 48: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:26:32] [ROWS] 49: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:26:32] [ROWS] 50: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:26:32] [ROWS] 51: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:26:32] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:26:32] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:26:32] [HEIGHT_DEBUG] Row 1 msg 1607: isPlayingEvolution=false, textLength=5, text='Meeee...'
[11:26:32] [HEIGHT] Row 1 msg 1607: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:26:32] [HEIGHT_DEBUG] Row 2 msg 1606: isPlayingEvolution=false, textLength=11, text='Proud to be...'
[11:26:32] [HEIGHT] Row 2 msg 1606: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:26:32] [HEIGHT_DEBUG] Row 1 msg 1607: isPlayingEvolution=false, textLength=5, text='Meeee...'
[11:26:32] [HEIGHT] Row 1 msg 1607: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:26:32] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:26:32] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:26:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:32] [HEIGHT_DEBUG] Row 2 msg 1606: isPlayingEvolution=false, textLength=11, text='Proud to be...'
[11:26:32] [HEIGHT] Row 2 msg 1606: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:26:32] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:32] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:32] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:32] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:32] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:32] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:32] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:32] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:32] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:32] [BADGES] Chat tab unread: 1, Slave tab unread: 0, current tab: 0
[11:26:32] [INIT_PAGINATION] Loaded 50 total messages, displaying 50 for tab 0
[11:26:32] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:26:32] [UNREAD_DEBUG]   FINAL msg[0] id=1609, readBy.count=0
[11:26:32] [UNREAD_DEBUG]   FINAL msg[1] id=1608, readBy.count=0
[11:26:32] [UNREAD_DEBUG]   FINAL msg[2] id=1607, readBy.count=1
[11:26:32] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:26:32] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:26:32] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:26:32] [EVOLUTION] πŸ“ Updated lastSeenMessageId: 1607 β†’ 1609
[11:26:32] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:26:32] [ROWS] 0: SEPARATOR
[11:26:32] [ROWS] 1: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:26:32] [ROWS] 2: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:32] [ROWS] 3: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:26:32] [ROWS] 4: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:26:32] [ROWS] 5: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:26:32] [ROWS] 6: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:26:32] [ROWS] 7: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:26:32] [ROWS] 8: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:26:32] [ROWS] 9: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:26:32] [ROWS] 10: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:26:32] [ROWS] 11: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:26:32] [ROWS] 12: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:26:32] [ROWS] 13: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:26:32] [ROWS] 14: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:26:32] [ROWS] 15: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:26:32] [ROWS] 16: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:26:32] [ROWS] 17: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:26:32] [ROWS] 18: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:26:32] [ROWS] 19: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:26:32] [ROWS] 20: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:26:32] [ROWS] 21: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:32] [ROWS] 22: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:26:32] [ROWS] 23: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:26:32] [ROWS] 24: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:26:32] [ROWS] 25: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:26:32] [ROWS] 26: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:26:32] [ROWS] 27: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:26:32] [ROWS] 28: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:26:32] [ROWS] 29: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:26:32] [ROWS] 30: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:26:32] [ROWS] 31: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:26:32] [ROWS] 32: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:26:32] [ROWS] 33: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:26:32] [ROWS] 34: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:26:32] [ROWS] 35: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:26:32] [ROWS] 36: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:26:32] [ROWS] 37: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:26:32] [ROWS] 38: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:32] [ROWS] 39: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:26:32] [ROWS] 40: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:26:32] [ROWS] 41: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:26:32] [ROWS] 42: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:32] [ROWS] 43: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:32] [ROWS] 44: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:32] [ROWS] 45: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:32] [ROWS] 46: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:32] [ROWS] 47: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:32] [ROWS] 48: SEPARATOR
[11:26:32] [ROWS] 49: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:26:32] [ROWS] 50: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:26:32] [ROWS] 51: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:26:32] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:26:32] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:26:32] [HEIGHT_DEBUG] Row 1 msg 1609: isPlayingEvolution=false, textLength=2, text='U2...'
[11:26:32] [HEIGHT] Row 1 msg 1609: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:26:32] [HEIGHT_DEBUG] Row 2 msg 1608: isPlayingEvolution=false, textLength=9, text='Radiohead...'
[11:26:32] [HEIGHT] Row 2 msg 1608: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:26:32] [HEIGHT_DEBUG] Row 1 msg 1609: isPlayingEvolution=false, textLength=2, text='U2...'
[11:26:32] [HEIGHT] Row 1 msg 1609: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:26:32] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:26:32] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:26:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:32] [HEIGHT_DEBUG] Row 2 msg 1608: isPlayingEvolution=false, textLength=9, text='Radiohead...'
[11:26:32] [HEIGHT] Row 2 msg 1608: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:26:32] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:32] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:32] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:32] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:32] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:32] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:32] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:32] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:32] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:32] [BADGES] Chat tab unread: 1, Slave tab unread: 0, current tab: 0
[11:26:32] [INITIAL_LOAD] Loaded 50 messages (first page), displaying 50 for tab 0, hasMore: true
[11:26:32] ReloadData 1
[11:26:32] [PURGE] Deleted 0 unused media files:

[11:26:32] [BADGES] Chat tab unread: 1, Slave tab unread: 0, current tab: 0
[11:26:32] [EVOLUTION_SEQ] ⏱️ t=1763288792.837 πŸ“‹ Starting with 2 messages: [1609, 1608]
[11:26:32] [EVOLUTION_SEQ] πŸ“Š Message 1/2: id=1608, length=9 chars, estimated_duration=0.45s
[11:26:32] [EVOLUTION_SEQ] πŸ“Š Message 2/2: id=1609, length=2 chars, estimated_duration=0.10s
[11:26:32] [EVOLUTION_SEQ] ⏱️ t=1763288792.837 πŸ”’ Marked 2 messages as pending (hidden from view)
[11:26:32] [EVOLUTION_SEQ] ⏱️ t=1763288792.837 πŸ“ Queued 2 messages for sequential playback
[11:26:32] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:26:32] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:26:32] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:26:32] [EVOLUTION_SEQ] ⏱️ t=1763288792.838 Filtered out 2 pending evolution messages
[11:26:32] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=50 =====
[11:26:32] [ROWS] 0: SEPARATOR
[11:26:32] [ROWS] 1: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:26:32] [ROWS] 2: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:26:32] [ROWS] 3: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:26:32] [ROWS] 4: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:26:32] [ROWS] 5: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:26:32] [ROWS] 6: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:26:32] [ROWS] 7: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:26:32] [ROWS] 8: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:26:32] [ROWS] 9: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:26:32] [ROWS] 10: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:26:32] [ROWS] 11: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:26:32] [ROWS] 12: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:26:32] [ROWS] 13: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:26:32] [ROWS] 14: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:26:32] [ROWS] 15: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:26:32] [ROWS] 16: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:26:32] [ROWS] 17: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:26:32] [ROWS] 18: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:26:32] [ROWS] 19: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:32] [ROWS] 20: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:26:32] [ROWS] 21: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:26:32] [ROWS] 22: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:26:32] [ROWS] 23: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:26:32] [ROWS] 24: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:26:32] [ROWS] 25: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:26:32] [ROWS] 26: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:26:32] [ROWS] 27: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:26:32] [ROWS] 28: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:26:32] [ROWS] 29: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:26:32] [ROWS] 30: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:26:32] [ROWS] 31: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:26:32] [ROWS] 32: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:26:32] [ROWS] 33: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:26:32] [ROWS] 34: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:26:32] [ROWS] 35: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:26:32] [ROWS] 36: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:32] [ROWS] 37: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:26:32] [ROWS] 38: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:26:32] [ROWS] 39: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:26:32] [ROWS] 40: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:32] [ROWS] 41: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:32] [ROWS] 42: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:32] [ROWS] 43: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:32] [ROWS] 44: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:32] [ROWS] 45: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:32] [ROWS] 46: SEPARATOR
[11:26:32] [ROWS] 47: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:26:32] [ROWS] 48: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:26:32] [ROWS] 49: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:26:32] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:26:32] [TAB_FILTER] πŸ“Š Reloading table with 50 rows
[11:26:32] [HEIGHT_DEBUG] Row 1 msg 1607: isPlayingEvolution=false, textLength=5, text='Meeee...'
[11:26:32] [HEIGHT] Row 1 msg 1607: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:26:32] [HEIGHT_DEBUG] Row 2 msg 1606: isPlayingEvolution=false, textLength=11, text='Proud to be...'
[11:26:32] [HEIGHT] Row 2 msg 1606: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:26:32] [HEIGHT_DEBUG] Row 1 msg 1607: isPlayingEvolution=false, textLength=5, text='Meeee...'
[11:26:32] [HEIGHT] Row 1 msg 1607: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:26:32] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:26:32] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:26:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:32] [HEIGHT_DEBUG] Row 2 msg 1606: isPlayingEvolution=false, textLength=11, text='Proud to be...'
[11:26:32] [HEIGHT] Row 2 msg 1606: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:26:32] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:32] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:32] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:32] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:32] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:32] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:32] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:32] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:32] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:32] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:32] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:32] [BADGES] Chat tab unread: 1, Slave tab unread: 0, current tab: 0
[11:26:32] [EVOLUTION_SEQ] ⏱️ t=1763288792.886 πŸ“Š Table reloaded: 50 β†’ 48 visible messages
[11:26:33] [EVOLUTION_SEQ] ⏱️ t=1763288793.163 🎬 Starting sequential playback
[11:26:33] [EVOLUTION_SEQ] ⏱️ t=1763288793.163 ▢️ Playing message 1608 - 1 remaining in queue
[11:26:33] [EVOLUTION_SEQ] ⏱️ t=1763288793.163 πŸ“ Message 1608: "Radiohead..." (9 chars)
[11:26:33] [EVOLUTION_SEQ] ⏱️ t=1763288793.164 πŸ”“ Removed message 1608 from pending set
[11:26:33] [EVOLUTION_SEQ] ⏱️ t=1763288793.164 🎬 Set evolution state for message 1608
[11:26:33] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:26:33] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:26:33] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:26:33] [EVOLUTION_SEQ] ⏱️ t=1763288793.165 Filtered out 1 pending evolution messages
[11:26:33] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=51 =====
[11:26:33] [ROWS] 0: SEPARATOR
[11:26:33] [ROWS] 1: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=9
[11:26:33] [ROWS] 2: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:26:33] [ROWS] 3: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:26:33] [ROWS] 4: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:26:33] [ROWS] 5: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:26:33] [ROWS] 6: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:26:33] [ROWS] 7: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:26:33] [ROWS] 8: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:26:33] [ROWS] 9: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:26:33] [ROWS] 10: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:26:33] [ROWS] 11: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:26:33] [ROWS] 12: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:26:33] [ROWS] 13: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:26:33] [ROWS] 14: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:26:33] [ROWS] 15: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:26:33] [ROWS] 16: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:26:33] [ROWS] 17: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:26:33] [ROWS] 18: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:26:33] [ROWS] 19: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:26:33] [ROWS] 20: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:33] [ROWS] 21: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:26:33] [ROWS] 22: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:26:33] [ROWS] 23: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:26:33] [ROWS] 24: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:26:33] [ROWS] 25: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:26:33] [ROWS] 26: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:26:33] [ROWS] 27: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:26:33] [ROWS] 28: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:26:33] [ROWS] 29: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:26:33] [ROWS] 30: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:26:33] [ROWS] 31: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:26:33] [ROWS] 32: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:26:33] [ROWS] 33: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:26:33] [ROWS] 34: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:26:33] [ROWS] 35: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:26:33] [ROWS] 36: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:26:33] [ROWS] 37: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:33] [ROWS] 38: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:26:33] [ROWS] 39: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:26:33] [ROWS] 40: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:26:33] [ROWS] 41: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:33] [ROWS] 42: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:33] [ROWS] 43: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:33] [ROWS] 44: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:33] [ROWS] 45: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:33] [ROWS] 46: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:33] [ROWS] 47: SEPARATOR
[11:26:33] [ROWS] 48: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:26:33] [ROWS] 49: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:26:33] [ROWS] 50: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:26:33] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:26:33] [TAB_FILTER] πŸ“Š Reloading table with 51 rows
[11:26:33] [HEIGHT_DEBUG] Row 1 msg 1608: isPlayingEvolution=true, textLength=0, text='...'
[11:26:33] [HEIGHT] Row 1 msg 1608: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:26:33] [HEIGHT_DEBUG] Row 2 msg 1607: isPlayingEvolution=false, textLength=5, text='Meeee...'
[11:26:33] [HEIGHT] Row 2 msg 1607: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:26:33] [HEIGHT_DEBUG] Row 1 msg 1608: isPlayingEvolution=true, textLength=0, text='...'
[11:26:33] [HEIGHT] Row 1 msg 1608: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:26:33] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:26:33] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:26:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:26:33] [HEIGHT_DEBUG] Row 2 msg 1607: isPlayingEvolution=false, textLength=5, text='Meeee...'
[11:26:33] [HEIGHT] Row 2 msg 1607: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:26:33] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:33] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:33] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:33] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:33] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:33] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:33] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:33] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:33] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:33] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:33] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:33] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:33] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:33] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:33] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:33] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:33] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:33] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:33] [BADGES] Chat tab unread: 1, Slave tab unread: 0, current tab: 0
[11:26:33] [EVOLUTION_SEQ] ⏱️ t=1763288793.215 πŸ“± Table reloaded: 48 β†’ 49 messages (bubble for 1608 now visible)
[11:26:33] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("session_id"): ILUIWU2, AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 1608]
[11:26:33] [PUSH] Parsed message_id: 1608
[11:26:33] [PUSH] Parsed operation_type: 3
[11:26:33] [PUSH] Taking direct action: opType=3, messageId=1608
[11:26:33] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=1608
[11:26:33] [LOCATION] Failed to get location: The operation couldn’t be completed. (kCLErrorDomain error 1.)
[11:26:33] [EVOLUTION_SEQ] ⏱️ t=1763288793.617 ▢️ Starting animation for message 1608
[11:26:33] [EVOLUTION] πŸ“‘ Fetching evolution data for message 1608
[11:26:33] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_id"): 1609, AnyHashable("session_id"): ILUIWU2, AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("operation_type"): 3]
[11:26:33] [PUSH] Parsed message_id: 1609
[11:26:33] [PUSH] Parsed operation_type: 3
[11:26:33] [PUSH] Taking direct action: opType=3, messageId=1609
[11:26:33] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=1609
[11:26:33] [EVOLUTION] πŸ” Raw response (576 bytes): {"ok":true,"has_evolution":true,"message_id":1608,"evolution":{"events":[{"t":0,"p":0,"c":"R","op":"i"},{"c":"q","op":"i","p":1,"t":472},{"l":1,"t":892,"op":"d","p":1},{"p":1,"t":997,"op":"i","c":"a"}
[11:26:33] [EVOLUTION] πŸ” Parsed JSON keys: ["created_at", "evolution", "has_evolution", "message_id", "ok"]
[11:26:33] [EVOLUTION] πŸ” has_evolution: 1
[11:26:33] [EVOLUTION] βœ… Got 14 events for message 1608
[11:26:33] [OVERLAP_FIX] πŸš€ Starting evolution - forcing initial height recalculation
[11:26:33] [UPDATE] πŸ”„ updateMessageCell(for: 1608) β€” full safe reload
[11:26:33] [ROWS] ===== updateMessageCell for 1608 β€” chatRows.count=51 =====
[11:26:33] [ROWS] 0: SEPARATOR
[11:26:33] [ROWS] 1: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=9
[11:26:33] [ROWS] 2: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:26:33] [ROWS] 3: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:26:33] [ROWS] 4: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:26:33] [ROWS] 5: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:26:33] [ROWS] 6: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:26:33] [ROWS] 7: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:26:33] [ROWS] 8: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:26:33] [ROWS] 9: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:26:33] [ROWS] 10: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:26:33] [ROWS] 11: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:26:33] [ROWS] 12: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:26:33] [ROWS] 13: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:26:33] [ROWS] 14: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:26:33] [ROWS] 15: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:26:33] [ROWS] 16: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:26:33] [ROWS] 17: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:26:33] [ROWS] 18: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:26:33] [ROWS] 19: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:26:33] [ROWS] 20: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:33] [ROWS] 21: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:26:33] [ROWS] 22: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:26:33] [ROWS] 23: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:26:33] [ROWS] 24: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:26:33] [ROWS] 25: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:26:33] [ROWS] 26: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:26:33] [ROWS] 27: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:26:33] [ROWS] 28: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:26:33] [ROWS] 29: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:26:33] [ROWS] 30: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:26:33] [ROWS] 31: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:26:33] [ROWS] 32: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:26:33] [ROWS] 33: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:26:33] [ROWS] 34: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:26:33] [ROWS] 35: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:26:33] [ROWS] 36: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:26:33] [ROWS] 37: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:33] [ROWS] 38: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:26:33] [ROWS] 39: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:26:33] [ROWS] 40: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:26:33] [ROWS] 41: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:33] [ROWS] 42: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:33] [ROWS] 43: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:33] [ROWS] 44: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:33] [ROWS] 45: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:33] [ROWS] 46: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:33] [ROWS] 47: SEPARATOR
[11:26:33] [ROWS] 48: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:26:33] [ROWS] 49: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:26:33] [ROWS] 50: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:26:33] [ROWS] ===== END (updateMessageCell for 1608) =====
[11:26:33] [HEIGHT_DEBUG] Row 1 msg 1608: isPlayingEvolution=true, textLength=0, text='...'
[11:26:33] [HEIGHT] Row 1 msg 1608: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:26:33] [HEIGHT_DEBUG] Row 2 msg 1607: isPlayingEvolution=false, textLength=5, text='Meeee...'
[11:26:33] [HEIGHT] Row 2 msg 1607: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:26:33] [HEIGHT_DEBUG] Row 1 msg 1608: isPlayingEvolution=true, textLength=0, text='...'
[11:26:33] [HEIGHT] Row 1 msg 1608: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:26:33] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:26:33] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:26:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:26:33] [HEIGHT_DEBUG] Row 2 msg 1607: isPlayingEvolution=false, textLength=5, text='Meeee...'
[11:26:33] [HEIGHT] Row 2 msg 1607: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:26:33] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:33] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:33] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:33] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:33] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:33] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:33] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:33] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:33] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:33] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:33] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:33] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:33] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:33] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:33] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:33] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:33] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:33] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:33] [EVOLUTION] ▢️ Starting inline playback for message 1608 with 14 events
[11:26:33] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:26:33] Will get events_php
[11:26:33] [TYPING] πŸ”„ ========== POLL START ==========
[11:26:33] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:26:33] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:26:33] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:26:33] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:26:33] [EVOLUTION] πŸ“ Event 0/14 - Text now: "R..."
[11:26:33] [UPDATE] πŸ”„ updateMessageCell(for: 1608) β€” full safe reload
[11:26:33] [ROWS] ===== updateMessageCell for 1608 β€” chatRows.count=51 =====
[11:26:33] [ROWS] 0: SEPARATOR
[11:26:33] [ROWS] 1: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=1 textLen=9
[11:26:33] [ROWS] 2: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:26:33] [ROWS] 3: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:26:33] [ROWS] 4: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:26:33] [ROWS] 5: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:26:33] [ROWS] 6: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:26:33] [ROWS] 7: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:26:33] [ROWS] 8: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:26:33] [ROWS] 9: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:26:33] [ROWS] 10: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:26:33] [ROWS] 11: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:26:33] [ROWS] 12: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:26:33] [ROWS] 13: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:26:33] [ROWS] 14: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:26:33] [ROWS] 15: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:26:33] [ROWS] 16: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:26:33] [ROWS] 17: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:26:33] [ROWS] 18: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:26:33] [ROWS] 19: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:26:33] [ROWS] 20: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:33] [ROWS] 21: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:26:33] [ROWS] 22: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:26:33] [ROWS] 23: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:26:33] [ROWS] 24: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:26:33] [ROWS] 25: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:26:33] [ROWS] 26: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:26:33] [ROWS] 27: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:26:33] [ROWS] 28: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:26:33] [ROWS] 29: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:26:33] [ROWS] 30: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:26:33] [ROWS] 31: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:26:33] [ROWS] 32: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:26:33] [ROWS] 33: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:26:33] [ROWS] 34: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:26:33] [ROWS] 35: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:26:33] [ROWS] 36: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:26:33] [ROWS] 37: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:33] [ROWS] 38: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:26:33] [ROWS] 39: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:26:33] [ROWS] 40: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:26:33] [ROWS] 41: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:33] [ROWS] 42: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:33] [ROWS] 43: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:33] [ROWS] 44: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:33] [ROWS] 45: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:33] [ROWS] 46: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:33] [ROWS] 47: SEPARATOR
[11:26:33] [ROWS] 48: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:26:33] [ROWS] 49: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:26:33] [ROWS] 50: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:26:33] [ROWS] ===== END (updateMessageCell for 1608) =====
[11:26:33] [HEIGHT_DEBUG] Row 1 msg 1608: isPlayingEvolution=true, textLength=1, text='R...'
[11:26:33] [HEIGHT] Row 1 msg 1608: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:26:33] [HEIGHT_DEBUG] Row 2 msg 1607: isPlayingEvolution=false, textLength=5, text='Meeee...'
[11:26:33] [HEIGHT] Row 2 msg 1607: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:26:33] [HEIGHT_DEBUG] Row 1 msg 1608: isPlayingEvolution=true, textLength=1, text='R...'
[11:26:33] [HEIGHT] Row 1 msg 1608: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:26:33] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:26:33] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:26:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:33] [HEIGHT_DEBUG] Row 2 msg 1607: isPlayingEvolution=false, textLength=5, text='Meeee...'
[11:26:33] [HEIGHT] Row 2 msg 1607: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:26:33] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:33] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:33] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:26:33] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:26:33] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:26:33] [TYPING] πŸ“₯ Found 0 typing users in response
[11:26:33] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:33] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:33] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:33] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:33] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:33] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:33] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:33] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:33] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:33] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:33] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:33] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:33] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:33] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:33] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:33] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:33] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:33] [TYPING] πŸ“₯ Updating typing users SET: []
[11:26:33] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:26:33] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:26:33] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:26:33] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:26:33] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:26:33] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:26:33] [TYPING] πŸ”„ ========== POLL END ==========
[11:26:33] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Type: application/json; charset=utf-8
Date: Sun, 16 Nov 2025 10:26:33 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Keep-Alive: timeout=5, max=97
X-Powered-By: PHP/8.4.14
Content-Length: 355
Connection: Keep-Alive
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":4,"events":[{"event_id":10677,"event_type":3,"message_id":1608,"session_id":"ILUIWU2"},{"event_id":10679,"event_type":3,"message_id":1609,"session_id":"ILUIWU2"},{"event_id":10680,"event_type":3,"message_id":1609,"session_id":"ILUIWU2"},{"event_id":10681,"event_type":3,"message_id":1608,"session_id":"ILUIWU2"}]}
[11:26:33] Done
[11:26:34] [EVOLUTION] πŸ“ Event 1/14 - Text now: "Rq..."
[11:26:34] [UPDATE] πŸ”„ updateMessageCell(for: 1608) β€” full safe reload
[11:26:34] [ROWS] ===== updateMessageCell for 1608 β€” chatRows.count=51 =====
[11:26:34] [ROWS] 0: SEPARATOR
[11:26:34] [ROWS] 1: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=2 textLen=9
[11:26:34] [ROWS] 2: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:26:34] [ROWS] 3: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:26:34] [ROWS] 4: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:26:34] [ROWS] 5: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:26:34] [ROWS] 6: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:26:34] [ROWS] 7: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:26:34] [ROWS] 8: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:26:34] [ROWS] 9: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:26:34] [ROWS] 10: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:26:34] [ROWS] 11: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:26:34] [ROWS] 12: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:26:34] [ROWS] 13: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:26:34] [ROWS] 14: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:26:34] [ROWS] 15: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:26:34] [ROWS] 16: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:26:34] [ROWS] 17: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:26:34] [ROWS] 18: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:26:34] [ROWS] 19: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:26:34] [ROWS] 20: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:34] [ROWS] 21: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:26:34] [ROWS] 22: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:26:34] [ROWS] 23: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:26:34] [ROWS] 24: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:26:34] [ROWS] 25: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:26:34] [ROWS] 26: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:26:34] [ROWS] 27: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:26:34] [ROWS] 28: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:26:34] [ROWS] 29: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:26:34] [ROWS] 30: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:26:34] [ROWS] 31: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:26:34] [ROWS] 32: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:26:34] [ROWS] 33: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:26:34] [ROWS] 34: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:26:34] [ROWS] 35: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:26:34] [ROWS] 36: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:26:34] [ROWS] 37: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:34] [ROWS] 38: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:26:34] [ROWS] 39: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:26:34] [ROWS] 40: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:26:34] [ROWS] 41: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:34] [ROWS] 42: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:34] [ROWS] 43: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:34] [ROWS] 44: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:34] [ROWS] 45: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:34] [ROWS] 46: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:26:34] [ROWS] 47: SEPARATOR
[11:26:34] [ROWS] 48: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:26:34] [ROWS] 49: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:26:34] [ROWS] 50: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:26:34] [ROWS] ===== END (updateMessageCell for 1608) =====
[11:26:34] [HEIGHT_DEBUG] Row 1 msg 1608: isPlayingEvolution=true, textLength=2, text='Rq...'
[11:26:34] [HEIGHT] Row 1 msg 1608: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:26:34] [HEIGHT_DEBUG] Row 2 msg 1607: isPlayingEvolution=false, textLength=5, text='Meeee...'
[11:26:34] [HEIGHT] Row 2 msg 1607: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:26:34] [HEIGHT_DEBUG] Row 1 msg 1608: isPlayingEvolution=true, textLength=2, text='Rq...'
[11:26:34] [HEIGHT] Row 1 msg 1608: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:26:34] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:26:34] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:26:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:34] [HEIGHT_DEBUG] Row 2 msg 1607: isPlayingEvolution=false, textLength=5, text='Meeee...'
[11:26:34] [HEIGHT] Row 2 msg 1607: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:26:34] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:34] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:34] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:34] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:34] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:34] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:34] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:34] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:34] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:34] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:34] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:34] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:34] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:34] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:34] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:34] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:34] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:26:34] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:26:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:26:34] [EVOLUTION] πŸ“ Event 2/14 - Text now: "R..."
[11:26:34] [UPDATE] πŸ”„ updateMessageCell(for: 1608) β€” full safe reload
[11:26:34] [ROWS] ===== updateMessageCell for 1608 β€” chatRows.count=51 =====
[11:26:34] [ROWS] 0: SEPARATOR
[11:26:34] [ROWS] 1: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=1 textLen=9
[11:26:34] [ROWS] 2: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:26:34] [ROWS] 3: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:26:34] [ROWS] 4: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:26:34] [ROWS] 5: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:26:34] [ROWS] 6: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:26:34] [ROWS] 7: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:26:34] [ROWS] 8: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:27:09] [CRASH] Previous session did not exit cleanly - crash detected
[11:27:09] [GIPHY] SDK not available - using REST API fallback
[11:27:09] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:27:09] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:27:09] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:27:09] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:27:09] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:27:09] [SCENE] Launched directly to chat view with sessionId: ILUIWU2
[11:27:09] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:27:09] Documents Directory: /var/mobile/Containers/Data/Application/DBC09D9E-8373-4D3E-B8EB-2F88D477D316/Documents
[11:27:09] [NOTIFICATION] πŸ”” Notification button created and added to topNavBar
[11:27:09] [NOTIFICATION] πŸ”” Button tintColor: grey (0.5, 0.5, 0.5)
[11:27:09] [NOTIFICATION] πŸ”” Button isUserInteractionEnabled: true
[11:27:09] [INFO_PAGE] InformationViewController viewDidLoad called
[11:27:09] [INFO_PAGE] Actions configured (bell button is external)
[11:27:09] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:27:09] [INFO_PAGE] Successfully opened database at /var/mobile/Containers/Data/Application/DBC09D9E-8373-4D3E-B8EB-2F88D477D316/Documents/chat_local_viewer.db
[11:27:09] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:27:09] [INFO_PAGE] Found 424 messages for session 'ILUIWU2'
[11:27:09] [INFO_PAGE] Total messages in database: 1190
[11:27:09] [INFO_PAGE] InformationViewController setup complete
[11:27:09] [INFO_PAGE] ℹ️ Information page added to tab 3
[11:27:09] [THEME] Applying current theme
[11:27:09] [CHAT] Applied day theme (mode: day)
[11:27:09] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:27:09] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:27:09] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:27:09] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:27:09] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:27:09] [SUMMARY] Already showed summary today (2025-11-16)
[11:27:09] Did transition
[11:27:09] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:27:09] [VIEWER] Screen lock enabled - normal idle behavior
[11:27:09] [QUERY] πŸ” Checking tab - currentTabIndex=0
[11:27:09] [QUERY] πŸ”΅ [TAB 0] No query connection needed
[11:27:09] [QUERY] βœ… [TAB 0] Initialized without query connection
[11:27:09] [LOCATION] Started location updates for distance calculation (already authorized)
[11:27:09] [TAB 0] Skipping reconnect polling - only needed for tab 1
[11:27:09] [VIEWER_INIT] Loading messages with read receipts from server
[11:27:09] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:27:09] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:27:09] [DB]   msg[0] id=1609, isMyMessage=false, readBy.count=0
[11:27:09] [DB]   msg[1] id=1608, isMyMessage=false, readBy.count=0
[11:27:09] [DB]   msg[2] id=1607, isMyMessage=false, readBy.count=0
[11:27:09] [EVOLUTION] πŸ” Found 0 NEW unread messages from local DB before fetching read receipts (lastSeenMessageId=1609): []
[11:27:09] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1609, readBy=[]", "id=1608, readBy=[]", "id=1607, readBy=[]"]
[11:27:09] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:27:09] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:27:09] [DB]   msg[0] id=1609, isMyMessage=false, readBy.count=0
[11:27:09] [DB]   msg[1] id=1608, isMyMessage=false, readBy.count=0
[11:27:09] [DB]   msg[2] id=1607, isMyMessage=false, readBy.count=0
[11:27:09] [EVENT_POLL] Starting periodic event polling for viewer mode (5s interval)
[11:27:09] [ORIENTATION] Updated pagingScrollView height to 247.5 for width 440.0
[11:27:09] [SUMMARY] Already showed summary today (2025-11-16)
[11:27:09] Did transition
[11:27:09] [NOTIFICATION] πŸ”” Constraints activated for notification button
[11:27:09] [NOTIFICATION] πŸ”” topNavBar frame: (0.0, 0.0, 440.0, 50.0)
[11:27:09] [NOTIFICATION] πŸ”” menuButton frame: (0.0, 0.0, 39.0, 30.0)
[11:27:09] [NOTIFICATION] πŸ”” notificationButton frame: (0.0, 0.0, 56.333333333333336, 58.0)
[11:27:09] [NOTIFICATION] πŸ”” Notification button brought to front
[11:27:09] [NOTIFICATION] πŸ”„ Updating icon to: bell.slash.fill (muted=true)
[11:27:09] [NOTIFICATION] βœ… Icon updated successfully
[11:27:09] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[11:27:09] [MIGRATION] No messages need sender_name backfill
[11:27:09] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:27:09] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:27:09] [DB]   msg[0] id=1609, isMyMessage=false, readBy.count=0
[11:27:09] [DB]   msg[1] id=1608, isMyMessage=false, readBy.count=0
[11:27:09] [DB]   msg[2] id=1607, isMyMessage=false, readBy.count=0
[11:27:09] [INFO_PAGE] InformationViewController viewWillAppear - applying theme
[11:27:09] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:27:09] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:27:09] [PAGINATION_SCROLL] offset=-12.0, contentHeight=108.0, distFromBottom=120.0, dragging=false, decel=false, isLoading=false, cooldown=63899058429.92485s
[11:27:09] [PAGINATION_SCROLL] offset=0.0, contentHeight=108.0, distFromBottom=-650.0, dragging=false, decel=false, isLoading=false, cooldown=63899058429.92678s
[11:27:09] [LOCATION] Authorization changed: 4
[11:27:09] [LOCATION] Updated location: 46.501410583428765, 6.72269376278338
[11:27:09] [LOCATION] Updated location: 46.501410583428765, 6.72269376278338
[11:27:09] [NOTIFICATION] πŸ”” FINAL STATE after viewDidLoad:
[11:27:09] [NOTIFICATION] πŸ”” notificationButton.frame: (392.0, 67.0, 40.0, 40.0)
[11:27:09] [NOTIFICATION] πŸ”” notificationButton.isHidden: false
[11:27:09] [NOTIFICATION] πŸ”” notificationButton.alpha: 1.0
[11:27:09] [NOTIFICATION] πŸ”” notificationButton.superview: true
[11:27:09] [NOTIFICATION] πŸ”” topNavBar.isHidden: false
[11:27:09] [NOTIFICATION] πŸ”” topNavBar.subviews.count: 3
[11:27:09] [PUSH] APNs token: 6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c
[11:27:10] [PUSH] handlePollEventsNotification userInfo: [:]
[11:27:10] [PUSH] No message_id in userInfo
[11:27:10] [PUSH] No operation_type in userInfo
[11:27:10] [PUSH] Performing full refresh to catch up on any missed messages
[11:27:10] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:27:10] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:27:10] [DB]   msg[0] id=1609, isMyMessage=false, readBy.count=0
[11:27:10] [DB]   msg[1] id=1608, isMyMessage=false, readBy.count=0
[11:27:10] [DB]   msg[2] id=1607, isMyMessage=false, readBy.count=0
[11:27:10] [EVOLUTION] πŸ” [FOREGROUND] Found 0 NEW unread messages after refreshAllFromServer (lastSeenMessageId=1609): []
[11:27:10] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:27:10] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:27:10] [DB]   msg[0] id=1609, isMyMessage=false, readBy.count=0
[11:27:10] [DB]   msg[1] id=1608, isMyMessage=false, readBy.count=0
[11:27:10] [DB]   msg[2] id=1607, isMyMessage=false, readBy.count=0
[11:27:10] [PUSH] Device role updated to 'viewer': HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:27:10] [PUSH] Device role updated to 'viewer': HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:27:10] [USER] βœ… User registered successfully
[11:27:10] [USER] User registration successful
[11:27:10] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:27:10] [CHAT] βœ… refreshAllFromServer - parsed 424 messages from server
[11:27:10] [DB] clearDBForSession(ILUIWU2): deleted 424 messages, result=101
[11:27:10] ReloadData 15 (424 messages loaded, 0 pending media)
[11:27:10] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:27:10] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:27:10] [DB]   msg[0] id=1609, isMyMessage=false, readBy.count=0
[11:27:10] [DB]   msg[1] id=1608, isMyMessage=false, readBy.count=0
[11:27:10] [DB]   msg[2] id=1607, isMyMessage=false, readBy.count=0
[11:27:10] [EVOLUTION] πŸ” Found 0 NEW unread messages after refreshAllFromServer (lastSeenMessageId=1609): []
[11:27:10] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1609, readBy=[]", "id=1608, readBy=[]", "id=1607, readBy=[]"]
[11:27:10] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:27:10] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:27:10] [DB]   msg[0] id=1609, isMyMessage=false, readBy.count=0
[11:27:10] [DB]   msg[1] id=1608, isMyMessage=false, readBy.count=0
[11:27:10] [DB]   msg[2] id=1607, isMyMessage=false, readBy.count=0
[11:27:10] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:27:10] [UNREAD_DEBUG]   FINAL msg[0] id=1609, readBy.count=1
[11:27:10] [UNREAD_DEBUG]   FINAL msg[1] id=1608, readBy.count=1
[11:27:10] [UNREAD_DEBUG]   FINAL msg[2] id=1607, readBy.count=1
[11:27:10] [VIEWER_INIT] Loaded 50 messages with read receipts, hasMore: true
[11:27:10] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:27:10] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:27:10] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:27:10] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:27:10] [ROWS] 0: SEPARATOR
[11:27:10] [ROWS] 1: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:27:10] [ROWS] 2: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:27:10] [ROWS] 3: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:27:10] [ROWS] 4: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:27:10] [ROWS] 5: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:27:10] [ROWS] 6: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:27:10] [ROWS] 7: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:27:10] [ROWS] 8: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:27:10] [ROWS] 9: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:27:10] [ROWS] 10: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:27:10] [ROWS] 11: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:27:10] [ROWS] 12: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:27:10] [ROWS] 13: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:27:10] [ROWS] 14: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:27:10] [ROWS] 15: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:27:10] [ROWS] 16: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:27:10] [ROWS] 17: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:27:10] [ROWS] 18: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:27:10] [ROWS] 19: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:27:10] [ROWS] 20: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:27:10] [ROWS] 21: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:27:10] [ROWS] 22: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:27:10] [ROWS] 23: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:27:10] [ROWS] 24: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:27:10] [ROWS] 25: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:27:10] [ROWS] 26: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:27:10] [ROWS] 27: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:27:10] [ROWS] 28: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:27:10] [ROWS] 29: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:27:10] [ROWS] 30: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:27:10] [ROWS] 31: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:27:10] [ROWS] 32: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:27:10] [ROWS] 33: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:27:10] [ROWS] 34: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:27:10] [ROWS] 35: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:27:10] [ROWS] 36: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:27:10] [ROWS] 37: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:27:10] [ROWS] 38: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:27:10] [ROWS] 39: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:27:10] [ROWS] 40: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:27:10] [ROWS] 41: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:27:10] [ROWS] 42: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:27:10] [ROWS] 43: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:27:10] [ROWS] 44: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:27:10] [ROWS] 45: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:27:10] [ROWS] 46: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:27:10] [ROWS] 47: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:27:10] [ROWS] 48: SEPARATOR
[11:27:10] [ROWS] 49: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:27:10] [ROWS] 50: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:27:10] [ROWS] 51: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:27:10] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:27:10] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:27:10] [HEIGHT_DEBUG] Row 1 msg 1609: isPlayingEvolution=false, textLength=2, text='U2...'
[11:27:10] [EMOJI] βœ… Loaded 451 emoji-to-GIF mappings
[11:27:10] [HEIGHT] Row 1 msg 1609: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:27:10] [HEIGHT_DEBUG] Row 2 msg 1608: isPlayingEvolution=false, textLength=9, text='Radiohead...'
[11:27:10] [HEIGHT] Row 2 msg 1608: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:27:10] [HEIGHT_DEBUG] Row 1 msg 1609: isPlayingEvolution=false, textLength=2, text='U2...'
[11:27:10] [HEIGHT] Row 1 msg 1609: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:27:10] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:27:10] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:27:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:27:10] [HEIGHT_DEBUG] Row 2 msg 1608: isPlayingEvolution=false, textLength=9, text='Radiohead...'
[11:27:10] [HEIGHT] Row 2 msg 1608: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:27:10] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:27:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:27:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:27:10] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:27:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:27:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:27:10] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:27:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:27:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:27:10] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:27:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:27:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:27:10] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:27:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:27:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:27:10] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:27:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:27:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:27:10] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:27:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:27:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:27:10] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:27:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:27:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:27:10] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:27:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:27:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:27:10] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:27:10] ReloadData 18 (viewer init with read receipts)
[11:27:10] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:27:10] [UNREAD_DEBUG]   FINAL msg[0] id=1609, readBy.count=1
[11:27:10] [UNREAD_DEBUG]   FINAL msg[1] id=1608, readBy.count=1
[11:27:10] [UNREAD_DEBUG]   FINAL msg[2] id=1607, readBy.count=1
[11:27:10] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:27:10] [UNREAD_DEBUG]   FINAL msg[0] id=1609, readBy.count=1
[11:27:10] [UNREAD_DEBUG]   FINAL msg[1] id=1608, readBy.count=1
[11:27:10] [UNREAD_DEBUG]   FINAL msg[2] id=1607, readBy.count=1
[11:27:10] [FOREGROUND_REFRESH] Loaded 50 messages
[11:27:10] [FOREGROUND_REFRESH] About to call autoPlayEvolutionForUnreadMessageIds with 0 IDs: []
[11:27:10] [FOREGROUND_REFRESH] No unread messages to play evolution for - reloading table normally
[11:27:10] [EVOLUTION_SEQ] πŸš€ FUNCTION CALLED with 0 message IDs: []
[11:27:10] [EVOLUTION_SEQ] πŸ“­ No unread message IDs provided for evolution playback
[11:27:10] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:27:10] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:27:10] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:27:10] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:27:10] [ROWS] 0: SEPARATOR
[11:27:10] [ROWS] 1: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:27:10] [ROWS] 2: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:27:10] [ROWS] 3: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:27:10] [ROWS] 4: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:27:10] [ROWS] 5: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:27:10] [ROWS] 6: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:27:10] [ROWS] 7: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:27:10] [ROWS] 8: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:27:10] [ROWS] 9: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:27:10] [ROWS] 10: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:27:10] [ROWS] 11: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:27:10] [ROWS] 12: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:27:10] [ROWS] 13: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:27:10] [ROWS] 14: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:27:10] [ROWS] 15: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:27:10] [ROWS] 16: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:27:10] [ROWS] 17: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:27:10] [ROWS] 18: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:27:10] [ROWS] 19: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:27:10] [ROWS] 20: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:27:10] [ROWS] 21: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:27:10] [ROWS] 22: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:27:10] [ROWS] 23: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:27:10] [ROWS] 24: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:27:10] [ROWS] 25: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:27:10] [ROWS] 26: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:27:10] [ROWS] 27: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:27:10] [ROWS] 28: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:27:10] [ROWS] 29: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:27:10] [ROWS] 30: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:27:10] [ROWS] 31: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:27:10] [ROWS] 32: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:27:10] [ROWS] 33: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:27:10] [ROWS] 34: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:27:10] [ROWS] 35: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:27:10] [ROWS] 36: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:27:10] [ROWS] 37: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:27:10] [ROWS] 38: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:27:10] [ROWS] 39: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:27:10] [ROWS] 40: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:27:10] [ROWS] 41: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:27:10] [ROWS] 42: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:27:10] [ROWS] 43: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:27:10] [ROWS] 44: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:27:10] [ROWS] 45: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:27:10] [ROWS] 46: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:27:10] [ROWS] 47: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:27:10] [ROWS] 48: SEPARATOR
[11:27:10] [ROWS] 49: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:27:10] [ROWS] 50: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:27:10] [ROWS] 51: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:27:10] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:27:10] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:27:10] [HEIGHT_DEBUG] Row 1 msg 1609: isPlayingEvolution=false, textLength=2, text='U2...'
[11:27:10] [HEIGHT] Row 1 msg 1609: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:27:10] [HEIGHT_DEBUG] Row 2 msg 1608: isPlayingEvolution=false, textLength=9, text='Radiohead...'
[11:27:10] [HEIGHT] Row 2 msg 1608: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:27:10] [HEIGHT_DEBUG] Row 1 msg 1609: isPlayingEvolution=false, textLength=2, text='U2...'
[11:27:10] [HEIGHT] Row 1 msg 1609: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:27:10] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:27:10] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:27:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:27:10] [HEIGHT_DEBUG] Row 2 msg 1608: isPlayingEvolution=false, textLength=9, text='Radiohead...'
[11:27:10] [HEIGHT] Row 2 msg 1608: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:27:10] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:27:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:27:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:27:10] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:27:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:27:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:27:10] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:27:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:27:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:27:10] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:27:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:27:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:27:10] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:27:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:27:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:27:10] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:27:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:27:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:27:10] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:27:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:27:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:27:10] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:27:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:27:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:27:10] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:27:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:27:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:27:10] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:27:10] [INIT_PAGINATION] Loaded 50 total messages, displaying 50 for tab 0
[11:27:10] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:27:10] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:27:10] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:27:10] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:27:10] [ROWS] 0: SEPARATOR
[11:27:10] [ROWS] 1: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:27:10] [ROWS] 2: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:27:10] [ROWS] 3: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:27:10] [ROWS] 4: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:27:10] [ROWS] 5: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:27:10] [ROWS] 6: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:27:10] [ROWS] 7: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:27:10] [ROWS] 8: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:27:10] [ROWS] 9: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:27:10] [ROWS] 10: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:27:10] [ROWS] 11: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:27:10] [ROWS] 12: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:27:10] [ROWS] 13: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:27:10] [ROWS] 14: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:27:10] [ROWS] 15: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:27:10] [ROWS] 16: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:27:10] [ROWS] 17: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:27:10] [ROWS] 18: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:27:10] [ROWS] 19: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:27:10] [ROWS] 20: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:27:10] [ROWS] 21: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:27:10] [ROWS] 22: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:27:10] [ROWS] 23: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:27:10] [ROWS] 24: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:27:10] [ROWS] 25: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:27:10] [ROWS] 26: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:27:10] [ROWS] 27: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:27:10] [ROWS] 28: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:27:10] [ROWS] 29: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:27:10] [ROWS] 30: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:27:10] [ROWS] 31: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:27:10] [ROWS] 32: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:27:10] [ROWS] 33: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:27:10] [ROWS] 34: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:27:10] [ROWS] 35: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:27:10] [ROWS] 36: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:27:10] [ROWS] 37: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:27:10] [ROWS] 38: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:27:10] [ROWS] 39: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:27:10] [ROWS] 40: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:27:10] [ROWS] 41: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:27:10] [ROWS] 42: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:27:10] [ROWS] 43: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:27:10] [ROWS] 44: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:27:10] [ROWS] 45: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:27:10] [ROWS] 46: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:27:10] [ROWS] 47: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:27:10] [ROWS] 48: SEPARATOR
[11:27:10] [ROWS] 49: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:27:10] [ROWS] 50: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:27:10] [ROWS] 51: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:27:10] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:27:10] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:27:10] [HEIGHT_DEBUG] Row 1 msg 1609: isPlayingEvolution=false, textLength=2, text='U2...'
[11:27:10] [HEIGHT] Row 1 msg 1609: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:27:10] [HEIGHT_DEBUG] Row 2 msg 1608: isPlayingEvolution=false, textLength=9, text='Radiohead...'
[11:27:10] [HEIGHT] Row 2 msg 1608: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:27:10] [HEIGHT_DEBUG] Row 1 msg 1609: isPlayingEvolution=false, textLength=2, text='U2...'
[11:27:10] [HEIGHT] Row 1 msg 1609: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:27:10] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:27:10] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:27:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:27:10] [HEIGHT_DEBUG] Row 2 msg 1608: isPlayingEvolution=false, textLength=9, text='Radiohead...'
[11:27:10] [HEIGHT] Row 2 msg 1608: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:27:10] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:27:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:27:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:27:10] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:27:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:27:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:27:10] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:27:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:27:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:27:10] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:27:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:27:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:27:10] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:27:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:27:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:27:10] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:27:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:27:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:27:10] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:27:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:27:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:27:10] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:27:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:27:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:27:10] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:27:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:27:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:27:10] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:27:10] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:27:10] [UNREAD_DEBUG]   FINAL msg[0] id=1609, readBy.count=1
[11:27:10] [UNREAD_DEBUG]   FINAL msg[1] id=1608, readBy.count=1
[11:27:10] [UNREAD_DEBUG]   FINAL msg[2] id=1607, readBy.count=1
[11:27:10] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:27:10] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:27:10] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:27:10] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:27:10] [ROWS] 0: SEPARATOR
[11:27:10] [ROWS] 1: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:27:10] [ROWS] 2: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:27:10] [ROWS] 3: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:27:10] [ROWS] 4: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:27:10] [ROWS] 5: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:27:10] [ROWS] 6: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:27:10] [ROWS] 7: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:27:10] [ROWS] 8: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:27:10] [ROWS] 9: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:27:10] [ROWS] 10: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:27:10] [ROWS] 11: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:27:10] [ROWS] 12: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:27:10] [ROWS] 13: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:27:10] [ROWS] 14: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:27:10] [ROWS] 15: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:27:10] [ROWS] 16: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:27:10] [ROWS] 17: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:27:10] [ROWS] 18: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:27:10] [ROWS] 19: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:27:10] [ROWS] 20: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:27:10] [ROWS] 21: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:27:10] [ROWS] 22: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:27:10] [ROWS] 23: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:27:10] [ROWS] 24: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:27:10] [ROWS] 25: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:27:10] [ROWS] 26: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:27:10] [ROWS] 27: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:27:10] [ROWS] 28: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:27:10] [ROWS] 29: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:27:10] [ROWS] 30: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:27:10] [ROWS] 31: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:27:10] [ROWS] 32: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:27:10] [ROWS] 33: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:27:10] [ROWS] 34: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:27:10] [ROWS] 35: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:27:10] [ROWS] 36: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:27:10] [ROWS] 37: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:27:10] [ROWS] 38: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:27:10] [ROWS] 39: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:27:10] [ROWS] 40: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:27:10] [ROWS] 41: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:27:10] [ROWS] 42: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:27:10] [ROWS] 43: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:27:10] [ROWS] 44: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:27:10] [ROWS] 45: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:27:10] [ROWS] 46: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:27:10] [ROWS] 47: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:27:10] [ROWS] 48: SEPARATOR
[11:27:10] [ROWS] 49: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:27:10] [ROWS] 50: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:27:10] [ROWS] 51: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:27:10] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:27:10] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:27:10] [HEIGHT_DEBUG] Row 1 msg 1609: isPlayingEvolution=false, textLength=2, text='U2...'
[11:27:10] [HEIGHT] Row 1 msg 1609: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:27:10] [HEIGHT_DEBUG] Row 2 msg 1608: isPlayingEvolution=false, textLength=9, text='Radiohead...'
[11:27:10] [HEIGHT] Row 2 msg 1608: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:27:10] [HEIGHT_DEBUG] Row 1 msg 1609: isPlayingEvolution=false, textLength=2, text='U2...'
[11:27:10] [HEIGHT] Row 1 msg 1609: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:27:10] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:27:10] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:27:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:27:10] [HEIGHT_DEBUG] Row 2 msg 1608: isPlayingEvolution=false, textLength=9, text='Radiohead...'
[11:27:10] [HEIGHT] Row 2 msg 1608: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:27:10] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:27:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:27:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:27:10] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:27:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:27:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:27:10] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:27:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:27:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:27:10] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:27:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:27:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:27:10] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:27:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:27:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:27:10] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:27:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:27:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:27:10] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:27:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:27:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:27:10] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:27:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:27:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:27:10] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:27:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:27:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:27:10] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:27:10] [INITIAL_LOAD] Loaded 50 messages (first page), displaying 50 for tab 0, hasMore: true
[11:27:10] ReloadData 1
[11:27:10] [PURGE] Deleted 0 unused media files:

[11:27:10] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:27:10] [EVOLUTION_SEQ] πŸš€ FUNCTION CALLED with 0 message IDs: []
[11:27:10] [EVOLUTION_SEQ] πŸ“­ No unread message IDs provided for evolution playback
[11:27:11] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:27:11] Will get events_php
[11:27:11] [TYPING] πŸ”„ ========== POLL START ==========
[11:27:11] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:27:11] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:27:11] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:27:11] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:27:11] [EVT] get_events.php HTTP 200
── Response Headers ──
Keep-Alive: timeout=5, max=94
Content-Length: 56
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Content-Type: application/json; charset=utf-8
Date: Sun, 16 Nov 2025 10:27:11 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:27:11] Done
[11:27:11] Main
[11:27:11] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:27:11] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:27:11] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2]
[11:27:11] [TYPING] πŸ“₯ Found 0 typing users in response
[11:27:11] [TYPING] πŸ“₯ Updating typing users SET: []
[11:27:11] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:27:11] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:27:11] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:27:11] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:27:11] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:27:11] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:27:11] [TYPING] πŸ”„ ========== POLL END ==========
[11:27:13] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:27:13] Will get events_php
[11:27:13] [TYPING] πŸ”„ ========== POLL START ==========
[11:27:13] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:27:13] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:27:13] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:27:13] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:27:13] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:27:13] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:27:13] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:27:13] [TYPING] πŸ“₯ Found 0 typing users in response
[11:27:13] [TYPING] πŸ“₯ Updating typing users SET: []
[11:27:13] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:27:13] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:27:13] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:27:13] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:27:13] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:27:13] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:27:13] [TYPING] πŸ”„ ========== POLL END ==========
[11:27:13] [EVT] get_events.php HTTP 200
── Response Headers ──
Keep-Alive: timeout=5, max=93
Content-Length: 56
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Content-Type: application/json; charset=utf-8
Date: Sun, 16 Nov 2025 10:27:13 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:27:13] Done
[11:27:13] Main
[11:27:14] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:27:14] [INFO_PAGE] Found 424 messages for session 'ILUIWU2'
[11:27:14] [INFO_PAGE] Total messages in database: 1190
[11:27:15] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:27:15] Will get events_php
[11:27:15] [TYPING] πŸ”„ ========== POLL START ==========
[11:27:15] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:27:15] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:27:15] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:27:15] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:27:15] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:27:15] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:27:15] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2]
[11:27:15] [TYPING] πŸ“₯ Found 0 typing users in response
[11:27:15] [TYPING] πŸ“₯ Updating typing users SET: []
[11:27:15] [EVT] get_events.php HTTP 200
── Response Headers ──
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Content-Type: application/json; charset=utf-8
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:27:15 GMT
Keep-Alive: timeout=5, max=91
Content-Length: 56
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:27:15] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:27:15] Done
[11:27:15] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:27:15] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:27:15] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:27:15] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:27:15] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:27:15] [TYPING] πŸ”„ ========== POLL END ==========
[11:27:15] Main
[11:27:17] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:27:17] Will get events_php
[11:27:17] [TYPING] πŸ”„ ========== POLL START ==========
[11:27:17] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:27:17] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:27:17] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:27:17] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:27:17] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:27:17] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:27:17] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2]
[11:27:17] [TYPING] πŸ“₯ Found 0 typing users in response
[11:27:17] [TYPING] πŸ“₯ Updating typing users SET: []
[11:27:17] [EVT] get_events.php HTTP 200
── Response Headers ──
Keep-Alive: timeout=5, max=90
Content-Length: 56
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Content-Type: application/json; charset=utf-8
Date: Sun, 16 Nov 2025 10:27:17 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:27:17] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:27:17] Done
[11:27:17] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:27:17] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:27:17] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:27:17] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:27:17] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:27:17] [TYPING] πŸ”„ ========== POLL END ==========
[11:27:17] Main
[11:27:19] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:27:19] [INFO_PAGE] Found 424 messages for session 'ILUIWU2'
[11:27:19] [INFO_PAGE] Total messages in database: 1190
[11:27:19] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:27:19] Will get events_php
[11:27:19] [TYPING] πŸ”„ ========== POLL START ==========
[11:27:19] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:27:19] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:27:19] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:27:19] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:27:19] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:27:19] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:27:19] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok, "sessionId": ILUIWU2]
[11:27:19] [TYPING] πŸ“₯ Found 0 typing users in response
[11:27:19] [TYPING] πŸ“₯ Updating typing users SET: []
[11:27:19] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:27:19] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:27:19] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:27:19] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:27:19] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:27:19] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:27:19] [TYPING] πŸ”„ ========== POLL END ==========
[11:27:19] [EVT] get_events.php HTTP 200
── Response Headers ──
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Content-Type: application/json; charset=utf-8
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:27:19 GMT
Keep-Alive: timeout=5, max=88
Content-Length: 56
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:27:19] Done
[11:27:19] Main
[11:27:21] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:27:21] Will get events_php
[11:27:21] [TYPING] πŸ”„ ========== POLL START ==========
[11:27:21] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:27:21] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:27:21] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:27:21] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:27:21] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:27:21] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:27:21] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2]
[11:27:21] [TYPING] πŸ“₯ Found 0 typing users in response
[11:27:21] [TYPING] πŸ“₯ Updating typing users SET: []
[11:27:21] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:27:21] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:27:21] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:27:21] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:27:21] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:27:21] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:27:21] [TYPING] πŸ”„ ========== POLL END ==========
[11:27:21] [EVT] get_events.php HTTP 200
── Response Headers ──
Keep-Alive: timeout=5, max=87
Content-Length: 56
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Content-Type: application/json; charset=utf-8
Date: Sun, 16 Nov 2025 10:27:21 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:27:21] Done
[11:27:21] Main
[11:27:23] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:27:23] Will get events_php
[11:27:23] [TYPING] πŸ”„ ========== POLL START ==========
[11:27:23] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:27:23] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:27:23] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:27:23] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:27:23] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:27:23] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:27:23] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2]
[11:27:23] [TYPING] πŸ“₯ Found 0 typing users in response
[11:27:23] [TYPING] πŸ“₯ Updating typing users SET: []
[11:27:23] [EVT] get_events.php HTTP 200
── Response Headers ──
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Content-Type: application/json; charset=utf-8
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:27:23 GMT
Keep-Alive: timeout=5, max=86
Content-Length: 56
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:27:23] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:27:23] Done
[11:27:23] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:27:23] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:27:23] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:27:23] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:27:23] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:27:23] [TYPING] πŸ”„ ========== POLL END ==========
[11:27:23] Main
[11:27:24] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:27:24] [INFO_PAGE] Found 424 messages for session 'ILUIWU2'
[11:27:24] [INFO_PAGE] Total messages in database: 1190
[11:27:25] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:27:25] Will get events_php
[11:27:25] [TYPING] πŸ”„ ========== POLL START ==========
[11:27:25] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:27:25] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:27:25] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:27:25] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:27:25] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:27:25] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:27:25] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:27:25] [TYPING] πŸ“₯ Found 0 typing users in response
[11:27:25] [TYPING] πŸ“₯ Updating typing users SET: []
[11:27:25] [EVT] get_events.php HTTP 200
── Response Headers ──
Keep-Alive: timeout=5, max=84
Content-Length: 56
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Content-Type: application/json; charset=utf-8
Date: Sun, 16 Nov 2025 10:27:25 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:27:25] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:27:25] Done
[11:27:25] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:27:25] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:27:25] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:27:25] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:27:25] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:27:25] [TYPING] πŸ”„ ========== POLL END ==========
[11:27:25] Main
[11:27:27] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:27:27] Will get events_php
[11:27:27] [TYPING] πŸ”„ ========== POLL START ==========
[11:27:27] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:27:27] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:27:27] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:27:27] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:27:27] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:27:27] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:27:27] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok, "sessionId": ILUIWU2]
[11:27:27] [TYPING] πŸ“₯ Found 0 typing users in response
[11:27:27] [TYPING] πŸ“₯ Updating typing users SET: []
[11:27:27] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:27:27] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:27:27] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:27:27] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:27:27] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:27:27] [EVT] get_events.php HTTP 200
── Response Headers ──
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Content-Type: application/json; charset=utf-8
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:27:27 GMT
Keep-Alive: timeout=5, max=83
Content-Length: 56
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:27:27] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:27:27] [TYPING] πŸ”„ ========== POLL END ==========
[11:27:27] Done
[11:27:27] Main
[11:27:29] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:27:29] [INFO_PAGE] Found 424 messages for session 'ILUIWU2'
[11:27:29] [INFO_PAGE] Total messages in database: 1190
[11:27:29] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:27:29] Will get events_php
[11:27:29] [TYPING] πŸ”„ ========== POLL START ==========
[11:27:29] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:27:29] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:27:29] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:27:29] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:27:29] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:27:29] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:27:29] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:27:29] [TYPING] πŸ“₯ Found 0 typing users in response
[11:27:29] [TYPING] πŸ“₯ Updating typing users SET: []
[11:27:29] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:27:29] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:27:29] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:27:29] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:27:29] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:27:29] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:27:29] [TYPING] πŸ”„ ========== POLL END ==========
[11:27:29] [EVT] get_events.php HTTP 200
── Response Headers ──
Keep-Alive: timeout=5, max=81
Content-Length: 56
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Content-Type: application/json; charset=utf-8
Date: Sun, 16 Nov 2025 10:27:29 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:27:29] Done
[11:27:29] Main
[11:27:31] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:27:31] Will get events_php
[11:27:31] [TYPING] πŸ”„ ========== POLL START ==========
[11:27:31] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:27:31] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:27:31] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:27:31] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:27:31] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:27:31] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:27:31] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok]
[11:27:31] [TYPING] πŸ“₯ Found 0 typing users in response
[11:27:31] [TYPING] πŸ“₯ Updating typing users SET: []
[11:27:31] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:27:31] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:27:31] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:27:31] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:27:31] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:27:31] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:27:31] [TYPING] πŸ”„ ========== POLL END ==========
[11:27:31] [EVT] get_events.php HTTP 200
── Response Headers ──
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Content-Type: application/json; charset=utf-8
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:27:31 GMT
Keep-Alive: timeout=5, max=80
Content-Length: 56
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:27:31] Done
[11:27:31] Main
[11:27:33] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:27:33] Will get events_php
[11:27:33] [TYPING] πŸ”„ ========== POLL START ==========
[11:27:33] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:27:33] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:27:33] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:27:33] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:27:33] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:27:33] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:27:33] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:27:33] [TYPING] πŸ“₯ Found 0 typing users in response
[11:27:33] [TYPING] πŸ“₯ Updating typing users SET: []
[11:27:33] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:27:33] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:27:33] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:27:33] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:27:33] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:27:33] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:27:33] [TYPING] πŸ”„ ========== POLL END ==========
[11:27:33] [EVT] get_events.php HTTP 200
── Response Headers ──
Keep-Alive: timeout=5, max=79
Content-Length: 56
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Content-Type: application/json; charset=utf-8
Date: Sun, 16 Nov 2025 10:27:33 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:27:33] Done
[11:27:33] Main
[11:27:34] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:27:34] [INFO_PAGE] Found 424 messages for session 'ILUIWU2'
[11:27:34] [INFO_PAGE] Total messages in database: 1190
[11:27:35] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:27:35] Will get events_php
[11:27:35] [TYPING] πŸ”„ ========== POLL START ==========
[11:27:35] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:27:35] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:27:35] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:27:35] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:27:35] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:27:35] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:27:35] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:27:35] [TYPING] πŸ“₯ Found 0 typing users in response
[11:27:35] [TYPING] πŸ“₯ Updating typing users SET: []
[11:27:35] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:27:35] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:27:35] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:27:35] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:27:35] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:27:35] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:27:35] [TYPING] πŸ”„ ========== POLL END ==========
[11:27:35] [EVT] get_events.php HTTP 200
── Response Headers ──
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Content-Type: application/json; charset=utf-8
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:27:35 GMT
Keep-Alive: timeout=5, max=77
Content-Length: 56
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:27:35] Done
[11:27:35] Main
[11:27:37] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:27:37] Will get events_php
[11:27:37] [TYPING] πŸ”„ ========== POLL START ==========
[11:27:37] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:27:37] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:27:37] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:27:37] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:27:37] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:27:37] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:27:37] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok, "sessionId": ILUIWU2]
[11:27:37] [TYPING] πŸ“₯ Found 0 typing users in response
[11:27:37] [TYPING] πŸ“₯ Updating typing users SET: []
[11:27:37] [EVT] get_events.php HTTP 200
── Response Headers ──
Keep-Alive: timeout=5, max=76
Content-Length: 56
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Content-Type: application/json; charset=utf-8
Date: Sun, 16 Nov 2025 10:27:37 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:27:37] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:27:37] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:27:37] Done
[11:27:37] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:27:37] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:27:37] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:27:37] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:27:37] [TYPING] πŸ”„ ========== POLL END ==========
[11:27:37] Main
[11:27:39] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:27:39] [INFO_PAGE] Found 424 messages for session 'ILUIWU2'
[11:27:39] [INFO_PAGE] Total messages in database: 1190
[11:27:39] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:27:39] Will get events_php
[11:27:39] [TYPING] πŸ”„ ========== POLL START ==========
[11:27:39] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:27:39] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:27:39] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:27:39] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:27:39] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:27:39] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:27:39] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:27:39] [TYPING] πŸ“₯ Found 0 typing users in response
[11:27:39] [TYPING] πŸ“₯ Updating typing users SET: []
[11:27:39] [EVT] get_events.php HTTP 200
── Response Headers ──
Keep-Alive: timeout=5, max=74
Content-Length: 56
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Content-Type: application/json; charset=utf-8
Date: Sun, 16 Nov 2025 10:27:39 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:27:39] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:27:39] Done
[11:27:39] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:27:39] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:27:39] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:27:39] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:27:39] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:27:39] [TYPING] πŸ”„ ========== POLL END ==========
[11:27:39] Main
[11:27:41] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:27:41] Will get events_php
[11:27:41] [TYPING] πŸ”„ ========== POLL START ==========
[11:27:41] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:27:41] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:27:41] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:27:41] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:27:41] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:27:41] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:27:41] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2]
[11:27:41] [TYPING] πŸ“₯ Found 0 typing users in response
[11:27:41] [TYPING] πŸ“₯ Updating typing users SET: []
[11:27:41] [EVT] get_events.php HTTP 200
── Response Headers ──
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Content-Type: application/json; charset=utf-8
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:27:41 GMT
Keep-Alive: timeout=5, max=73
Content-Length: 56
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:27:41] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:27:41] Done
[11:27:41] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:27:41] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:27:41] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:27:41] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:27:41] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:27:41] [TYPING] πŸ”„ ========== POLL END ==========
[11:27:41] Main
[11:27:43] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:27:43] Will get events_php
[11:27:43] [TYPING] πŸ”„ ========== POLL START ==========
[11:27:43] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:27:43] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:27:43] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:27:43] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:27:43] [EVT] get_events.php HTTP 200
── Response Headers ──
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Content-Type: application/json; charset=utf-8
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:27:43 GMT
Keep-Alive: timeout=5, max=72
Content-Length: 56
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:27:43] Done
[11:27:43] Main
[11:27:43] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:27:43] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:27:43] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2]
[11:27:43] [TYPING] πŸ“₯ Found 0 typing users in response
[11:27:43] [TYPING] πŸ“₯ Updating typing users SET: []
[11:27:43] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:27:43] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:27:43] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:27:43] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:27:43] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:27:43] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:27:43] [TYPING] πŸ”„ ========== POLL END ==========
[11:27:44] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:27:44] [INFO_PAGE] Found 424 messages for session 'ILUIWU2'
[11:27:44] [INFO_PAGE] Total messages in database: 1190
[11:27:45] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:27:45] Will get events_php
[11:27:45] [TYPING] πŸ”„ ========== POLL START ==========
[11:27:45] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:27:45] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:27:45] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:27:45] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:27:45] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:27:45] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:27:45] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2]
[11:27:45] [TYPING] πŸ“₯ Found 0 typing users in response
[11:27:45] [TYPING] πŸ“₯ Updating typing users SET: []
[11:27:45] [EVT] get_events.php HTTP 200
── Response Headers ──
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Content-Type: application/json; charset=utf-8
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:27:45 GMT
Keep-Alive: timeout=5, max=70
Content-Length: 56
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:27:45] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:27:45] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:27:45] Done
[11:27:45] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:27:45] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:27:45] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:27:45] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:27:45] [TYPING] πŸ”„ ========== POLL END ==========
[11:27:45] Main
[11:27:47] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:27:47] Will get events_php
[11:27:47] [TYPING] πŸ”„ ========== POLL START ==========
[11:27:47] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:27:47] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:27:47] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:27:47] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:27:47] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:27:47] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:27:47] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok]
[11:27:47] [TYPING] πŸ“₯ Found 0 typing users in response
[11:27:47] [TYPING] πŸ“₯ Updating typing users SET: []
[11:27:47] [EVT] get_events.php HTTP 200
── Response Headers ──
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Content-Type: application/json; charset=utf-8
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:27:47 GMT
Keep-Alive: timeout=5, max=69
Content-Length: 56
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:27:47] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:27:47] Done
[11:27:47] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:27:47] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:27:47] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:27:47] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:27:47] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:27:47] [TYPING] πŸ”„ ========== POLL END ==========
[11:27:47] Main
[11:27:49] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:27:49] [INFO_PAGE] Found 424 messages for session 'ILUIWU2'
[11:27:49] [INFO_PAGE] Total messages in database: 1190
[11:27:49] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:27:49] Will get events_php
[11:27:49] [TYPING] πŸ”„ ========== POLL START ==========
[11:27:49] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:27:49] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:27:49] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:27:49] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:27:49] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:27:49] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:27:49] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:27:49] [TYPING] πŸ“₯ Found 0 typing users in response
[11:27:49] [TYPING] πŸ“₯ Updating typing users SET: []
[11:27:49] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:27:49] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:27:49] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:27:49] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:27:49] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:27:49] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:27:49] [TYPING] πŸ”„ ========== POLL END ==========
[11:27:49] [EVT] get_events.php HTTP 200
── Response Headers ──
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Content-Type: application/json; charset=utf-8
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:27:49 GMT
Keep-Alive: timeout=5, max=100
Content-Length: 56
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:27:49] Done
[11:27:49] Main
[11:27:51] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:27:51] Will get events_php
[11:27:51] [TYPING] πŸ”„ ========== POLL START ==========
[11:27:51] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:27:51] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:27:51] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:27:51] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:27:51] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:27:51] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:27:51] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:27:51] [TYPING] πŸ“₯ Found 0 typing users in response
[11:27:51] [TYPING] πŸ“₯ Updating typing users SET: []
[11:27:51] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:27:51] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:27:51] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:27:51] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:27:51] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:27:51] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:27:51] [TYPING] πŸ”„ ========== POLL END ==========
[11:27:51] [EVT] get_events.php HTTP 200
── Response Headers ──
Keep-Alive: timeout=5, max=66
Content-Length: 56
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Content-Type: application/json; charset=utf-8
Date: Sun, 16 Nov 2025 10:27:51 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:27:51] Done
[11:27:51] Main
[11:27:53] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:27:53] Will get events_php
[11:27:53] [TYPING] πŸ”„ ========== POLL START ==========
[11:27:53] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:27:53] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:27:53] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:27:53] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:27:53] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:27:53] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:27:53] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok]
[11:27:53] [TYPING] πŸ“₯ Found 0 typing users in response
[11:27:53] [TYPING] πŸ“₯ Updating typing users SET: []
[11:27:53] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:27:53] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:27:53] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:27:53] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:27:53] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:27:53] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:27:53] [TYPING] πŸ”„ ========== POLL END ==========
[11:27:53] [EVT] get_events.php HTTP 200
── Response Headers ──
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Content-Type: application/json; charset=utf-8
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:27:53 GMT
Keep-Alive: timeout=5, max=65
Content-Length: 56
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:27:53] Main
[11:27:53] Done
[11:27:54] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:27:54] [INFO_PAGE] Found 424 messages for session 'ILUIWU2'
[11:27:54] [INFO_PAGE] Total messages in database: 1190
[11:27:55] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:27:55] Will get events_php
[11:27:55] [TYPING] πŸ”„ ========== POLL START ==========
[11:27:55] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:27:55] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:27:55] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:27:55] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:27:55] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:27:55] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:27:55] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2]
[11:27:55] [TYPING] πŸ“₯ Found 0 typing users in response
[11:27:55] [TYPING] πŸ“₯ Updating typing users SET: []
[11:27:55] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:27:55] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:27:55] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:27:55] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:27:55] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:27:55] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:27:55] [TYPING] πŸ”„ ========== POLL END ==========
[11:27:55] [EVT] get_events.php HTTP 200
── Response Headers ──
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Content-Type: application/json; charset=utf-8
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:27:55 GMT
Keep-Alive: timeout=5, max=63
Content-Length: 56
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:27:55] Done
[11:27:55] Main
[11:27:57] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:27:57] Will get events_php
[11:27:57] [TYPING] πŸ”„ ========== POLL START ==========
[11:27:57] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:27:57] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:27:57] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:27:57] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:27:57] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:27:57] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:27:57] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:27:57] [TYPING] πŸ“₯ Found 0 typing users in response
[11:27:57] [TYPING] πŸ“₯ Updating typing users SET: []
[11:27:57] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:27:57] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:27:57] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:27:57] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:27:57] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:27:57] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:27:57] [TYPING] πŸ”„ ========== POLL END ==========
[11:27:57] [EVT] get_events.php HTTP 200
── Response Headers ──
Keep-Alive: timeout=5, max=62
Content-Length: 56
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Content-Type: application/json; charset=utf-8
Date: Sun, 16 Nov 2025 10:27:57 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:27:57] Done
[11:27:57] Main
[11:27:59] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:27:59] [INFO_PAGE] Found 424 messages for session 'ILUIWU2'
[11:27:59] [INFO_PAGE] Total messages in database: 1190
[11:27:59] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:27:59] Will get events_php
[11:27:59] [TYPING] πŸ”„ ========== POLL START ==========
[11:27:59] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:27:59] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:27:59] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:27:59] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:27:59] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:27:59] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:27:59] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2]
[11:27:59] [TYPING] πŸ“₯ Found 0 typing users in response
[11:27:59] [TYPING] πŸ“₯ Updating typing users SET: []
[11:27:59] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:27:59] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:27:59] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:27:59] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:27:59] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:27:59] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:27:59] [TYPING] πŸ”„ ========== POLL END ==========
[11:27:59] [EVT] get_events.php HTTP 200
── Response Headers ──
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Content-Type: application/json; charset=utf-8
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:27:59 GMT
Keep-Alive: timeout=5, max=60
Content-Length: 56
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:27:59] Done
[11:27:59] Main
[11:28:01] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:28:01] Will get events_php
[11:28:01] [TYPING] πŸ”„ ========== POLL START ==========
[11:28:01] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:28:01] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:28:01] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:28:01] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:28:01] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:28:01] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:28:01] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2]
[11:28:01] [TYPING] πŸ“₯ Found 0 typing users in response
[11:28:01] [TYPING] πŸ“₯ Updating typing users SET: []
[11:28:01] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:28:01] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:28:01] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:28:01] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:28:01] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:28:01] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:28:01] [TYPING] πŸ”„ ========== POLL END ==========
[11:28:01] [EVT] get_events.php HTTP 200
── Response Headers ──
Keep-Alive: timeout=5, max=59
Content-Length: 56
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Content-Type: application/json; charset=utf-8
Date: Sun, 16 Nov 2025 10:28:01 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:28:01] Done
[11:28:01] Main
[11:28:03] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:28:03] Will get events_php
[11:28:03] [TYPING] πŸ”„ ========== POLL START ==========
[11:28:03] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:28:03] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:28:03] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:28:03] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:28:03] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:28:03] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:28:03] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2]
[11:28:03] [TYPING] πŸ“₯ Found 0 typing users in response
[11:28:03] [TYPING] πŸ“₯ Updating typing users SET: []
[11:28:03] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:28:03] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:28:03] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:28:03] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:28:03] [EVT] get_events.php HTTP 200
── Response Headers ──
Keep-Alive: timeout=5, max=58
Content-Length: 56
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Content-Type: application/json; charset=utf-8
Date: Sun, 16 Nov 2025 10:28:03 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:28:03] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:28:03] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:28:03] Done
[11:28:03] [TYPING] πŸ”„ ========== POLL END ==========
[11:28:03] Main
[11:28:04] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:28:04] [INFO_PAGE] Found 424 messages for session 'ILUIWU2'
[11:28:04] [INFO_PAGE] Total messages in database: 1190
[11:28:05] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:28:05] Will get events_php
[11:28:05] [TYPING] πŸ”„ ========== POLL START ==========
[11:28:05] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:28:05] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:28:05] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:28:05] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:28:05] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:28:05] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:28:05] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:28:05] [TYPING] πŸ“₯ Found 0 typing users in response
[11:28:05] [TYPING] πŸ“₯ Updating typing users SET: []
[11:28:05] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:28:05] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:28:05] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:28:05] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:28:05] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:28:05] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:28:05] [TYPING] πŸ”„ ========== POLL END ==========
[11:28:05] [EVT] get_events.php HTTP 200
── Response Headers ──
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Content-Type: application/json; charset=utf-8
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:28:05 GMT
Keep-Alive: timeout=5, max=56
Content-Length: 56
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:28:05] Done
[11:28:05] Main
[11:28:07] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:28:07] Will get events_php
[11:28:07] [TYPING] πŸ”„ ========== POLL START ==========
[11:28:07] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:28:07] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:28:07] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:28:07] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:28:07] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:28:07] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:28:07] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2]
[11:28:07] [TYPING] πŸ“₯ Found 0 typing users in response
[11:28:07] [TYPING] πŸ“₯ Updating typing users SET: []
[11:28:07] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:28:07] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:28:07] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:28:07] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:28:07] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:28:07] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:28:07] [TYPING] πŸ”„ ========== POLL END ==========
[11:28:07] [EVT] get_events.php HTTP 200
── Response Headers ──
Keep-Alive: timeout=5, max=55
Content-Length: 56
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Content-Type: application/json; charset=utf-8
Date: Sun, 16 Nov 2025 10:28:07 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:28:07] Done
[11:28:07] Main
[11:28:09] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:28:09] [INFO_PAGE] Found 424 messages for session 'ILUIWU2'
[11:28:09] [INFO_PAGE] Total messages in database: 1190
[11:28:09] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:28:09] Will get events_php
[11:28:09] [TYPING] πŸ”„ ========== POLL START ==========
[11:28:09] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:28:09] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:28:09] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:28:09] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:28:09] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:28:09] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:28:09] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:28:09] [TYPING] πŸ“₯ Found 0 typing users in response
[11:28:09] [TYPING] πŸ“₯ Updating typing users SET: []
[11:28:09] [EVT] get_events.php HTTP 200
── Response Headers ──
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Content-Type: application/json; charset=utf-8
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:28:09 GMT
Keep-Alive: timeout=5, max=100
Content-Length: 56
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:28:09] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:28:09] Done
[11:28:09] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:28:09] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:28:09] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:28:09] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:28:09] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:28:09] [TYPING] πŸ”„ ========== POLL END ==========
[11:28:09] Main
[11:28:11] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:28:11] Will get events_php
[11:28:11] [TYPING] πŸ”„ ========== POLL START ==========
[11:28:11] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:28:11] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:28:11] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:28:11] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:28:11] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:28:11] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:28:11] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:28:11] [TYPING] πŸ“₯ Found 0 typing users in response
[11:28:11] [TYPING] πŸ“₯ Updating typing users SET: []
[11:28:11] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:28:11] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:28:11] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:28:11] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:28:11] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:28:11] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:28:11] [TYPING] πŸ”„ ========== POLL END ==========
[11:28:11] [EVT] get_events.php HTTP 200
── Response Headers ──
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Content-Type: application/json; charset=utf-8
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:28:11 GMT
Keep-Alive: timeout=5, max=53
Content-Length: 56
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:28:11] Done
[11:28:11] Main
[11:28:13] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:28:13] Will get events_php
[11:28:13] [TYPING] πŸ”„ ========== POLL START ==========
[11:28:13] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:28:13] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:28:13] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:28:13] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:28:13] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:28:13] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:28:13] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok, "sessionId": ILUIWU2]
[11:28:13] [TYPING] πŸ“₯ Found 0 typing users in response
[11:28:13] [TYPING] πŸ“₯ Updating typing users SET: []
[11:28:13] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:28:13] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:28:13] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:28:13] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:28:13] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:28:13] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:28:13] [TYPING] πŸ”„ ========== POLL END ==========
[11:28:13] [EVT] get_events.php HTTP 200
── Response Headers ──
Keep-Alive: timeout=5, max=52
Content-Length: 56
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Content-Type: application/json; charset=utf-8
Date: Sun, 16 Nov 2025 10:28:13 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:28:13] Done
[11:28:13] Main
[11:28:14] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:28:14] [INFO_PAGE] Found 424 messages for session 'ILUIWU2'
[11:28:14] [INFO_PAGE] Total messages in database: 1190
[11:28:15] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:28:15] Will get events_php
[11:28:15] [TYPING] πŸ”„ ========== POLL START ==========
[11:28:15] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:28:15] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:28:15] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:28:15] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:28:15] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:28:15] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:28:15] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2]
[11:28:15] [TYPING] πŸ“₯ Found 0 typing users in response
[11:28:15] [TYPING] πŸ“₯ Updating typing users SET: []
[11:28:15] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:28:15] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:28:15] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:28:15] [EVT] get_events.php HTTP 200
── Response Headers ──
Keep-Alive: timeout=5, max=50
Content-Length: 56
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Content-Type: application/json; charset=utf-8
Date: Sun, 16 Nov 2025 10:28:15 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:28:15] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:28:15] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:28:15] Done
[11:28:15] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:28:15] [TYPING] πŸ”„ ========== POLL END ==========
[11:28:15] Main
[11:28:17] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:28:17] Will get events_php
[11:28:17] [TYPING] πŸ”„ ========== POLL START ==========
[11:28:17] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:28:17] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:28:17] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:28:17] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:28:17] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:28:17] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:28:17] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:28:17] [TYPING] πŸ“₯ Found 0 typing users in response
[11:28:17] [TYPING] πŸ“₯ Updating typing users SET: []
[11:28:17] [EVT] get_events.php HTTP 200
── Response Headers ──
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Content-Type: application/json; charset=utf-8
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:28:17 GMT
Keep-Alive: timeout=5, max=49
Content-Length: 56
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:28:17] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:28:17] Done
[11:28:17] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:28:17] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:28:17] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:28:17] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:28:17] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:28:17] [TYPING] πŸ”„ ========== POLL END ==========
[11:28:17] Main
[11:28:19] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:28:19] [INFO_PAGE] Found 424 messages for session 'ILUIWU2'
[11:28:19] [INFO_PAGE] Total messages in database: 1190
[11:28:19] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:28:19] Will get events_php
[11:28:19] [TYPING] πŸ”„ ========== POLL START ==========
[11:28:19] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:28:19] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:28:19] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:28:19] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:28:19] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:28:19] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:28:19] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2, "status": ok]
[11:28:19] [TYPING] πŸ“₯ Found 0 typing users in response
[11:28:19] [TYPING] πŸ“₯ Updating typing users SET: []
[11:28:19] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:28:19] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:28:19] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:28:19] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:28:19] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:28:19] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:28:19] [TYPING] πŸ”„ ========== POLL END ==========
[11:28:19] [EVT] get_events.php HTTP 200
── Response Headers ──
Keep-Alive: timeout=5, max=47
Content-Length: 56
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Content-Type: application/json; charset=utf-8
Date: Sun, 16 Nov 2025 10:28:19 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:28:19] Done
[11:28:19] Main
[11:28:21] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:28:21] Will get events_php
[11:28:21] [TYPING] πŸ”„ ========== POLL START ==========
[11:28:21] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:28:21] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:28:21] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:28:21] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:28:21] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:28:21] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:28:21] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2]
[11:28:21] [TYPING] πŸ“₯ Found 0 typing users in response
[11:28:21] [TYPING] πŸ“₯ Updating typing users SET: []
[11:28:21] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:28:21] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:28:21] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:28:21] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:28:21] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:28:21] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:28:21] [TYPING] πŸ”„ ========== POLL END ==========
[11:28:21] [EVT] get_events.php HTTP 200
── Response Headers ──
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Content-Type: application/json; charset=utf-8
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:28:21 GMT
Keep-Alive: timeout=5, max=46
Content-Length: 56
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:28:21] Done
[11:28:21] Main
[11:28:23] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:28:23] Will get events_php
[11:28:23] [TYPING] πŸ”„ ========== POLL START ==========
[11:28:23] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:28:23] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:28:23] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:28:23] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:28:23] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:28:23] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:28:23] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2]
[11:28:23] [TYPING] πŸ“₯ Found 0 typing users in response
[11:28:23] [TYPING] πŸ“₯ Updating typing users SET: []
[11:28:23] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:28:23] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:28:23] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:28:23] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:28:23] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:28:23] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:28:23] [TYPING] πŸ”„ ========== POLL END ==========
[11:28:23] [EVT] get_events.php HTTP 200
── Response Headers ──
Keep-Alive: timeout=5, max=45
Content-Length: 56
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Content-Type: application/json; charset=utf-8
Date: Sun, 16 Nov 2025 10:28:23 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:28:23] Done
[11:28:23] Main
[11:28:24] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:28:24] [INFO_PAGE] Found 424 messages for session 'ILUIWU2'
[11:28:24] [INFO_PAGE] Total messages in database: 1190
[11:28:25] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:28:25] Will get events_php
[11:28:25] [TYPING] πŸ”„ ========== POLL START ==========
[11:28:25] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:28:25] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:28:25] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:28:25] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:28:25] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:28:25] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:28:25] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2]
[11:28:25] [TYPING] πŸ“₯ Found 0 typing users in response
[11:28:25] [TYPING] πŸ“₯ Updating typing users SET: []
[11:28:25] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:28:25] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:28:25] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:28:25] [EVT] get_events.php HTTP 200
── Response Headers ──
Keep-Alive: timeout=5, max=43
Content-Length: 56
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Content-Type: application/json; charset=utf-8
Date: Sun, 16 Nov 2025 10:28:25 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:28:25] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:28:25] Done
[11:28:25] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:28:25] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:28:25] [TYPING] πŸ”„ ========== POLL END ==========
[11:28:25] Main
[11:28:27] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:28:27] Will get events_php
[11:28:27] [TYPING] πŸ”„ ========== POLL START ==========
[11:28:27] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:28:27] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:28:27] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:28:27] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:28:27] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:28:27] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:28:27] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok]
[11:28:27] [TYPING] πŸ“₯ Found 0 typing users in response
[11:28:27] [TYPING] πŸ“₯ Updating typing users SET: []
[11:28:27] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:28:27] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:28:27] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:28:27] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:28:27] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:28:27] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:28:27] [TYPING] πŸ”„ ========== POLL END ==========
[11:28:27] [EVT] get_events.php HTTP 200
── Response Headers ──
Keep-Alive: timeout=5, max=42
Content-Length: 56
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Content-Type: application/json; charset=utf-8
Date: Sun, 16 Nov 2025 10:28:27 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:28:27] Done
[11:28:27] Main
[11:28:29] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:28:29] [INFO_PAGE] Found 424 messages for session 'ILUIWU2'
[11:28:29] [INFO_PAGE] Total messages in database: 1190
[11:28:29] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:28:29] Will get events_php
[11:28:29] [TYPING] πŸ”„ ========== POLL START ==========
[11:28:29] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:28:29] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:28:29] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:28:29] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:28:29] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:28:29] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:28:29] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:28:29] [TYPING] πŸ“₯ Found 0 typing users in response
[11:28:29] [TYPING] πŸ“₯ Updating typing users SET: []
[11:28:29] [EVT] get_events.php HTTP 200
── Response Headers ──
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Content-Type: application/json; charset=utf-8
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:28:29 GMT
Keep-Alive: timeout=5, max=100
Content-Length: 56
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:28:29] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:28:29] Done
[11:28:29] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:28:29] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:28:29] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:28:29] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:28:29] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:28:29] [TYPING] πŸ”„ ========== POLL END ==========
[11:28:29] Main
[11:28:31] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:28:31] Will get events_php
[11:28:31] [TYPING] πŸ”„ ========== POLL START ==========
[11:28:31] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:28:31] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:28:31] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:28:31] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:28:31] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:28:31] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[{"senderId":"E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE","senderName":"LoloTest"}]}
[11:28:31] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSSingleObjectArrayI 0x1220a1940>(
{
    senderId = "E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE";
    senderName = LoloTest;
}
)
, "sessionId": ILUIWU2, "status": ok]
[11:28:31] [TYPING] πŸ“₯ Found 1 typing users in response
[11:28:31] [EVT] get_events.php HTTP 200
── Response Headers ──
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Content-Type: application/json; charset=utf-8
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:28:31 GMT
Keep-Alive: timeout=5, max=40
Content-Length: 56
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:28:31] [TYPING] πŸ“₯ Processing user [1/1]: ["senderId": E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE, "senderName": LoloTest]
[11:28:31] [TYPING] πŸ“₯   senderId: 'E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE' (length: 36)
[11:28:31] Done
[11:28:31] [TYPING] πŸ“₯   senderName: 'LoloTest'
[11:28:31] [TYPING] πŸ“₯   myUserId: '3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF' (length: 36)
[11:28:31] [TYPING] πŸ“₯   Are they equal? false
[11:28:31] [TYPING] πŸ“₯ βœ… ADDED E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE (LoloTest) to currentTypingUsers
[11:28:31] [TYPING] πŸ“₯ Updating typing users SET: [Eye.TypingUser(userId: "E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE", displayName: "LoloTest")]
[11:28:31] [TYPING] πŸ“₯ About to set self.typingUsers from [] to [Eye.TypingUser(userId: "E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE", displayName: "LoloTest")]
[11:28:31] [TYPING] πŸ“₯ After update, self.typingUsers = [Eye.TypingUser(userId: "E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE", displayName: "LoloTest")]
[11:28:31] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=1, typingUsers=[Eye.TypingUser(userId: "E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE", displayName: "LoloTest")]
[11:28:31] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:28:31] [TYPING] πŸ”” ========== SHOWING TYPING INDICATOR ==========
[11:28:31] [TYPING] πŸ”” Text: "LoloTest is typing..."
[11:28:31] [TYPING] πŸ”” Frame: (16.0, 842.0, 408.0, 20.0)
[11:28:31] [TYPING] πŸ”” Bounds: (0.0, 0.0, 408.0, 20.0)
[11:28:31] [TYPING] πŸ”” isHidden: false
[11:28:31] [TYPING] πŸ”” alpha: 1.0
[11:28:31] [TYPING] πŸ”” backgroundColor: Optional(UIExtendedSRGBColorSpace 0.2 0.5 0.9 0.8)
[11:28:31] [TYPING] πŸ”” textColor: Optional(UIExtendedGrayColorSpace 1 1)
[11:28:31] [TYPING] πŸ”” font: Optional(<UICTFont: 0x1077a4280> font-family: ".SFUI-Medium"; font-weight: normal; font-style: normal; font-size: 13.00pt)
[11:28:31] [TYPING] πŸ”” superview: YES
[11:28:31] [TYPING] πŸ”” superview.frame: (0.0, 0.0, 440.0, 956.0)
[11:28:31] [TYPING] πŸ”” superview.bounds: (0.0, 0.0, 440.0, 956.0)
[11:28:31] [TYPING] πŸ”” inputBar.frame: (0.0, 870.0, 440.0, 52.0)
[11:28:31] [TYPING] πŸ”” Number of subviews in view: 16
[11:28:31] [TYPING] πŸ”” ========================================
[11:28:31] [TYPING] πŸ“₯ βœ… POLL RESULT: 1 users typing
[11:28:31] [TYPING] πŸ”„ ========== POLL END ==========
[11:28:31] Main
[11:28:33] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:28:33] Will get events_php
[11:28:33] [TYPING] πŸ”„ ========== POLL START ==========
[11:28:33] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:28:33] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:28:33] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:28:33] [TYPING] πŸ”„ Current typingUsers.count: 1
[11:28:33] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:28:33] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[{"senderId":"E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE","senderName":"LoloTest"}]}
[11:28:33] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "status": ok, "typingUsers": <__NSSingleObjectArrayI 0x1220a3d40>(
{
    senderId = "E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE";
    senderName = LoloTest;
}
)
]
[11:28:33] [TYPING] πŸ“₯ Found 1 typing users in response
[11:28:33] [TYPING] πŸ“₯ Processing user [1/1]: ["senderName": LoloTest, "senderId": E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE]
[11:28:33] [TYPING] πŸ“₯   senderId: 'E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE' (length: 36)
[11:28:33] [TYPING] πŸ“₯   senderName: 'LoloTest'
[11:28:33] [TYPING] πŸ“₯   myUserId: '3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF' (length: 36)
[11:28:33] [TYPING] πŸ“₯   Are they equal? false
[11:28:33] [TYPING] πŸ“₯ βœ… ADDED E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE (LoloTest) to currentTypingUsers
[11:28:33] [TYPING] πŸ“₯ Updating typing users SET: [Eye.TypingUser(userId: "E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE", displayName: "LoloTest")]
[11:28:33] [TYPING] πŸ“₯ About to set self.typingUsers from [Eye.TypingUser(userId: "E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE", displayName: "LoloTest")] to [Eye.TypingUser(userId: "E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE", displayName: "LoloTest")]
[11:28:33] [TYPING] πŸ“₯ After update, self.typingUsers = [Eye.TypingUser(userId: "E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE", displayName: "LoloTest")]
[11:28:33] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=1, typingUsers=[Eye.TypingUser(userId: "E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE", displayName: "LoloTest")]
[11:28:33] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:28:33] [EVT] get_events.php HTTP 200
── Response Headers ──
Connection: Keep-Alive
Keep-Alive: timeout=5, max=39
Content-Type: application/json; charset=utf-8
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:28:33 GMT
X-Powered-By: PHP/8.4.14
Content-Length: 56
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:28:33] [TYPING] πŸ”” ========== SHOWING TYPING INDICATOR ==========
[11:28:33] [TYPING] πŸ”” Text: "LoloTest is typing..."
[11:28:33] Done
[11:28:33] [TYPING] πŸ”” Frame: (16.0, 842.0, 408.0, 20.0)
[11:28:33] [TYPING] πŸ”” Bounds: (0.0, 0.0, 408.0, 20.0)
[11:28:33] [TYPING] πŸ”” isHidden: false
[11:28:33] [TYPING] πŸ”” alpha: 1.0
[11:28:33] [TYPING] πŸ”” backgroundColor: Optional(UIExtendedSRGBColorSpace 0.2 0.5 0.9 0.8)
[11:28:33] [TYPING] πŸ”” textColor: Optional(UIExtendedGrayColorSpace 1 1)
[11:28:33] [TYPING] πŸ”” font: Optional(<UICTFont: 0x1077a4280> font-family: ".SFUI-Medium"; font-weight: normal; font-style: normal; font-size: 13.00pt)
[11:28:33] [TYPING] πŸ”” superview: YES
[11:28:33] [TYPING] πŸ”” superview.frame: (0.0, 0.0, 440.0, 956.0)
[11:28:33] [TYPING] πŸ”” superview.bounds: (0.0, 0.0, 440.0, 956.0)
[11:28:33] [TYPING] πŸ”” inputBar.frame: (0.0, 870.0, 440.0, 52.0)
[11:28:33] [TYPING] πŸ”” Number of subviews in view: 16
[11:28:33] [TYPING] πŸ”” ========================================
[11:28:33] [TYPING] πŸ“₯ βœ… POLL RESULT: 1 users typing
[11:28:33] [TYPING] πŸ”„ ========== POLL END ==========
[11:28:33] Main
[11:28:34] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_id"): 1610, AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU2]
[11:28:34] [PUSH] Parsed message_id: 1610
[11:28:34] [PUSH] Parsed operation_type: 0
[11:28:34] [PUSH] Taking direct action: opType=0, messageId=1610
[11:28:34] [PUSH] TakeActionFromPush called: OperationType=0, MessageIds=1610
[11:28:34] [PUSH] Handling message fetch for opType=0, messageId=1610
[11:28:34] [PUSH] Requesting URL: http://crivello.dyndns.org:81/WebRTC/chat/chat_get_messages.php?session_id=ILUIWU2&viewer=1&messages=1610
[11:28:34] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:28:34] [INFO_PAGE] Found 424 messages for session 'ILUIWU2'
[11:28:34] [INFO_PAGE] Total messages in database: 1190
[11:28:34] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU2, AnyHashable("message_id"): 1610, AnyHashable("aps"): {
    "content-available" = 1;
}]
[11:28:34] [PUSH] Parsed message_id: 1610
[11:28:34] [PUSH] Parsed operation_type: 3
[11:28:34] [PUSH] Taking direct action: opType=3, messageId=1610
[11:28:34] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=1610
[11:28:35] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:28:35] Will get events_php
[11:28:35] [TYPING] πŸ”„ ========== POLL START ==========
[11:28:35] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:28:35] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:28:35] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:28:35] [TYPING] πŸ”„ Current typingUsers.count: 1
[11:28:35] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:28:35] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:28:35] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2]
[11:28:35] [TYPING] πŸ“₯ Found 0 typing users in response
[11:28:35] [TYPING] πŸ“₯ Updating typing users SET: []
[11:28:35] [TYPING] πŸ“₯ About to set self.typingUsers from [Eye.TypingUser(userId: "E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE", displayName: "LoloTest")] to []
[11:28:35] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:28:35] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:28:35] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:28:35] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:28:35] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:28:35] [TYPING] πŸ”„ ========== POLL END ==========
[11:28:36] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("operation_type"): 3, AnyHashable("message_id"): 1610, AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("session_id"): ILUIWU2]
[11:28:36] [PUSH] Parsed message_id: 1610
[11:28:36] [PUSH] Parsed operation_type: 3
[11:28:36] [PUSH] Taking direct action: opType=3, messageId=1610
[11:28:36] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=1610
[11:28:36] [PUSH] get_message response: HTTP 200, 464 bytes
[11:28:36] [PUSH] get_message response body: [{"message_type":0,"message_id":1610,"session_id":"ILUIWU2","message":"Un","file_name":"","msgread":0,"datesent":"2025-11-16 10:28:33","timer":0,"timer_started_at":null,"sender_id":"E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE","sender_name":"LoloTest","distance":null,"link_url":null,"link_title":null,"link_description":null,"link_image_url":null,"reply_to_id":null,"replied_message":null,"replied_sender_id":null,"replied_sender_name":null,"ViewerMode":0,"read_by":[]}]
[11:28:36] [EVOLUTION] 🎬 Preparing message 1610 for evolution playback (starting from empty)
[11:28:36] [PUSH] Added new message 1610 to chatMessages with readBy: 0 readers
[11:28:36] [PUSH] Added new message 1610 to allMessagesWithReadBy with readBy: 0 readers
[11:28:36] [ANIMATION] πŸ“Œ PUSH: Added message 1610 to newlyAddedMessageIds (willPlayEvolution=true)
[11:28:36] [PUSH_DEBUG] After inserting message 1610, existing messages readBy status:
[11:28:36] [PUSH_DEBUG]   msg[0] id=1610, readBy.count=0
[11:28:36] [PUSH_DEBUG]   msg[1] id=1609, readBy.count=1
[11:28:36] [PUSH_DEBUG]   msg[2] id=1608, readBy.count=1
[11:28:37] [CRASH] Previous session did not exit cleanly - crash detected
[11:28:37] [GIPHY] SDK not available - using REST API fallback
[11:28:37] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:28:37] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:28:37] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:28:37] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:28:37] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:28:37] [SCENE] Launched directly to chat view with sessionId: ILUIWU2
[11:28:37] [PUSH] APNs token: 6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c
[11:28:37] [PUSH] APNs token: 6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c
[11:28:38] [PUSH] Device role updated to 'viewer': HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:28:38] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:28:38] Documents Directory: /var/mobile/Containers/Data/Application/DBC09D9E-8373-4D3E-B8EB-2F88D477D316/Documents
[11:28:38] [NOTIFICATION] πŸ”” Notification button created and added to topNavBar
[11:28:38] [NOTIFICATION] πŸ”” Button tintColor: grey (0.5, 0.5, 0.5)
[11:28:38] [NOTIFICATION] πŸ”” Button isUserInteractionEnabled: true
[11:28:38] [INFO_PAGE] InformationViewController viewDidLoad called
[11:28:38] [INFO_PAGE] Actions configured (bell button is external)
[11:28:38] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:28:38] [INFO_PAGE] Successfully opened database at /var/mobile/Containers/Data/Application/DBC09D9E-8373-4D3E-B8EB-2F88D477D316/Documents/chat_local_viewer.db
[11:28:38] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:28:38] [INFO_PAGE] Found 425 messages for session 'ILUIWU2'
[11:28:38] [INFO_PAGE] Total messages in database: 1191
[11:28:38] [INFO_PAGE] InformationViewController setup complete
[11:28:38] [INFO_PAGE] ℹ️ Information page added to tab 3
[11:28:38] [THEME] Applying current theme
[11:28:38] [CHAT] Applied day theme (mode: day)
[11:28:38] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:28:38] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:28:38] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:28:38] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:28:38] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:28:38] [SUMMARY] Already showed summary today (2025-11-16)
[11:28:38] Did transition
[11:28:38] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:28:38] [VIEWER] Screen lock enabled - normal idle behavior
[11:28:38] [QUERY] πŸ” Checking tab - currentTabIndex=0
[11:28:38] [QUERY] πŸ”΅ [TAB 0] No query connection needed
[11:28:38] [QUERY] βœ… [TAB 0] Initialized without query connection
[11:28:38] [LOCATION] Started location updates for distance calculation (already authorized)
[11:28:38] [TAB 0] Skipping reconnect polling - only needed for tab 1
[11:28:38] [VIEWER_INIT] Loading messages with read receipts from server
[11:28:38] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:28:38] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:28:38] [DB]   msg[0] id=1610, isMyMessage=false, readBy.count=0
[11:28:38] [DB]   msg[1] id=1609, isMyMessage=false, readBy.count=0
[11:28:38] [DB]   msg[2] id=1608, isMyMessage=false, readBy.count=0
[11:28:38] [EVOLUTION] πŸ” Found 1 NEW unread messages from local DB before fetching read receipts (lastSeenMessageId=1609): [1610]
[11:28:38] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1610, readBy=[]", "id=1609, readBy=[]", "id=1608, readBy=[]"]
[11:28:38] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:28:38] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:28:38] [DB]   msg[0] id=1610, isMyMessage=false, readBy.count=0
[11:28:38] [DB]   msg[1] id=1609, isMyMessage=false, readBy.count=0
[11:28:38] [DB]   msg[2] id=1608, isMyMessage=false, readBy.count=0
[11:28:38] [EVENT_POLL] Starting periodic event polling for viewer mode (5s interval)
[11:28:38] [ORIENTATION] Updated pagingScrollView height to 247.5 for width 440.0
[11:28:38] [SUMMARY] Already showed summary today (2025-11-16)
[11:28:38] Did transition
[11:28:38] [NOTIFICATION] πŸ”” Constraints activated for notification button
[11:28:38] [NOTIFICATION] πŸ”” topNavBar frame: (0.0, 0.0, 440.0, 50.0)
[11:28:38] [NOTIFICATION] πŸ”” menuButton frame: (0.0, 0.0, 39.0, 30.0)
[11:28:38] [NOTIFICATION] πŸ”” notificationButton frame: (0.0, 0.0, 56.333333333333336, 58.0)
[11:28:38] [NOTIFICATION] πŸ”” Notification button brought to front
[11:28:38] [NOTIFICATION] πŸ”„ Updating icon to: bell.slash.fill (muted=true)
[11:28:38] [NOTIFICATION] βœ… Icon updated successfully
[11:28:38] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[11:28:38] [MIGRATION] No messages need sender_name backfill
[11:28:38] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:28:38] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:28:38] [DB]   msg[0] id=1610, isMyMessage=false, readBy.count=0
[11:28:38] [DB]   msg[1] id=1609, isMyMessage=false, readBy.count=0
[11:28:38] [DB]   msg[2] id=1608, isMyMessage=false, readBy.count=0
[11:28:38] [INFO_PAGE] InformationViewController viewWillAppear - applying theme
[11:28:38] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:28:38] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:28:38] [PAGINATION_SCROLL] offset=-12.0, contentHeight=108.0, distFromBottom=120.0, dragging=false, decel=false, isLoading=false, cooldown=63899058518.661575s
[11:28:38] [PAGINATION_SCROLL] offset=0.0, contentHeight=108.0, distFromBottom=-650.0, dragging=false, decel=false, isLoading=false, cooldown=63899058518.66279s
[11:28:38] [LOCATION] Authorization changed: 4
[11:28:38] [NOTIFICATION] πŸ”” FINAL STATE after viewDidLoad:
[11:28:38] [NOTIFICATION] πŸ”” notificationButton.frame: (392.0, 67.0, 40.0, 40.0)
[11:28:38] [NOTIFICATION] πŸ”” notificationButton.isHidden: false
[11:28:38] [NOTIFICATION] πŸ”” notificationButton.alpha: 1.0
[11:28:38] [NOTIFICATION] πŸ”” notificationButton.superview: true
[11:28:38] [NOTIFICATION] πŸ”” topNavBar.isHidden: false
[11:28:38] [NOTIFICATION] πŸ”” topNavBar.subviews.count: 3
[11:28:39] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:28:39] [PUSH] Device role updated to 'viewer': HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:28:39] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:28:39] [USER] βœ… User registered successfully
[11:28:39] [USER] User registration successful
[11:28:39] [CHAT] βœ… refreshAllFromServer - parsed 426 messages from server
[11:28:39] [DB] clearDBForSession(ILUIWU2): deleted 425 messages, result=101
[11:28:39] ReloadData 15 (426 messages loaded, 0 pending media)
[11:28:39] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:28:39] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:28:39] [DB]   msg[0] id=1611, isMyMessage=false, readBy.count=0
[11:28:39] [DB]   msg[1] id=1610, isMyMessage=false, readBy.count=0
[11:28:39] [DB]   msg[2] id=1609, isMyMessage=false, readBy.count=0
[11:28:39] [EVOLUTION] πŸ” Found 2 NEW unread messages after refreshAllFromServer (lastSeenMessageId=1609): [1611, 1610]
[11:28:39] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1611, readBy=[]", "id=1610, readBy=[]", "id=1609, readBy=[]"]
[11:28:39] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:28:39] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:28:39] [DB]   msg[0] id=1611, isMyMessage=false, readBy.count=0
[11:28:39] [DB]   msg[1] id=1610, isMyMessage=false, readBy.count=0
[11:28:39] [DB]   msg[2] id=1609, isMyMessage=false, readBy.count=0
[11:28:39] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:28:39] [UNREAD_DEBUG]   FINAL msg[0] id=1610, readBy.count=0
[11:28:39] [UNREAD_DEBUG]   FINAL msg[1] id=1609, readBy.count=1
[11:28:39] [UNREAD_DEBUG]   FINAL msg[2] id=1608, readBy.count=1
[11:28:39] [VIEWER_INIT] Loaded 50 messages with read receipts, hasMore: true
[11:28:39] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:28:39] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:28:39] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:28:39] [EVOLUTION] πŸ“ Updated lastSeenMessageId: 1609 β†’ 1610
[11:28:39] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:28:39] [ROWS] 0: SEPARATOR
[11:28:39] [ROWS] 1: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:28:39] [ROWS] 2: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:28:39] [ROWS] 3: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:39] [ROWS] 4: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:39] [ROWS] 5: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:39] [ROWS] 6: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:39] [ROWS] 7: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:39] [ROWS] 8: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:39] [ROWS] 9: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:39] [ROWS] 10: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:28:39] [ROWS] 11: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:39] [ROWS] 12: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:39] [ROWS] 13: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:39] [ROWS] 14: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:39] [ROWS] 15: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:39] [ROWS] 16: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:39] [ROWS] 17: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:28:39] [ROWS] 18: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:39] [ROWS] 19: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:39] [ROWS] 20: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:39] [ROWS] 21: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:39] [ROWS] 22: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:39] [ROWS] 23: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:39] [ROWS] 24: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:39] [ROWS] 25: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:39] [ROWS] 26: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:39] [ROWS] 27: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:39] [ROWS] 28: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:39] [ROWS] 29: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:39] [ROWS] 30: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:39] [ROWS] 31: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:39] [ROWS] 32: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:39] [ROWS] 33: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:39] [ROWS] 34: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:39] [ROWS] 35: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:39] [ROWS] 36: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:28:39] [ROWS] 37: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:39] [ROWS] 38: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:39] [ROWS] 39: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:39] [ROWS] 40: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:39] [ROWS] 41: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:39] [ROWS] 42: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:39] [ROWS] 43: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:39] [ROWS] 44: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:39] [ROWS] 45: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:39] [ROWS] 46: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:39] [ROWS] 47: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:39] [ROWS] 48: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:39] [ROWS] 49: SEPARATOR
[11:28:39] [ROWS] 50: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:39] [ROWS] 51: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:39] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:28:39] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:28:39] [HEIGHT_DEBUG] Row 1 msg 1610: isPlayingEvolution=false, textLength=2, text='Un...'
[11:28:39] [EMOJI] βœ… Loaded 451 emoji-to-GIF mappings
[11:28:39] [HEIGHT] Row 1 msg 1610: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:39] [HEIGHT_DEBUG] Row 2 msg 1609: isPlayingEvolution=false, textLength=2, text='U2...'
[11:28:39] [HEIGHT] Row 2 msg 1609: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:39] [HEIGHT_DEBUG] Row 1 msg 1610: isPlayingEvolution=false, textLength=2, text='Un...'
[11:28:39] [HEIGHT] Row 1 msg 1610: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:39] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:28:39] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:28:39] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:39] [HEIGHT_DEBUG] Row 2 msg 1609: isPlayingEvolution=false, textLength=2, text='U2...'
[11:28:39] [HEIGHT] Row 2 msg 1609: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:39] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:39] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:39] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:39] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:39] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:39] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:39] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:39] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:39] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:39] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:39] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:39] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:39] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:39] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:39] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:39] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:39] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:39] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:39] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:39] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:39] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:39] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:39] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:39] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:39] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:39] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:39] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:39] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:28:39] ReloadData 18 (viewer init with read receipts)
[11:28:39] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:28:39] [UNREAD_DEBUG]   FINAL msg[0] id=1610, readBy.count=0
[11:28:39] [UNREAD_DEBUG]   FINAL msg[1] id=1609, readBy.count=1
[11:28:39] [UNREAD_DEBUG]   FINAL msg[2] id=1608, readBy.count=1
[11:28:39] [EVOLUTION_SEQ] πŸš€ FUNCTION CALLED with 1 message IDs: [1610]
[11:28:39] [EVOLUTION_SEQ] ⏱️ t=1763288919.946 πŸ“‹ Starting with 1 messages: [1610]
[11:28:39] [EVOLUTION_SEQ] πŸ“Š Message 1/1: id=1610, length=2 chars, estimated_duration=0.10s
[11:28:39] [EVOLUTION_SEQ] ⏱️ t=1763288919.947 πŸ”’ Marked 1 messages as pending (hidden from view)
[11:28:39] [EVOLUTION_SEQ] ⏱️ t=1763288919.947 πŸ“ Queued 1 messages for sequential playback
[11:28:39] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:28:39] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:28:39] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:28:39] [EVOLUTION_SEQ] ⏱️ t=1763288919.948 Filtered out 1 pending evolution messages
[11:28:39] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=51 =====
[11:28:39] [ROWS] 0: SEPARATOR
[11:28:39] [ROWS] 1: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:28:39] [ROWS] 2: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:39] [ROWS] 3: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:39] [ROWS] 4: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:39] [ROWS] 5: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:39] [ROWS] 6: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:39] [ROWS] 7: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:39] [ROWS] 8: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:39] [ROWS] 9: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:28:39] [ROWS] 10: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:39] [ROWS] 11: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:39] [ROWS] 12: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:39] [ROWS] 13: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:39] [ROWS] 14: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:39] [ROWS] 15: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:39] [ROWS] 16: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:28:39] [ROWS] 17: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:39] [ROWS] 18: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:39] [ROWS] 19: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:39] [ROWS] 20: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:39] [ROWS] 21: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:39] [ROWS] 22: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:39] [ROWS] 23: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:39] [ROWS] 24: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:39] [ROWS] 25: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:39] [ROWS] 26: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:39] [ROWS] 27: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:39] [ROWS] 28: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:39] [ROWS] 29: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:39] [ROWS] 30: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:39] [ROWS] 31: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:39] [ROWS] 32: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:39] [ROWS] 33: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:39] [ROWS] 34: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:39] [ROWS] 35: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:28:39] [ROWS] 36: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:39] [ROWS] 37: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:39] [ROWS] 38: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:39] [ROWS] 39: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:39] [ROWS] 40: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:39] [ROWS] 41: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:39] [ROWS] 42: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:39] [ROWS] 43: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:39] [ROWS] 44: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:39] [ROWS] 45: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:39] [ROWS] 46: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:39] [ROWS] 47: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:39] [ROWS] 48: SEPARATOR
[11:28:39] [ROWS] 49: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:39] [ROWS] 50: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:39] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:28:39] [TAB_FILTER] πŸ“Š Reloading table with 51 rows
[11:28:39] [HEIGHT_DEBUG] Row 1 msg 1609: isPlayingEvolution=false, textLength=2, text='U2...'
[11:28:39] [HEIGHT] Row 1 msg 1609: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:39] [HEIGHT_DEBUG] Row 2 msg 1608: isPlayingEvolution=false, textLength=9, text='Radiohead...'
[11:28:39] [HEIGHT] Row 2 msg 1608: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:39] [HEIGHT_DEBUG] Row 1 msg 1609: isPlayingEvolution=false, textLength=2, text='U2...'
[11:28:39] [HEIGHT] Row 1 msg 1609: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:39] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:28:39] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:28:39] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:39] [HEIGHT_DEBUG] Row 2 msg 1608: isPlayingEvolution=false, textLength=9, text='Radiohead...'
[11:28:39] [HEIGHT] Row 2 msg 1608: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:39] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:39] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:39] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:39] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:39] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:39] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:39] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:39] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:39] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:39] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:39] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:39] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:39] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:39] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:39] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:39] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:39] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:39] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:39] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:39] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:39] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:39] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:39] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:39] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:39] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:28:40] [EVOLUTION_SEQ] ⏱️ t=1763288920.002 πŸ“Š Table reloaded: 50 β†’ 49 visible messages
[11:28:40] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:28:40] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:28:40] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:28:40] [EVOLUTION_SEQ] ⏱️ t=1763288920.003 Filtered out 1 pending evolution messages
[11:28:40] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=51 =====
[11:28:40] [ROWS] 0: SEPARATOR
[11:28:40] [ROWS] 1: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:28:40] [ROWS] 2: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:40] [ROWS] 3: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:40] [ROWS] 4: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:40] [ROWS] 5: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:40] [ROWS] 6: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:40] [ROWS] 7: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:40] [ROWS] 8: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:40] [ROWS] 9: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:28:40] [ROWS] 10: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:40] [ROWS] 11: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:40] [ROWS] 12: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:40] [ROWS] 13: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:40] [ROWS] 14: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:40] [ROWS] 15: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:40] [ROWS] 16: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:28:40] [ROWS] 17: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:40] [ROWS] 18: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:40] [ROWS] 19: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:40] [ROWS] 20: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:40] [ROWS] 21: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:40] [ROWS] 22: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:40] [ROWS] 23: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:40] [ROWS] 24: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:40] [ROWS] 25: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:40] [ROWS] 26: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:40] [ROWS] 27: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:40] [ROWS] 28: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:40] [ROWS] 29: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:40] [ROWS] 30: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:40] [ROWS] 31: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:40] [ROWS] 32: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:40] [ROWS] 33: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:40] [ROWS] 34: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:40] [ROWS] 35: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:28:40] [ROWS] 36: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:40] [ROWS] 37: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:40] [ROWS] 38: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:40] [ROWS] 39: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:40] [ROWS] 40: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:40] [ROWS] 41: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:40] [ROWS] 42: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:40] [ROWS] 43: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:40] [ROWS] 44: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:40] [ROWS] 45: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:40] [ROWS] 46: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:40] [ROWS] 47: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:40] [ROWS] 48: SEPARATOR
[11:28:40] [ROWS] 49: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:40] [ROWS] 50: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:40] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:28:40] [TAB_FILTER] πŸ“Š Reloading table with 51 rows
[11:28:40] [HEIGHT_DEBUG] Row 1 msg 1609: isPlayingEvolution=false, textLength=2, text='U2...'
[11:28:40] [HEIGHT] Row 1 msg 1609: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:40] [HEIGHT_DEBUG] Row 2 msg 1608: isPlayingEvolution=false, textLength=9, text='Radiohead...'
[11:28:40] [HEIGHT] Row 2 msg 1608: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:40] [HEIGHT_DEBUG] Row 1 msg 1609: isPlayingEvolution=false, textLength=2, text='U2...'
[11:28:40] [HEIGHT] Row 1 msg 1609: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:40] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:28:40] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [HEIGHT_DEBUG] Row 2 msg 1608: isPlayingEvolution=false, textLength=9, text='Radiohead...'
[11:28:40] [HEIGHT] Row 2 msg 1608: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:40] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:28:40] [INIT_PAGINATION] Loaded 50 total messages, displaying 49 for tab 0
[11:28:40] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:28:40] [UNREAD_DEBUG]   FINAL msg[0] id=1611, readBy.count=0
[11:28:40] [UNREAD_DEBUG]   FINAL msg[1] id=1610, readBy.count=1
[11:28:40] [UNREAD_DEBUG]   FINAL msg[2] id=1609, readBy.count=1
[11:28:40] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:28:40] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:28:40] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:28:40] [EVOLUTION_SEQ] ⏱️ t=1763288920.058 Filtered out 1 pending evolution messages
[11:28:40] [EVOLUTION] πŸ“ Updated lastSeenMessageId: 1610 β†’ 1611
[11:28:40] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=51 =====
[11:28:40] [ROWS] 0: SEPARATOR
[11:28:40] [ROWS] 1: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:40] [ROWS] 2: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:28:40] [ROWS] 3: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:40] [ROWS] 4: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:40] [ROWS] 5: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:40] [ROWS] 6: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:40] [ROWS] 7: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:40] [ROWS] 8: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:40] [ROWS] 9: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:40] [ROWS] 10: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:28:40] [ROWS] 11: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:40] [ROWS] 12: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:40] [ROWS] 13: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:40] [ROWS] 14: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:40] [ROWS] 15: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:40] [ROWS] 16: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:40] [ROWS] 17: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:28:40] [ROWS] 18: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:40] [ROWS] 19: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:40] [ROWS] 20: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:40] [ROWS] 21: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:40] [ROWS] 22: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:40] [ROWS] 23: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:40] [ROWS] 24: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:40] [ROWS] 25: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:40] [ROWS] 26: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:40] [ROWS] 27: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:40] [ROWS] 28: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:40] [ROWS] 29: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:40] [ROWS] 30: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:40] [ROWS] 31: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:40] [ROWS] 32: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:40] [ROWS] 33: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:40] [ROWS] 34: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:40] [ROWS] 35: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:40] [ROWS] 36: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:28:40] [ROWS] 37: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:40] [ROWS] 38: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:40] [ROWS] 39: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:40] [ROWS] 40: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:40] [ROWS] 41: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:40] [ROWS] 42: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:40] [ROWS] 43: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:40] [ROWS] 44: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:40] [ROWS] 45: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:40] [ROWS] 46: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:40] [ROWS] 47: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:40] [ROWS] 48: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:40] [ROWS] 49: SEPARATOR
[11:28:40] [ROWS] 50: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:40] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:28:40] [TAB_FILTER] πŸ“Š Reloading table with 51 rows
[11:28:40] [HEIGHT_DEBUG] Row 1 msg 1611: isPlayingEvolution=false, textLength=4, text='DEUX...'
[11:28:40] [HEIGHT] Row 1 msg 1611: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:40] [HEIGHT_DEBUG] Row 2 msg 1609: isPlayingEvolution=false, textLength=2, text='U2...'
[11:28:40] [HEIGHT] Row 2 msg 1609: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:40] [HEIGHT_DEBUG] Row 1 msg 1611: isPlayingEvolution=false, textLength=4, text='DEUX...'
[11:28:40] [HEIGHT] Row 1 msg 1611: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:40] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:28:40] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [HEIGHT_DEBUG] Row 2 msg 1609: isPlayingEvolution=false, textLength=2, text='U2...'
[11:28:40] [HEIGHT] Row 2 msg 1609: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:40] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:28:40] [INITIAL_LOAD] Loaded 50 messages (first page), displaying 49 for tab 0, hasMore: true
[11:28:40] ReloadData 1
[11:28:40] [PURGE] Deleted 0 unused media files:

[11:28:40] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:28:40] [EVOLUTION_SEQ] πŸš€ FUNCTION CALLED with 2 message IDs: [1611, 1610]
[11:28:40] [EVOLUTION_SEQ] ⏱️ t=1763288920.114 πŸ“‹ Starting with 2 messages: [1611, 1610]
[11:28:40] [EVOLUTION_SEQ] πŸ“Š Message 1/2: id=1610, length=2 chars, estimated_duration=0.10s
[11:28:40] [EVOLUTION_SEQ] πŸ“Š Message 2/2: id=1611, length=4 chars, estimated_duration=0.20s
[11:28:40] [EVOLUTION_SEQ] ⏱️ t=1763288920.115 πŸ”’ Marked 2 messages as pending (hidden from view)
[11:28:40] [EVOLUTION_SEQ] ⏱️ t=1763288920.115 πŸ“ Queued 2 messages for sequential playback
[11:28:40] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:28:40] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:28:40] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:28:40] [EVOLUTION_SEQ] ⏱️ t=1763288920.116 Filtered out 2 pending evolution messages
[11:28:40] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=50 =====
[11:28:40] [ROWS] 0: SEPARATOR
[11:28:40] [ROWS] 1: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:28:40] [ROWS] 2: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:40] [ROWS] 3: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:40] [ROWS] 4: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:40] [ROWS] 5: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:40] [ROWS] 6: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:40] [ROWS] 7: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:40] [ROWS] 8: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:40] [ROWS] 9: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:28:40] [ROWS] 10: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:40] [ROWS] 11: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:40] [ROWS] 12: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:40] [ROWS] 13: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:40] [ROWS] 14: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:40] [ROWS] 15: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:40] [ROWS] 16: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:28:40] [ROWS] 17: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:40] [ROWS] 18: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:40] [ROWS] 19: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:40] [ROWS] 20: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:40] [ROWS] 21: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:40] [ROWS] 22: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:40] [ROWS] 23: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:40] [ROWS] 24: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:40] [ROWS] 25: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:40] [ROWS] 26: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:40] [ROWS] 27: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:40] [ROWS] 28: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:40] [ROWS] 29: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:40] [ROWS] 30: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:40] [ROWS] 31: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:40] [ROWS] 32: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:40] [ROWS] 33: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:40] [ROWS] 34: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:40] [ROWS] 35: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:28:40] [ROWS] 36: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:40] [ROWS] 37: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:40] [ROWS] 38: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:40] [ROWS] 39: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:40] [ROWS] 40: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:40] [ROWS] 41: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:40] [ROWS] 42: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:40] [ROWS] 43: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:40] [ROWS] 44: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:40] [ROWS] 45: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:40] [ROWS] 46: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:40] [ROWS] 47: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:40] [ROWS] 48: SEPARATOR
[11:28:40] [ROWS] 49: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:40] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:28:40] [TAB_FILTER] πŸ“Š Reloading table with 50 rows
[11:28:40] [HEIGHT_DEBUG] Row 1 msg 1609: isPlayingEvolution=false, textLength=2, text='U2...'
[11:28:40] [HEIGHT] Row 1 msg 1609: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:40] [HEIGHT_DEBUG] Row 2 msg 1608: isPlayingEvolution=false, textLength=9, text='Radiohead...'
[11:28:40] [HEIGHT] Row 2 msg 1608: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:40] [HEIGHT_DEBUG] Row 1 msg 1609: isPlayingEvolution=false, textLength=2, text='U2...'
[11:28:40] [HEIGHT] Row 1 msg 1609: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:40] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:28:40] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [HEIGHT_DEBUG] Row 2 msg 1608: isPlayingEvolution=false, textLength=9, text='Radiohead...'
[11:28:40] [HEIGHT] Row 2 msg 1608: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:40] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:28:40] [EVOLUTION_SEQ] ⏱️ t=1763288920.165 πŸ“Š Table reloaded: 49 β†’ 48 visible messages
[11:28:40] [EVOLUTION_SEQ] ⏱️ t=1763288920.259 🎬 Starting sequential playback
[11:28:40] [EVOLUTION_SEQ] ⏱️ t=1763288920.259 ▢️ Playing message 1610 - 1 remaining in queue
[11:28:40] [EVOLUTION_SEQ] ⏱️ t=1763288920.259 πŸ“ Message 1610: "Un..." (2 chars)
[11:28:40] [EVOLUTION_SEQ] ⏱️ t=1763288920.259 πŸ”“ Removed message 1610 from pending set
[11:28:40] [EVOLUTION_SEQ] ⏱️ t=1763288920.260 🎬 Set evolution state for message 1610
[11:28:40] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:28:40] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:28:40] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:28:40] [EVOLUTION_SEQ] ⏱️ t=1763288920.261 Filtered out 1 pending evolution messages
[11:28:40] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=51 =====
[11:28:40] [ROWS] 0: SEPARATOR
[11:28:40] [ROWS] 1: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=2
[11:28:40] [ROWS] 2: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:28:40] [ROWS] 3: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:40] [ROWS] 4: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:40] [ROWS] 5: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:40] [ROWS] 6: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:40] [ROWS] 7: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:40] [ROWS] 8: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:40] [ROWS] 9: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:40] [ROWS] 10: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:28:40] [ROWS] 11: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:40] [ROWS] 12: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:40] [ROWS] 13: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:40] [ROWS] 14: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:40] [ROWS] 15: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:40] [ROWS] 16: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:40] [ROWS] 17: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:28:40] [ROWS] 18: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:40] [ROWS] 19: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:40] [ROWS] 20: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:40] [ROWS] 21: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:40] [ROWS] 22: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:40] [ROWS] 23: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:40] [ROWS] 24: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:40] [ROWS] 25: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:40] [ROWS] 26: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:40] [ROWS] 27: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:40] [ROWS] 28: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:40] [ROWS] 29: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:40] [ROWS] 30: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:40] [ROWS] 31: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:40] [ROWS] 32: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:40] [ROWS] 33: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:40] [ROWS] 34: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:40] [ROWS] 35: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:40] [ROWS] 36: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:28:40] [ROWS] 37: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:40] [ROWS] 38: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:40] [ROWS] 39: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:40] [ROWS] 40: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:40] [ROWS] 41: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:40] [ROWS] 42: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:40] [ROWS] 43: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:40] [ROWS] 44: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:40] [ROWS] 45: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:40] [ROWS] 46: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:40] [ROWS] 47: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:40] [ROWS] 48: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:40] [ROWS] 49: SEPARATOR
[11:28:40] [ROWS] 50: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:40] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:28:40] [TAB_FILTER] πŸ“Š Reloading table with 51 rows
[11:28:40] [HEIGHT_DEBUG] Row 1 msg 1610: isPlayingEvolution=true, textLength=0, text='...'
[11:28:40] [HEIGHT] Row 1 msg 1610: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:40] [HEIGHT_DEBUG] Row 2 msg 1609: isPlayingEvolution=false, textLength=2, text='U2...'
[11:28:40] [HEIGHT] Row 2 msg 1609: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:40] [HEIGHT_DEBUG] Row 1 msg 1610: isPlayingEvolution=true, textLength=0, text='...'
[11:28:40] [HEIGHT] Row 1 msg 1610: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:40] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:28:40] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:28:40] [HEIGHT_DEBUG] Row 2 msg 1609: isPlayingEvolution=false, textLength=2, text='U2...'
[11:28:40] [HEIGHT] Row 2 msg 1609: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:40] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:28:40] [EVOLUTION_SEQ] ⏱️ t=1763288920.307 πŸ“± Table reloaded: 48 β†’ 49 messages (bubble for 1610 now visible)
[11:28:40] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("operation_type"): 3, AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("message_id"): 1610, AnyHashable("session_id"): ILUIWU2]
[11:28:40] [PUSH] Parsed message_id: 1610
[11:28:40] [PUSH] Parsed operation_type: 3
[11:28:40] [PUSH] Taking direct action: opType=3, messageId=1610
[11:28:40] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=1610
[11:28:40] [EVOLUTION_SEQ] ⏱️ t=1763288920.397 🎬 Starting sequential playback
[11:28:40] [EVOLUTION] ⏸️ Already playing queued evolution, will retry when current finishes
[11:28:40] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("session_id"): ILUIWU2, AnyHashable("operation_type"): 3, AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("message_id"): 1611]
[11:28:40] [PUSH] Parsed message_id: 1611
[11:28:40] [PUSH] Parsed operation_type: 3
[11:28:40] [PUSH] Taking direct action: opType=3, messageId=1611
[11:28:40] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=1611
[11:28:40] [EVOLUTION_SEQ] ⏱️ t=1763288920.614 ▢️ Starting animation for message 1610
[11:28:40] [EVOLUTION] πŸ“‘ Fetching evolution data for message 1610
[11:28:40] [LOCATION] Failed to get location: The operation couldn’t be completed. (kCLErrorDomain error 1.)
[11:28:40] [EVOLUTION] πŸ” Raw response (240 bytes): {"ok":true,"has_evolution":true,"message_id":1610,"evolution":{"events":[{"t":0,"op":"i","p":0,"c":"U"},{"op":"i","t":191,"c":"n","p":1},{"t":738,"op":"i","p":2,"c":"\n"},{"op":"d","p":2,"t":1551,"l":
[11:28:40] [EVOLUTION] πŸ” Parsed JSON keys: ["created_at", "evolution", "has_evolution", "message_id", "ok"]
[11:28:40] [EVOLUTION] πŸ” has_evolution: 1
[11:28:40] [EVOLUTION] βœ… Got 4 events for message 1610
[11:28:40] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:28:40] Will get events_php
[11:28:40] [TYPING] πŸ”„ ========== POLL START ==========
[11:28:40] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:28:40] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:28:40] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:28:40] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:28:40] [OVERLAP_FIX] πŸš€ Starting evolution - forcing initial height recalculation
[11:28:40] [UPDATE] πŸ”„ updateMessageCell(for: 1610) β€” full safe reload
[11:28:40] [ROWS] ===== updateMessageCell for 1610 β€” chatRows.count=51 =====
[11:28:40] [ROWS] 0: SEPARATOR
[11:28:40] [ROWS] 1: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=2
[11:28:40] [ROWS] 2: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:28:40] [ROWS] 3: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:40] [ROWS] 4: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:40] [ROWS] 5: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:40] [ROWS] 6: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:40] [ROWS] 7: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:40] [ROWS] 8: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:40] [ROWS] 9: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:40] [ROWS] 10: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:28:40] [ROWS] 11: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:40] [ROWS] 12: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:40] [ROWS] 13: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:40] [ROWS] 14: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:40] [ROWS] 15: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:40] [ROWS] 16: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:40] [ROWS] 17: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:28:40] [ROWS] 18: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:40] [ROWS] 19: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:40] [ROWS] 20: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:40] [ROWS] 21: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:40] [ROWS] 22: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:40] [ROWS] 23: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:40] [ROWS] 24: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:40] [ROWS] 25: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:40] [ROWS] 26: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:40] [ROWS] 27: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:40] [ROWS] 28: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:40] [ROWS] 29: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:40] [ROWS] 30: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:40] [ROWS] 31: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:40] [ROWS] 32: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:40] [ROWS] 33: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:40] [ROWS] 34: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:40] [ROWS] 35: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:40] [ROWS] 36: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:28:40] [ROWS] 37: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:40] [ROWS] 38: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:40] [ROWS] 39: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:40] [ROWS] 40: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:40] [ROWS] 41: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:40] [ROWS] 42: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:40] [ROWS] 43: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:40] [ROWS] 44: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:40] [ROWS] 45: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:40] [ROWS] 46: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:40] [ROWS] 47: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:40] [ROWS] 48: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:40] [ROWS] 49: SEPARATOR
[11:28:40] [ROWS] 50: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:40] [ROWS] ===== END (updateMessageCell for 1610) =====
[11:28:40] [HEIGHT_DEBUG] Row 1 msg 1610: isPlayingEvolution=true, textLength=0, text='...'
[11:28:40] [HEIGHT] Row 1 msg 1610: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:40] [HEIGHT_DEBUG] Row 2 msg 1609: isPlayingEvolution=false, textLength=2, text='U2...'
[11:28:40] [HEIGHT] Row 2 msg 1609: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:40] [HEIGHT_DEBUG] Row 1 msg 1610: isPlayingEvolution=true, textLength=0, text='...'
[11:28:40] [HEIGHT] Row 1 msg 1610: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:40] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:28:40] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:28:40] [HEIGHT_DEBUG] Row 2 msg 1609: isPlayingEvolution=false, textLength=2, text='U2...'
[11:28:40] [HEIGHT] Row 2 msg 1609: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:40] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [EVOLUTION] ▢️ Starting inline playback for message 1610 with 4 events
[11:28:40] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:28:40] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[{"senderId":"E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE","senderName":"LoloTest"}]}
[11:28:40] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSSingleObjectArrayI 0x103dd63e0>(
{
    senderId = "E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE";
    senderName = LoloTest;
}
)
, "sessionId": ILUIWU2, "status": ok]
[11:28:40] [TYPING] πŸ“₯ Found 1 typing users in response
[11:28:40] [TYPING] πŸ“₯ Processing user [1/1]: ["senderName": LoloTest, "senderId": E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE]
[11:28:40] [TYPING] πŸ“₯   senderId: 'E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE' (length: 36)
[11:28:40] [TYPING] πŸ“₯   senderName: 'LoloTest'
[11:28:40] [TYPING] πŸ“₯   myUserId: '3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF' (length: 36)
[11:28:40] [TYPING] πŸ“₯   Are they equal? false
[11:28:40] [TYPING] πŸ“₯ βœ… ADDED E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE (LoloTest) to currentTypingUsers
[11:28:40] [TYPING] πŸ“₯ Updating typing users SET: [Eye.TypingUser(userId: "E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE", displayName: "LoloTest")]
[11:28:40] [TYPING] πŸ“₯ About to set self.typingUsers from [] to [Eye.TypingUser(userId: "E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE", displayName: "LoloTest")]
[11:28:40] [TYPING] πŸ“₯ After update, self.typingUsers = [Eye.TypingUser(userId: "E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE", displayName: "LoloTest")]
[11:28:40] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=1, typingUsers=[Eye.TypingUser(userId: "E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE", displayName: "LoloTest")]
[11:28:40] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:28:40] [TYPING] πŸ”” ========== SHOWING TYPING INDICATOR ==========
[11:28:40] [TYPING] πŸ”” Text: "LoloTest is typing..."
[11:28:40] [TYPING] πŸ”” Frame: (16.0, 842.0, 408.0, 20.0)
[11:28:40] [TYPING] πŸ”” Bounds: (0.0, 0.0, 408.0, 20.0)
[11:28:40] [TYPING] πŸ”” isHidden: false
[11:28:40] [TYPING] πŸ”” alpha: 1.0
[11:28:40] [TYPING] πŸ”” backgroundColor: Optional(UIExtendedSRGBColorSpace 0.2 0.5 0.9 0.8)
[11:28:40] [TYPING] πŸ”” textColor: Optional(UIExtendedGrayColorSpace 1 1)
[11:28:40] [TYPING] πŸ”” font: Optional(<UICTFont: 0x103fc4280> font-family: ".SFUI-Medium"; font-weight: normal; font-style: normal; font-size: 13.00pt)
[11:28:40] [TYPING] πŸ”” superview: YES
[11:28:40] [TYPING] πŸ”” superview.frame: (0.0, 0.0, 440.0, 956.0)
[11:28:40] [EVT] get_events.php HTTP 200
── Response Headers ──
Date: Sun, 16 Nov 2025 10:28:40 GMT
Content-Length: 280
Connection: Keep-Alive
Keep-Alive: timeout=5, max=94
X-Powered-By: PHP/8.4.14
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Content-Type: application/json; charset=utf-8
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":3,"events":[{"event_id":10686,"event_type":3,"message_id":1611,"session_id":"ILUIWU2"},{"event_id":10687,"event_type":3,"message_id":1610,"session_id":"ILUIWU2"},{"event_id":10688,"event_type":3,"message_id":1611,"session_id":"ILUIWU2"}]}
[11:28:40] [TYPING] πŸ”” superview.bounds: (0.0, 0.0, 440.0, 956.0)
[11:28:40] [TYPING] πŸ”” inputBar.frame: (0.0, 870.0, 440.0, 52.0)
[11:28:40] [TYPING] πŸ”” Number of subviews in view: 16
[11:28:40] [TYPING] πŸ”” ========================================
[11:28:40] [TYPING] πŸ“₯ βœ… POLL RESULT: 1 users typing
[11:28:40] [TYPING] πŸ”„ ========== POLL END ==========
[11:28:40] Done
[11:28:40] [EVOLUTION] πŸ“ Event 0/4 - Text now: "U..."
[11:28:40] [UPDATE] πŸ”„ updateMessageCell(for: 1610) β€” full safe reload
[11:28:40] [ROWS] ===== updateMessageCell for 1610 β€” chatRows.count=51 =====
[11:28:40] [ROWS] 0: SEPARATOR
[11:28:40] [ROWS] 1: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=1 textLen=2
[11:28:40] [ROWS] 2: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:28:40] [ROWS] 3: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:40] [ROWS] 4: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:40] [ROWS] 5: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:40] [ROWS] 6: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:40] [ROWS] 7: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:40] [ROWS] 8: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:40] [ROWS] 9: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:40] [ROWS] 10: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:28:40] [ROWS] 11: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:40] [ROWS] 12: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:40] [ROWS] 13: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:40] [ROWS] 14: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:40] [ROWS] 15: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:40] [ROWS] 16: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:40] [ROWS] 17: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:28:40] [ROWS] 18: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:40] [ROWS] 19: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:40] [ROWS] 20: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:40] [ROWS] 21: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:40] [ROWS] 22: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:40] [ROWS] 23: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:40] [ROWS] 24: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:40] [ROWS] 25: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:40] [ROWS] 26: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:40] [ROWS] 27: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:40] [ROWS] 28: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:40] [ROWS] 29: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:40] [ROWS] 30: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:40] [ROWS] 31: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:40] [ROWS] 32: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:40] [ROWS] 33: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:40] [ROWS] 34: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:40] [ROWS] 35: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:40] [ROWS] 36: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:28:40] [ROWS] 37: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:40] [ROWS] 38: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:40] [ROWS] 39: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:40] [ROWS] 40: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:40] [ROWS] 41: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:40] [ROWS] 42: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:40] [ROWS] 43: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:40] [ROWS] 44: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:40] [ROWS] 45: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:40] [ROWS] 46: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:40] [ROWS] 47: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:40] [ROWS] 48: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:40] [ROWS] 49: SEPARATOR
[11:28:40] [ROWS] 50: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:40] [ROWS] ===== END (updateMessageCell for 1610) =====
[11:28:40] [HEIGHT_DEBUG] Row 1 msg 1610: isPlayingEvolution=true, textLength=1, text='U...'
[11:28:40] [HEIGHT] Row 1 msg 1610: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:40] [HEIGHT_DEBUG] Row 2 msg 1609: isPlayingEvolution=false, textLength=2, text='U2...'
[11:28:40] [HEIGHT] Row 2 msg 1609: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:40] [HEIGHT_DEBUG] Row 1 msg 1610: isPlayingEvolution=true, textLength=1, text='U...'
[11:28:40] [HEIGHT] Row 1 msg 1610: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:40] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:28:40] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [HEIGHT_DEBUG] Row 2 msg 1609: isPlayingEvolution=false, textLength=2, text='U2...'
[11:28:40] [HEIGHT] Row 2 msg 1609: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:40] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:40] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:41] [EVOLUTION] πŸ“ Event 1/4 - Text now: "Un..."
[11:28:41] [UPDATE] πŸ”„ updateMessageCell(for: 1610) β€” full safe reload
[11:28:41] [ROWS] ===== updateMessageCell for 1610 β€” chatRows.count=51 =====
[11:28:41] [ROWS] 0: SEPARATOR
[11:28:41] [ROWS] 1: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=2 textLen=2
[11:28:41] [ROWS] 2: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:28:41] [ROWS] 3: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:41] [ROWS] 4: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:41] [ROWS] 5: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:41] [ROWS] 6: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:41] [ROWS] 7: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:41] [ROWS] 8: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:41] [ROWS] 9: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:41] [ROWS] 10: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:28:41] [ROWS] 11: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:41] [ROWS] 12: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:41] [ROWS] 13: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:41] [ROWS] 14: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:41] [ROWS] 15: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:41] [ROWS] 16: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:41] [ROWS] 17: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:28:41] [ROWS] 18: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:41] [ROWS] 19: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:41] [ROWS] 20: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:41] [ROWS] 21: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:41] [ROWS] 22: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:41] [ROWS] 23: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:41] [ROWS] 24: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:41] [ROWS] 25: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:41] [ROWS] 26: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:41] [ROWS] 27: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:41] [ROWS] 28: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:41] [ROWS] 29: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:41] [ROWS] 30: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:41] [ROWS] 31: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:41] [ROWS] 32: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:41] [ROWS] 33: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:41] [ROWS] 34: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:41] [ROWS] 35: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:41] [ROWS] 36: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:28:41] [ROWS] 37: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:41] [ROWS] 38: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:41] [ROWS] 39: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:41] [ROWS] 40: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:41] [ROWS] 41: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:41] [ROWS] 42: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:41] [ROWS] 43: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:41] [ROWS] 44: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:41] [ROWS] 45: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:41] [ROWS] 46: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:41] [ROWS] 47: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:41] [ROWS] 48: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:41] [ROWS] 49: SEPARATOR
[11:28:41] [ROWS] 50: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:41] [ROWS] ===== END (updateMessageCell for 1610) =====
[11:28:41] [HEIGHT_DEBUG] Row 1 msg 1610: isPlayingEvolution=true, textLength=2, text='Un...'
[11:28:41] [HEIGHT] Row 1 msg 1610: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:41] [HEIGHT_DEBUG] Row 2 msg 1609: isPlayingEvolution=false, textLength=2, text='U2...'
[11:28:41] [HEIGHT] Row 2 msg 1609: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:41] [HEIGHT_DEBUG] Row 1 msg 1610: isPlayingEvolution=true, textLength=2, text='Un...'
[11:28:41] [HEIGHT] Row 1 msg 1610: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:41] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:28:41] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:28:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:41] [HEIGHT_DEBUG] Row 2 msg 1609: isPlayingEvolution=false, textLength=2, text='U2...'
[11:28:41] [HEIGHT] Row 2 msg 1609: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:41] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:41] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:41] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:41] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:41] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:41] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:41] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:41] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:41] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:41] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:41] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:41] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:41] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:41] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:41] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:41] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:41] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:41] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:42] [CRASH] Previous session did not exit cleanly - crash detected
[11:28:42] [GIPHY] SDK not available - using REST API fallback
[11:28:43] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:28:43] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:28:43] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:28:43] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:28:43] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:28:43] [SCENE] Launched directly to chat view with sessionId: ILUIWU2
[11:28:43] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:28:43] Documents Directory: /var/mobile/Containers/Data/Application/13D90923-431D-42FE-82D3-D8E143A0AF38/Documents
[11:28:43] [NOTIFICATION] πŸ”” Notification button created and added to topNavBar
[11:28:43] [NOTIFICATION] πŸ”” Button tintColor: grey (0.5, 0.5, 0.5)
[11:28:43] [NOTIFICATION] πŸ”” Button isUserInteractionEnabled: true
[11:28:43] [INFO_PAGE] InformationViewController viewDidLoad called
[11:28:43] [INFO_PAGE] Actions configured (bell button is external)
[11:28:43] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:28:43] [INFO_PAGE] Successfully opened database at /var/mobile/Containers/Data/Application/13D90923-431D-42FE-82D3-D8E143A0AF38/Documents/chat_local_viewer.db
[11:28:43] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:28:43] [INFO_PAGE] Found 426 messages for session 'ILUIWU2'
[11:28:43] [INFO_PAGE] Total messages in database: 1192
[11:28:43] [INFO_PAGE] InformationViewController setup complete
[11:28:43] [INFO_PAGE] ℹ️ Information page added to tab 3
[11:28:43] [THEME] Applying current theme
[11:28:43] [CHAT] Applied day theme (mode: day)
[11:28:43] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:28:43] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:28:43] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:28:43] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:28:43] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:28:43] [SUMMARY] Already showed summary today (2025-11-16)
[11:28:43] Did transition
[11:28:43] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:28:43] [VIEWER] Screen lock enabled - normal idle behavior
[11:28:43] [QUERY] πŸ” Checking tab - currentTabIndex=0
[11:28:43] [QUERY] πŸ”΅ [TAB 0] No query connection needed
[11:28:43] [QUERY] βœ… [TAB 0] Initialized without query connection
[11:28:43] [LOCATION] Started location updates for distance calculation (already authorized)
[11:28:43] [TAB 0] Skipping reconnect polling - only needed for tab 1
[11:28:43] [VIEWER_INIT] Loading messages with read receipts from server
[11:28:43] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:28:43] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:28:43] [DB]   msg[0] id=1611, isMyMessage=false, readBy.count=0
[11:28:43] [DB]   msg[1] id=1610, isMyMessage=false, readBy.count=0
[11:28:43] [DB]   msg[2] id=1609, isMyMessage=false, readBy.count=0
[11:28:43] [EVOLUTION] πŸ” Found 2 NEW unread messages from local DB before fetching read receipts (lastSeenMessageId=1609): [1611, 1610]
[11:28:43] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1611, readBy=[]", "id=1610, readBy=[]", "id=1609, readBy=[]"]
[11:28:43] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:28:43] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:28:43] [DB]   msg[0] id=1611, isMyMessage=false, readBy.count=0
[11:28:43] [DB]   msg[1] id=1610, isMyMessage=false, readBy.count=0
[11:28:43] [DB]   msg[2] id=1609, isMyMessage=false, readBy.count=0
[11:28:43] [EVENT_POLL] Starting periodic event polling for viewer mode (5s interval)
[11:28:43] [ORIENTATION] Updated pagingScrollView height to 247.5 for width 440.0
[11:28:43] [SUMMARY] Already showed summary today (2025-11-16)
[11:28:43] Did transition
[11:28:43] [NOTIFICATION] πŸ”” Constraints activated for notification button
[11:28:43] [NOTIFICATION] πŸ”” topNavBar frame: (0.0, 0.0, 440.0, 50.0)
[11:28:43] [NOTIFICATION] πŸ”” menuButton frame: (0.0, 0.0, 39.0, 30.0)
[11:28:43] [NOTIFICATION] πŸ”” notificationButton frame: (0.0, 0.0, 56.333333333333336, 58.0)
[11:28:43] [NOTIFICATION] πŸ”” Notification button brought to front
[11:28:43] [NOTIFICATION] πŸ”„ Updating icon to: bell.slash.fill (muted=true)
[11:28:43] [NOTIFICATION] βœ… Icon updated successfully
[11:28:43] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[11:28:43] [MIGRATION] No messages need sender_name backfill
[11:28:43] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:28:43] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:28:43] [DB]   msg[0] id=1611, isMyMessage=false, readBy.count=0
[11:28:43] [DB]   msg[1] id=1610, isMyMessage=false, readBy.count=0
[11:28:43] [DB]   msg[2] id=1609, isMyMessage=false, readBy.count=0
[11:28:43] [INFO_PAGE] InformationViewController viewWillAppear - applying theme
[11:28:43] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:28:43] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:28:43] [PAGINATION_SCROLL] offset=-12.0, contentHeight=108.0, distFromBottom=120.0, dragging=false, decel=false, isLoading=false, cooldown=63899058523.093094s
[11:28:43] [PAGINATION_SCROLL] offset=0.0, contentHeight=108.0, distFromBottom=-650.0, dragging=false, decel=false, isLoading=false, cooldown=63899058523.09504s
[11:28:43] [LOCATION] Authorization changed: 4
[11:28:43] [LOCATION] Updated location: 46.50141059553465, 6.722693805569772
[11:28:43] [LOCATION] Updated location: 46.50141059553465, 6.722693805569772
[11:28:43] [NOTIFICATION] πŸ”” FINAL STATE after viewDidLoad:
[11:28:43] [NOTIFICATION] πŸ”” notificationButton.frame: (392.0, 67.0, 40.0, 40.0)
[11:28:43] [NOTIFICATION] πŸ”” notificationButton.isHidden: false
[11:28:43] [NOTIFICATION] πŸ”” notificationButton.alpha: 1.0
[11:28:43] [NOTIFICATION] πŸ”” notificationButton.superview: true
[11:28:43] [NOTIFICATION] πŸ”” topNavBar.isHidden: false
[11:28:43] [NOTIFICATION] πŸ”” topNavBar.subviews.count: 3
[11:28:43] [PUSH] APNs token: 6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c
[11:28:43] [PUSH] handlePollEventsNotification userInfo: [:]
[11:28:43] [PUSH] No message_id in userInfo
[11:28:43] [PUSH] No operation_type in userInfo
[11:28:43] [PUSH] Performing full refresh to catch up on any missed messages
[11:28:43] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:28:43] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:28:43] [DB]   msg[0] id=1611, isMyMessage=false, readBy.count=0
[11:28:43] [DB]   msg[1] id=1610, isMyMessage=false, readBy.count=0
[11:28:43] [DB]   msg[2] id=1609, isMyMessage=false, readBy.count=0
[11:28:43] [PUSH] Device role updated to 'viewer': HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:28:43] [PUSH] Device role updated to 'viewer': HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:28:43] [USER] βœ… User registered successfully
[11:28:43] [USER] User registration successful
[11:28:43] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:28:43] [CHAT] βœ… refreshAllFromServer - parsed 426 messages from server
[11:28:43] [DB] clearDBForSession(ILUIWU2): deleted 426 messages, result=101
[11:28:43] ReloadData 15 (426 messages loaded, 0 pending media)
[11:28:43] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:28:43] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:28:43] [DB]   msg[0] id=1611, isMyMessage=false, readBy.count=0
[11:28:43] [DB]   msg[1] id=1610, isMyMessage=false, readBy.count=0
[11:28:43] [DB]   msg[2] id=1609, isMyMessage=false, readBy.count=0
[11:28:43] [EVOLUTION] πŸ” Found 2 NEW unread messages after refreshAllFromServer (lastSeenMessageId=1609): [1611, 1610]
[11:28:43] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1611, readBy=[]", "id=1610, readBy=[]", "id=1609, readBy=[]"]
[11:28:43] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:28:43] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:28:43] [DB]   msg[0] id=1611, isMyMessage=false, readBy.count=0
[11:28:43] [DB]   msg[1] id=1610, isMyMessage=false, readBy.count=0
[11:28:43] [DB]   msg[2] id=1609, isMyMessage=false, readBy.count=0
[11:28:43] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:28:43] [UNREAD_DEBUG]   FINAL msg[0] id=1611, readBy.count=1
[11:28:43] [UNREAD_DEBUG]   FINAL msg[1] id=1610, readBy.count=1
[11:28:43] [UNREAD_DEBUG]   FINAL msg[2] id=1609, readBy.count=1
[11:28:43] [VIEWER_INIT] Loaded 50 messages with read receipts, hasMore: true
[11:28:43] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:28:43] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:28:43] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:28:43] [EVOLUTION] πŸ“ Updated lastSeenMessageId: 1609 β†’ 1611
[11:28:43] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:28:43] [ROWS] 0: SEPARATOR
[11:28:43] [ROWS] 1: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:43] [ROWS] 2: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:28:43] [ROWS] 3: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:28:43] [ROWS] 4: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 5: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:43] [ROWS] 6: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:43] [ROWS] 7: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:43] [ROWS] 8: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:43] [ROWS] 9: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:43] [ROWS] 10: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:43] [ROWS] 11: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:28:43] [ROWS] 12: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:43] [ROWS] 13: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:43] [ROWS] 14: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:43] [ROWS] 15: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:43] [ROWS] 16: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:43] [ROWS] 17: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:43] [ROWS] 18: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:28:43] [ROWS] 19: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:43] [ROWS] 20: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:43] [ROWS] 21: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:43] [ROWS] 22: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:43] [ROWS] 23: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 24: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:43] [ROWS] 25: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:43] [ROWS] 26: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:43] [ROWS] 27: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:43] [ROWS] 28: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:43] [ROWS] 29: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:43] [ROWS] 30: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:43] [ROWS] 31: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:43] [ROWS] 32: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:43] [ROWS] 33: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:43] [ROWS] 34: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:43] [ROWS] 35: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:43] [ROWS] 36: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:43] [ROWS] 37: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:28:43] [ROWS] 38: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:43] [ROWS] 39: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:43] [ROWS] 40: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 41: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:43] [ROWS] 42: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:43] [ROWS] 43: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:43] [ROWS] 44: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 45: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 46: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 47: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 48: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 49: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 50: SEPARATOR
[11:28:43] [ROWS] 51: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:43] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:28:43] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:28:43] [HEIGHT_DEBUG] Row 1 msg 1611: isPlayingEvolution=false, textLength=4, text='DEUX...'
[11:28:43] [EMOJI] βœ… Loaded 451 emoji-to-GIF mappings
[11:28:43] [HEIGHT] Row 1 msg 1611: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:43] [HEIGHT_DEBUG] Row 2 msg 1610: isPlayingEvolution=false, textLength=2, text='Un...'
[11:28:43] [HEIGHT] Row 2 msg 1610: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:43] [HEIGHT_DEBUG] Row 1 msg 1611: isPlayingEvolution=false, textLength=4, text='DEUX...'
[11:28:43] [HEIGHT] Row 1 msg 1611: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:43] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:28:43] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [HEIGHT_DEBUG] Row 2 msg 1610: isPlayingEvolution=false, textLength=2, text='Un...'
[11:28:43] [HEIGHT] Row 2 msg 1610: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:43] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:28:43] ReloadData 18 (viewer init with read receipts)
[11:28:43] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:28:43] [UNREAD_DEBUG]   FINAL msg[0] id=1611, readBy.count=1
[11:28:43] [UNREAD_DEBUG]   FINAL msg[1] id=1610, readBy.count=1
[11:28:43] [UNREAD_DEBUG]   FINAL msg[2] id=1609, readBy.count=1
[11:28:43] [FOREGROUND_REFRESH] Loaded 50 messages
[11:28:43] [EVOLUTION] πŸ” [FOREGROUND] Found 0 NEW unread messages (lastSeenMessageId=1611): []
[11:28:43] [FOREGROUND_REFRESH] About to call autoPlayEvolutionForUnreadMessageIds with 0 IDs: []
[11:28:43] [FOREGROUND_REFRESH] No unread messages to play evolution for - reloading table normally
[11:28:43] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:28:43] [UNREAD_DEBUG]   FINAL msg[0] id=1611, readBy.count=1
[11:28:43] [UNREAD_DEBUG]   FINAL msg[1] id=1610, readBy.count=1
[11:28:43] [UNREAD_DEBUG]   FINAL msg[2] id=1609, readBy.count=1
[11:28:43] [EVOLUTION_SEQ] πŸš€ FUNCTION CALLED with 2 message IDs: [1611, 1610]
[11:28:43] [EVOLUTION_SEQ] ⏱️ t=1763288923.482 πŸ“‹ Starting with 2 messages: [1611, 1610]
[11:28:43] [EVOLUTION_SEQ] πŸ“Š Message 1/2: id=1610, length=2 chars, estimated_duration=0.10s
[11:28:43] [EVOLUTION_SEQ] πŸ“Š Message 2/2: id=1611, length=4 chars, estimated_duration=0.20s
[11:28:43] [EVOLUTION_SEQ] ⏱️ t=1763288923.482 πŸ”’ Marked 2 messages as pending (hidden from view)
[11:28:43] [EVOLUTION_SEQ] ⏱️ t=1763288923.482 πŸ“ Queued 2 messages for sequential playback
[11:28:43] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:28:43] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:28:43] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:28:43] [EVOLUTION_SEQ] ⏱️ t=1763288923.483 Filtered out 2 pending evolution messages
[11:28:43] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=50 =====
[11:28:43] [ROWS] 0: SEPARATOR
[11:28:43] [ROWS] 1: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:28:43] [ROWS] 2: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 3: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:43] [ROWS] 4: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:43] [ROWS] 5: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:43] [ROWS] 6: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:43] [ROWS] 7: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:43] [ROWS] 8: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:43] [ROWS] 9: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:28:43] [ROWS] 10: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:43] [ROWS] 11: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:43] [ROWS] 12: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:43] [ROWS] 13: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:43] [ROWS] 14: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:43] [ROWS] 15: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:43] [ROWS] 16: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:28:43] [ROWS] 17: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:43] [ROWS] 18: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:43] [ROWS] 19: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:43] [ROWS] 20: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:43] [ROWS] 21: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 22: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:43] [ROWS] 23: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:43] [ROWS] 24: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:43] [ROWS] 25: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:43] [ROWS] 26: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:43] [ROWS] 27: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:43] [ROWS] 28: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:43] [ROWS] 29: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:43] [ROWS] 30: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:43] [ROWS] 31: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:43] [ROWS] 32: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:43] [ROWS] 33: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:43] [ROWS] 34: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:43] [ROWS] 35: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:28:43] [ROWS] 36: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:43] [ROWS] 37: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:43] [ROWS] 38: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 39: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:43] [ROWS] 40: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:43] [ROWS] 41: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:43] [ROWS] 42: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 43: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 44: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 45: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 46: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 47: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 48: SEPARATOR
[11:28:43] [ROWS] 49: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:43] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:28:43] [TAB_FILTER] πŸ“Š Reloading table with 50 rows
[11:28:43] [HEIGHT_DEBUG] Row 1 msg 1609: isPlayingEvolution=false, textLength=2, text='U2...'
[11:28:43] [HEIGHT] Row 1 msg 1609: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:43] [HEIGHT_DEBUG] Row 2 msg 1608: isPlayingEvolution=false, textLength=9, text='Radiohead...'
[11:28:43] [HEIGHT] Row 2 msg 1608: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:43] [HEIGHT_DEBUG] Row 1 msg 1609: isPlayingEvolution=false, textLength=2, text='U2...'
[11:28:43] [HEIGHT] Row 1 msg 1609: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:43] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:28:43] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [HEIGHT_DEBUG] Row 2 msg 1608: isPlayingEvolution=false, textLength=9, text='Radiohead...'
[11:28:43] [HEIGHT] Row 2 msg 1608: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:43] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:28:43] [EVOLUTION_SEQ] ⏱️ t=1763288923.489 πŸ“Š Table reloaded: 50 β†’ 48 visible messages
[11:28:43] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:28:43] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:28:43] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:28:43] [EVOLUTION_SEQ] ⏱️ t=1763288923.489 Filtered out 2 pending evolution messages
[11:28:43] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=50 =====
[11:28:43] [ROWS] 0: SEPARATOR
[11:28:43] [ROWS] 1: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:28:43] [ROWS] 2: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 3: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:43] [ROWS] 4: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:43] [ROWS] 5: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:43] [ROWS] 6: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:43] [ROWS] 7: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:43] [ROWS] 8: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:43] [ROWS] 9: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:28:43] [ROWS] 10: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:43] [ROWS] 11: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:43] [ROWS] 12: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:43] [ROWS] 13: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:43] [ROWS] 14: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:43] [ROWS] 15: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:43] [ROWS] 16: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:28:43] [ROWS] 17: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:43] [ROWS] 18: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:43] [ROWS] 19: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:43] [ROWS] 20: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:43] [ROWS] 21: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 22: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:43] [ROWS] 23: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:43] [ROWS] 24: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:43] [ROWS] 25: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:43] [ROWS] 26: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:43] [ROWS] 27: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:43] [ROWS] 28: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:43] [ROWS] 29: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:43] [ROWS] 30: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:43] [ROWS] 31: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:43] [ROWS] 32: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:43] [ROWS] 33: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:43] [ROWS] 34: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:43] [ROWS] 35: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:28:43] [ROWS] 36: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:43] [ROWS] 37: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:43] [ROWS] 38: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 39: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:43] [ROWS] 40: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:43] [ROWS] 41: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:43] [ROWS] 42: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 43: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 44: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 45: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 46: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 47: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 48: SEPARATOR
[11:28:43] [ROWS] 49: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:43] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:28:43] [TAB_FILTER] πŸ“Š Reloading table with 50 rows
[11:28:43] [HEIGHT_DEBUG] Row 1 msg 1609: isPlayingEvolution=false, textLength=2, text='U2...'
[11:28:43] [HEIGHT] Row 1 msg 1609: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:43] [HEIGHT_DEBUG] Row 2 msg 1608: isPlayingEvolution=false, textLength=9, text='Radiohead...'
[11:28:43] [HEIGHT] Row 2 msg 1608: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:43] [HEIGHT_DEBUG] Row 1 msg 1609: isPlayingEvolution=false, textLength=2, text='U2...'
[11:28:43] [HEIGHT] Row 1 msg 1609: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:43] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:28:43] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [HEIGHT_DEBUG] Row 2 msg 1608: isPlayingEvolution=false, textLength=9, text='Radiohead...'
[11:28:43] [HEIGHT] Row 2 msg 1608: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:43] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:28:43] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:28:43] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:28:43] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:28:43] [EVOLUTION_SEQ] ⏱️ t=1763288923.495 Filtered out 2 pending evolution messages
[11:28:43] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=50 =====
[11:28:43] [ROWS] 0: SEPARATOR
[11:28:43] [ROWS] 1: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:28:43] [ROWS] 2: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 3: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:43] [ROWS] 4: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:43] [ROWS] 5: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:43] [ROWS] 6: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:43] [ROWS] 7: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:43] [ROWS] 8: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:43] [ROWS] 9: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:28:43] [ROWS] 10: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:43] [ROWS] 11: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:43] [ROWS] 12: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:43] [ROWS] 13: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:43] [ROWS] 14: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:43] [ROWS] 15: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:43] [ROWS] 16: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:28:43] [ROWS] 17: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:43] [ROWS] 18: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:43] [ROWS] 19: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:43] [ROWS] 20: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:43] [ROWS] 21: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 22: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:43] [ROWS] 23: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:43] [ROWS] 24: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:43] [ROWS] 25: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:43] [ROWS] 26: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:43] [ROWS] 27: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:43] [ROWS] 28: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:43] [ROWS] 29: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:43] [ROWS] 30: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:43] [ROWS] 31: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:43] [ROWS] 32: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:43] [ROWS] 33: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:43] [ROWS] 34: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:43] [ROWS] 35: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:28:43] [ROWS] 36: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:43] [ROWS] 37: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:43] [ROWS] 38: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 39: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:43] [ROWS] 40: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:43] [ROWS] 41: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:43] [ROWS] 42: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 43: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 44: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 45: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 46: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 47: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 48: SEPARATOR
[11:28:43] [ROWS] 49: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:43] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:28:43] [TAB_FILTER] πŸ“Š Reloading table with 50 rows
[11:28:43] [HEIGHT_DEBUG] Row 1 msg 1609: isPlayingEvolution=false, textLength=2, text='U2...'
[11:28:43] [HEIGHT] Row 1 msg 1609: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:43] [HEIGHT_DEBUG] Row 2 msg 1608: isPlayingEvolution=false, textLength=9, text='Radiohead...'
[11:28:43] [HEIGHT] Row 2 msg 1608: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:43] [HEIGHT_DEBUG] Row 1 msg 1609: isPlayingEvolution=false, textLength=2, text='U2...'
[11:28:43] [HEIGHT] Row 1 msg 1609: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:43] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:28:43] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [HEIGHT_DEBUG] Row 2 msg 1608: isPlayingEvolution=false, textLength=9, text='Radiohead...'
[11:28:43] [HEIGHT] Row 2 msg 1608: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:43] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:28:43] [INIT_PAGINATION] Loaded 50 total messages, displaying 48 for tab 0
[11:28:43] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:28:43] [UNREAD_DEBUG]   FINAL msg[0] id=1611, readBy.count=1
[11:28:43] [UNREAD_DEBUG]   FINAL msg[1] id=1610, readBy.count=1
[11:28:43] [UNREAD_DEBUG]   FINAL msg[2] id=1609, readBy.count=1
[11:28:43] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:28:43] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:28:43] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:28:43] [EVOLUTION_SEQ] ⏱️ t=1763288923.525 Filtered out 2 pending evolution messages
[11:28:43] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=50 =====
[11:28:43] [ROWS] 0: SEPARATOR
[11:28:43] [ROWS] 1: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:28:43] [ROWS] 2: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 3: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:43] [ROWS] 4: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:43] [ROWS] 5: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:43] [ROWS] 6: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:43] [ROWS] 7: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:43] [ROWS] 8: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:43] [ROWS] 9: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:28:43] [ROWS] 10: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:43] [ROWS] 11: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:43] [ROWS] 12: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:43] [ROWS] 13: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:43] [ROWS] 14: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:43] [ROWS] 15: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:43] [ROWS] 16: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:28:43] [ROWS] 17: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:43] [ROWS] 18: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:43] [ROWS] 19: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:43] [ROWS] 20: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:43] [ROWS] 21: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 22: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:43] [ROWS] 23: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:43] [ROWS] 24: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:43] [ROWS] 25: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:43] [ROWS] 26: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:43] [ROWS] 27: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:43] [ROWS] 28: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:43] [ROWS] 29: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:43] [ROWS] 30: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:43] [ROWS] 31: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:43] [ROWS] 32: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:43] [ROWS] 33: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:43] [ROWS] 34: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:43] [ROWS] 35: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:28:43] [ROWS] 36: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:43] [ROWS] 37: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:43] [ROWS] 38: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 39: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:43] [ROWS] 40: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:43] [ROWS] 41: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:43] [ROWS] 42: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 43: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 44: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 45: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 46: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 47: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 48: SEPARATOR
[11:28:43] [ROWS] 49: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:43] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:28:43] [TAB_FILTER] πŸ“Š Reloading table with 50 rows
[11:28:43] [HEIGHT_DEBUG] Row 1 msg 1609: isPlayingEvolution=false, textLength=2, text='U2...'
[11:28:43] [HEIGHT] Row 1 msg 1609: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:43] [HEIGHT_DEBUG] Row 2 msg 1608: isPlayingEvolution=false, textLength=9, text='Radiohead...'
[11:28:43] [HEIGHT] Row 2 msg 1608: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:43] [HEIGHT_DEBUG] Row 1 msg 1609: isPlayingEvolution=false, textLength=2, text='U2...'
[11:28:43] [HEIGHT] Row 1 msg 1609: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:43] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:28:43] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [HEIGHT_DEBUG] Row 2 msg 1608: isPlayingEvolution=false, textLength=9, text='Radiohead...'
[11:28:43] [HEIGHT] Row 2 msg 1608: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:43] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:28:43] [INITIAL_LOAD] Loaded 50 messages (first page), displaying 48 for tab 0, hasMore: true
[11:28:43] ReloadData 1
[11:28:43] [PURGE] Deleted 0 unused media files:

[11:28:43] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:28:43] [EVOLUTION_SEQ] πŸš€ FUNCTION CALLED with 2 message IDs: [1611, 1610]
[11:28:43] [EVOLUTION_SEQ] ⏱️ t=1763288923.532 πŸ“‹ Starting with 2 messages: [1611, 1610]
[11:28:43] [EVOLUTION_SEQ] πŸ“Š Message 1/2: id=1610, length=2 chars, estimated_duration=0.10s
[11:28:43] [EVOLUTION_SEQ] πŸ“Š Message 2/2: id=1611, length=4 chars, estimated_duration=0.20s
[11:28:43] [EVOLUTION_SEQ] ⏱️ t=1763288923.532 πŸ”’ Marked 2 messages as pending (hidden from view)
[11:28:43] [EVOLUTION_SEQ] ⏱️ t=1763288923.532 πŸ“ Queued 2 messages for sequential playback
[11:28:43] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:28:43] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:28:43] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:28:43] [EVOLUTION_SEQ] ⏱️ t=1763288923.533 Filtered out 2 pending evolution messages
[11:28:43] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=50 =====
[11:28:43] [ROWS] 0: SEPARATOR
[11:28:43] [ROWS] 1: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:28:43] [ROWS] 2: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 3: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:43] [ROWS] 4: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:43] [ROWS] 5: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:43] [ROWS] 6: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:43] [ROWS] 7: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:43] [ROWS] 8: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:43] [ROWS] 9: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:28:43] [ROWS] 10: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:43] [ROWS] 11: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:43] [ROWS] 12: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:43] [ROWS] 13: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:43] [ROWS] 14: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:43] [ROWS] 15: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:43] [ROWS] 16: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:28:43] [ROWS] 17: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:43] [ROWS] 18: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:43] [ROWS] 19: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:43] [ROWS] 20: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:43] [ROWS] 21: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 22: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:43] [ROWS] 23: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:43] [ROWS] 24: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:43] [ROWS] 25: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:43] [ROWS] 26: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:43] [ROWS] 27: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:43] [ROWS] 28: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:43] [ROWS] 29: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:43] [ROWS] 30: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:43] [ROWS] 31: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:43] [ROWS] 32: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:43] [ROWS] 33: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:43] [ROWS] 34: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:43] [ROWS] 35: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:28:43] [ROWS] 36: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:43] [ROWS] 37: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:43] [ROWS] 38: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 39: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:43] [ROWS] 40: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:43] [ROWS] 41: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:43] [ROWS] 42: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 43: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 44: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 45: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 46: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 47: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 48: SEPARATOR
[11:28:43] [ROWS] 49: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:43] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:28:43] [TAB_FILTER] πŸ“Š Reloading table with 50 rows
[11:28:43] [HEIGHT_DEBUG] Row 1 msg 1609: isPlayingEvolution=false, textLength=2, text='U2...'
[11:28:43] [HEIGHT] Row 1 msg 1609: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:43] [HEIGHT_DEBUG] Row 2 msg 1608: isPlayingEvolution=false, textLength=9, text='Radiohead...'
[11:28:43] [HEIGHT] Row 2 msg 1608: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:43] [HEIGHT_DEBUG] Row 1 msg 1609: isPlayingEvolution=false, textLength=2, text='U2...'
[11:28:43] [HEIGHT] Row 1 msg 1609: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:43] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:28:43] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [HEIGHT_DEBUG] Row 2 msg 1608: isPlayingEvolution=false, textLength=9, text='Radiohead...'
[11:28:43] [HEIGHT] Row 2 msg 1608: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:43] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:28:43] [EVOLUTION_SEQ] ⏱️ t=1763288923.539 πŸ“Š Table reloaded: 48 β†’ 48 visible messages
[11:28:43] [EVOLUTION_SEQ] ⏱️ t=1763288923.697 🎬 Starting sequential playback
[11:28:43] [EVOLUTION_SEQ] ⏱️ t=1763288923.697 ▢️ Playing message 1610 - 1 remaining in queue
[11:28:43] [EVOLUTION_SEQ] ⏱️ t=1763288923.697 πŸ“ Message 1610: "Un..." (2 chars)
[11:28:43] [EVOLUTION_SEQ] ⏱️ t=1763288923.697 πŸ”“ Removed message 1610 from pending set
[11:28:43] [EVOLUTION_SEQ] ⏱️ t=1763288923.697 🎬 Set evolution state for message 1610
[11:28:43] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:28:43] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:28:43] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:28:43] [EVOLUTION_SEQ] ⏱️ t=1763288923.697 Filtered out 1 pending evolution messages
[11:28:43] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=51 =====
[11:28:43] [ROWS] 0: SEPARATOR
[11:28:43] [ROWS] 1: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=2
[11:28:43] [ROWS] 2: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:28:43] [ROWS] 3: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 4: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:43] [ROWS] 5: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:43] [ROWS] 6: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:43] [ROWS] 7: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:43] [ROWS] 8: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:43] [ROWS] 9: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:43] [ROWS] 10: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:28:43] [ROWS] 11: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:43] [ROWS] 12: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:43] [ROWS] 13: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:43] [ROWS] 14: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:43] [ROWS] 15: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:43] [ROWS] 16: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:43] [ROWS] 17: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:28:43] [ROWS] 18: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:43] [ROWS] 19: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:43] [ROWS] 20: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:43] [ROWS] 21: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:43] [ROWS] 22: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 23: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:43] [ROWS] 24: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:43] [ROWS] 25: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:43] [ROWS] 26: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:43] [ROWS] 27: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:43] [ROWS] 28: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:43] [ROWS] 29: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:43] [ROWS] 30: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:43] [ROWS] 31: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:43] [ROWS] 32: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:43] [ROWS] 33: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:43] [ROWS] 34: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:43] [ROWS] 35: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:43] [ROWS] 36: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:28:43] [ROWS] 37: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:43] [ROWS] 38: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:43] [ROWS] 39: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 40: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:43] [ROWS] 41: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:43] [ROWS] 42: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:43] [ROWS] 43: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 44: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 45: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 46: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 47: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 48: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:43] [ROWS] 49: SEPARATOR
[11:28:43] [ROWS] 50: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:43] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:28:43] [TAB_FILTER] πŸ“Š Reloading table with 51 rows
[11:28:43] [HEIGHT_DEBUG] Row 1 msg 1610: isPlayingEvolution=true, textLength=0, text='...'
[11:28:43] [HEIGHT] Row 1 msg 1610: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:43] [HEIGHT_DEBUG] Row 2 msg 1609: isPlayingEvolution=false, textLength=2, text='U2...'
[11:28:43] [HEIGHT] Row 2 msg 1609: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:43] [HEIGHT_DEBUG] Row 1 msg 1610: isPlayingEvolution=true, textLength=0, text='...'
[11:28:43] [HEIGHT] Row 1 msg 1610: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:43] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:28:43] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:28:43] [HEIGHT_DEBUG] Row 2 msg 1609: isPlayingEvolution=false, textLength=2, text='U2...'
[11:28:43] [HEIGHT] Row 2 msg 1609: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:43] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:43] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:43] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:43] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:28:43] [EVOLUTION_SEQ] ⏱️ t=1763288923.704 πŸ“± Table reloaded: 48 β†’ 49 messages (bubble for 1610 now visible)
[11:28:43] [EVOLUTION_SEQ] ⏱️ t=1763288923.741 🎬 Starting sequential playback
[11:28:43] [EVOLUTION] ⏸️ Already playing queued evolution, will retry when current finishes
[11:28:44] [EVOLUTION_SEQ] ⏱️ t=1763288924.012 ▢️ Starting animation for message 1610
[11:28:44] [EVOLUTION] πŸ“‘ Fetching evolution data for message 1610
[11:28:44] [EVOLUTION] πŸ” Raw response (240 bytes): {"ok":true,"has_evolution":true,"message_id":1610,"evolution":{"events":[{"t":0,"op":"i","p":0,"c":"U"},{"op":"i","t":191,"c":"n","p":1},{"t":738,"op":"i","p":2,"c":"\n"},{"op":"d","p":2,"t":1551,"l":
[11:28:44] [EVOLUTION] πŸ” Parsed JSON keys: ["created_at", "evolution", "has_evolution", "message_id", "ok"]
[11:28:44] [EVOLUTION] πŸ” has_evolution: 1
[11:28:44] [EVOLUTION] βœ… Got 4 events for message 1610
[11:28:44] [OVERLAP_FIX] πŸš€ Starting evolution - forcing initial height recalculation
[11:28:44] [UPDATE] πŸ”„ updateMessageCell(for: 1610) β€” full safe reload
[11:28:44] [ROWS] ===== updateMessageCell for 1610 β€” chatRows.count=51 =====
[11:28:44] [ROWS] 0: SEPARATOR
[11:28:44] [ROWS] 1: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=2
[11:28:44] [ROWS] 2: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:28:44] [ROWS] 3: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:44] [ROWS] 4: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:44] [ROWS] 5: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:44] [ROWS] 6: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:44] [ROWS] 7: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:44] [ROWS] 8: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:44] [ROWS] 9: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:44] [ROWS] 10: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:28:44] [ROWS] 11: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:44] [ROWS] 12: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:44] [ROWS] 13: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:44] [ROWS] 14: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:44] [ROWS] 15: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:44] [ROWS] 16: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:44] [ROWS] 17: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:28:44] [ROWS] 18: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:44] [ROWS] 19: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:44] [ROWS] 20: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:44] [ROWS] 21: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:44] [ROWS] 22: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:44] [ROWS] 23: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:44] [ROWS] 24: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:44] [ROWS] 25: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:44] [ROWS] 26: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:44] [ROWS] 27: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:44] [ROWS] 28: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:44] [ROWS] 29: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:44] [ROWS] 30: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:44] [ROWS] 31: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:44] [ROWS] 32: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:44] [ROWS] 33: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:44] [ROWS] 34: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:44] [ROWS] 35: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:44] [ROWS] 36: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:28:44] [ROWS] 37: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:44] [ROWS] 38: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:44] [ROWS] 39: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:44] [ROWS] 40: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:44] [ROWS] 41: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:44] [ROWS] 42: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:44] [ROWS] 43: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:44] [ROWS] 44: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:44] [ROWS] 45: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:44] [ROWS] 46: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:44] [ROWS] 47: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:44] [ROWS] 48: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:44] [ROWS] 49: SEPARATOR
[11:28:44] [ROWS] 50: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:44] [ROWS] ===== END (updateMessageCell for 1610) =====
[11:28:44] [HEIGHT_DEBUG] Row 1 msg 1610: isPlayingEvolution=true, textLength=0, text='...'
[11:28:44] [HEIGHT] Row 1 msg 1610: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:44] [HEIGHT_DEBUG] Row 2 msg 1609: isPlayingEvolution=false, textLength=2, text='U2...'
[11:28:44] [HEIGHT] Row 2 msg 1609: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:44] [HEIGHT_DEBUG] Row 1 msg 1610: isPlayingEvolution=true, textLength=0, text='...'
[11:28:44] [HEIGHT] Row 1 msg 1610: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:44] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:28:44] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:28:44] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:28:44] [HEIGHT_DEBUG] Row 2 msg 1609: isPlayingEvolution=false, textLength=2, text='U2...'
[11:28:44] [HEIGHT] Row 2 msg 1609: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:44] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:44] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:44] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:44] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:44] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:44] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:44] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:44] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:44] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:44] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:44] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:44] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:44] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:44] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:44] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:44] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:44] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:44] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:44] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:44] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:44] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:44] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:44] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:44] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:44] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:44] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:44] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:44] [EVOLUTION] ▢️ Starting inline playback for message 1610 with 4 events
[11:28:44] [EVOLUTION] πŸ“ Event 0/4 - Text now: "U..."
[11:28:44] [UPDATE] πŸ”„ updateMessageCell(for: 1610) β€” full safe reload
[11:28:44] [ROWS] ===== updateMessageCell for 1610 β€” chatRows.count=51 =====
[11:28:44] [ROWS] 0: SEPARATOR
[11:28:44] [ROWS] 1: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=1 textLen=2
[11:28:44] [ROWS] 2: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:28:44] [ROWS] 3: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:44] [ROWS] 4: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:44] [ROWS] 5: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:44] [ROWS] 6: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:44] [ROWS] 7: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:44] [ROWS] 8: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:44] [ROWS] 9: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:44] [ROWS] 10: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:28:44] [ROWS] 11: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:44] [ROWS] 12: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:44] [ROWS] 13: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:44] [ROWS] 14: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:44] [ROWS] 15: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:44] [ROWS] 16: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:44] [ROWS] 17: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:28:44] [ROWS] 18: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:44] [ROWS] 19: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:44] [ROWS] 20: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:44] [ROWS] 21: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:44] [ROWS] 22: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:44] [ROWS] 23: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:44] [ROWS] 24: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:44] [ROWS] 25: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:44] [ROWS] 26: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:44] [ROWS] 27: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:44] [ROWS] 28: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:44] [ROWS] 29: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:44] [ROWS] 30: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:44] [ROWS] 31: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:44] [ROWS] 32: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:44] [ROWS] 33: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:44] [ROWS] 34: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:44] [ROWS] 35: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:44] [ROWS] 36: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:28:44] [ROWS] 37: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:44] [ROWS] 38: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:44] [ROWS] 39: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:44] [ROWS] 40: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:44] [ROWS] 41: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:44] [ROWS] 42: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:44] [ROWS] 43: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:44] [ROWS] 44: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:44] [ROWS] 45: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:44] [ROWS] 46: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:44] [ROWS] 47: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:44] [ROWS] 48: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:44] [ROWS] 49: SEPARATOR
[11:28:44] [ROWS] 50: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:44] [ROWS] ===== END (updateMessageCell for 1610) =====
[11:28:44] [HEIGHT_DEBUG] Row 1 msg 1610: isPlayingEvolution=true, textLength=1, text='U...'
[11:28:44] [HEIGHT] Row 1 msg 1610: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:44] [HEIGHT_DEBUG] Row 2 msg 1609: isPlayingEvolution=false, textLength=2, text='U2...'
[11:28:44] [HEIGHT] Row 2 msg 1609: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:44] [HEIGHT_DEBUG] Row 1 msg 1610: isPlayingEvolution=true, textLength=1, text='U...'
[11:28:44] [HEIGHT] Row 1 msg 1610: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:44] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:28:44] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:28:44] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:44] [HEIGHT_DEBUG] Row 2 msg 1609: isPlayingEvolution=false, textLength=2, text='U2...'
[11:28:44] [HEIGHT] Row 2 msg 1609: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:44] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:44] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:44] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:44] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:44] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:44] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:44] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:44] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:44] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:44] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:44] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:44] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:44] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:44] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:44] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:44] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:44] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:44] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:44] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:44] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:44] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:44] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:44] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:44] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:44] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:44] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:44] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:44] [EVOLUTION] πŸ“ Event 1/4 - Text now: "Un..."
[11:28:44] [UPDATE] πŸ”„ updateMessageCell(for: 1610) β€” full safe reload
[11:28:44] [ROWS] ===== updateMessageCell for 1610 β€” chatRows.count=51 =====
[11:28:44] [ROWS] 0: SEPARATOR
[11:28:44] [ROWS] 1: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=2 textLen=2
[11:28:44] [ROWS] 2: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:28:44] [ROWS] 3: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:44] [ROWS] 4: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:44] [ROWS] 5: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:44] [ROWS] 6: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:44] [ROWS] 7: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:44] [ROWS] 8: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:44] [ROWS] 9: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:44] [ROWS] 10: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:28:44] [ROWS] 11: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:44] [ROWS] 12: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:44] [ROWS] 13: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:44] [ROWS] 14: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:44] [ROWS] 15: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:44] [ROWS] 16: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:44] [ROWS] 17: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:28:44] [ROWS] 18: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:44] [ROWS] 19: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:44] [ROWS] 20: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:44] [ROWS] 21: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:44] [ROWS] 22: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:44] [ROWS] 23: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:44] [ROWS] 24: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:44] [ROWS] 25: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:44] [ROWS] 26: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:44] [ROWS] 27: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:44] [ROWS] 28: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:44] [ROWS] 29: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:44] [ROWS] 30: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:44] [ROWS] 31: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:44] [ROWS] 32: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:44] [ROWS] 33: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:44] [ROWS] 34: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:44] [ROWS] 35: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:44] [ROWS] 36: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:28:44] [ROWS] 37: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:44] [ROWS] 38: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:44] [ROWS] 39: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:44] [ROWS] 40: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:44] [ROWS] 41: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:44] [ROWS] 42: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:44] [ROWS] 43: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:44] [ROWS] 44: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:44] [ROWS] 45: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:44] [ROWS] 46: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:44] [ROWS] 47: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:44] [ROWS] 48: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:44] [ROWS] 49: SEPARATOR
[11:28:44] [ROWS] 50: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:44] [ROWS] ===== END (updateMessageCell for 1610) =====
[11:28:44] [HEIGHT_DEBUG] Row 1 msg 1610: isPlayingEvolution=true, textLength=2, text='Un...'
[11:28:44] [HEIGHT] Row 1 msg 1610: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:44] [HEIGHT_DEBUG] Row 2 msg 1609: isPlayingEvolution=false, textLength=2, text='U2...'
[11:28:44] [HEIGHT] Row 2 msg 1609: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:44] [HEIGHT_DEBUG] Row 1 msg 1610: isPlayingEvolution=true, textLength=2, text='Un...'
[11:28:44] [HEIGHT] Row 1 msg 1610: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:44] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:28:44] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:28:44] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:44] [HEIGHT_DEBUG] Row 2 msg 1609: isPlayingEvolution=false, textLength=2, text='U2...'
[11:28:44] [HEIGHT] Row 2 msg 1609: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:44] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:44] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:44] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:44] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:44] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:44] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:44] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:44] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:44] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:44] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:44] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:44] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:44] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:44] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:44] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:44] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:44] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:44] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:44] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:44] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:44] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:44] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:44] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:44] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:44] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:44] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:44] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:44] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_id"): 1612, AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU2]
[11:28:44] [PUSH] Parsed message_id: 1612
[11:28:44] [PUSH] Parsed operation_type: 0
[11:28:44] [PUSH] Taking direct action: opType=0, messageId=1612
[11:28:44] [PUSH] TakeActionFromPush called: OperationType=0, MessageIds=1612
[11:28:44] [PUSH] Handling message fetch for opType=0, messageId=1612
[11:28:44] [PUSH] Requesting URL: http://crivello.dyndns.org:81/WebRTC/chat/chat_get_messages.php?session_id=ILUIWU2&viewer=1&messages=1612
[11:28:44] [EVOLUTION] πŸ“ Event 2/4 - Text now: "Un
..."
[11:28:44] [UPDATE] πŸ”„ updateMessageCell(for: 1610) β€” full safe reload
[11:28:44] [ROWS] ===== updateMessageCell for 1610 β€” chatRows.count=51 =====
[11:28:44] [ROWS] 0: SEPARATOR
[11:28:44] [ROWS] 1: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=3 textLen=2
[11:28:44] [ROWS] 2: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:28:44] [ROWS] 3: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:44] [ROWS] 4: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:44] [ROWS] 5: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:44] [ROWS] 6: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:44] [ROWS] 7: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:44] [ROWS] 8: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:44] [ROWS] 9: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:44] [ROWS] 10: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:28:44] [ROWS] 11: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:44] [ROWS] 12: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:44] [ROWS] 13: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:44] [ROWS] 14: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:44] [ROWS] 15: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:44] [ROWS] 16: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:44] [ROWS] 17: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:28:44] [ROWS] 18: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:44] [ROWS] 19: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:44] [ROWS] 20: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:44] [ROWS] 21: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:44] [ROWS] 22: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:44] [ROWS] 23: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:44] [ROWS] 24: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:44] [ROWS] 25: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:44] [ROWS] 26: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:44] [ROWS] 27: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:44] [ROWS] 28: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:44] [ROWS] 29: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:44] [ROWS] 30: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:44] [ROWS] 31: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:44] [ROWS] 32: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:44] [ROWS] 33: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:44] [ROWS] 34: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:44] [ROWS] 35: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:44] [ROWS] 36: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:28:44] [ROWS] 37: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:44] [ROWS] 38: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:44] [ROWS] 39: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:44] [ROWS] 40: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:44] [ROWS] 41: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:44] [ROWS] 42: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:44] [ROWS] 43: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:44] [ROWS] 44: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:44] [ROWS] 45: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:44] [ROWS] 46: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:44] [ROWS] 47: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:44] [ROWS] 48: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:44] [ROWS] 49: SEPARATOR
[11:28:44] [ROWS] 50: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:44] [ROWS] ===== END (updateMessageCell for 1610) =====
[11:28:44] [HEIGHT_DEBUG] Row 1 msg 1610: isPlayingEvolution=true, textLength=3, text='Un
...'
[11:28:44] [HEIGHT] Row 1 msg 1610: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:44] [HEIGHT_DEBUG] Row 2 msg 1609: isPlayingEvolution=false, textLength=2, text='U2...'
[11:28:44] [HEIGHT] Row 2 msg 1609: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:44] [HEIGHT_DEBUG] Row 1 msg 1610: isPlayingEvolution=true, textLength=3, text='Un
...'
[11:28:44] [HEIGHT] Row 1 msg 1610: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:44] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:28:44] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=63.0 bubbleBottom=92.0 cellHeight=96.0 remainingSpace=4.0
[11:28:44] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 38.333333333333336)
[11:28:44] [HEIGHT_DEBUG] Row 2 msg 1609: isPlayingEvolution=false, textLength=2, text='U2...'
[11:28:44] [HEIGHT] Row 2 msg 1609: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:44] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:44] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:44] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:44] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:44] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:44] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:44] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:44] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:44] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:44] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:44] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:44] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:44] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:44] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:44] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:44] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:44] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:44] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:44] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:44] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:44] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:44] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:44] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:44] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:44] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:44] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:44] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:45] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:28:45] Will get events_php
[11:28:45] [TYPING] πŸ”„ ========== POLL START ==========
[11:28:45] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:28:45] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:28:45] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:28:45] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:28:45] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:28:45] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:28:45] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2]
[11:28:45] [TYPING] πŸ“₯ Found 0 typing users in response
[11:28:45] [TYPING] πŸ“₯ Updating typing users SET: []
[11:28:45] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:28:45] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:28:45] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:28:45] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:28:45] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:28:45] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:28:45] [TYPING] πŸ”„ ========== POLL END ==========
[11:28:45] [EVT] get_events.php HTTP 200
── Response Headers ──
X-Powered-By: PHP/8.4.14
Content-Length: 355
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Content-Type: application/json; charset=utf-8
Connection: Keep-Alive
Keep-Alive: timeout=5, max=97
Date: Sun, 16 Nov 2025 10:28:45 GMT
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":4,"events":[{"event_id":10686,"event_type":3,"message_id":1611,"session_id":"ILUIWU2"},{"event_id":10687,"event_type":3,"message_id":1610,"session_id":"ILUIWU2"},{"event_id":10688,"event_type":3,"message_id":1611,"session_id":"ILUIWU2"},{"event_id":10690,"event_type":3,"message_id":1612,"session_id":"ILUIWU2"}]}
[11:28:45] Done
[11:28:45] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_id"): 1612, AnyHashable("session_id"): ILUIWU2, AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("operation_type"): 3]
[11:28:45] [PUSH] Parsed message_id: 1612
[11:28:45] [PUSH] Parsed operation_type: 3
[11:28:45] [PUSH] Taking direct action: opType=3, messageId=1612
[11:28:45] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=1612
[11:28:45] [EVOLUTION] πŸ“ Event 3/4 - Text now: "Un..."
[11:28:45] [UPDATE] πŸ”„ updateMessageCell(for: 1610) β€” full safe reload
[11:28:45] [ROWS] ===== updateMessageCell for 1610 β€” chatRows.count=51 =====
[11:28:45] [ROWS] 0: SEPARATOR
[11:28:45] [ROWS] 1: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=2 textLen=2
[11:28:45] [ROWS] 2: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:28:45] [ROWS] 3: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:45] [ROWS] 4: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:45] [ROWS] 5: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:45] [ROWS] 6: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:45] [ROWS] 7: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:45] [ROWS] 8: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:45] [ROWS] 9: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:45] [ROWS] 10: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:28:45] [ROWS] 11: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:45] [ROWS] 12: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:45] [ROWS] 13: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:45] [ROWS] 14: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:45] [ROWS] 15: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:45] [ROWS] 16: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:45] [ROWS] 17: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:28:45] [ROWS] 18: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:45] [ROWS] 19: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:45] [ROWS] 20: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:45] [ROWS] 21: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:45] [ROWS] 22: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:45] [ROWS] 23: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:45] [ROWS] 24: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:45] [ROWS] 25: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:45] [ROWS] 26: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:45] [ROWS] 27: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:45] [ROWS] 28: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:45] [ROWS] 29: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:45] [ROWS] 30: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:45] [ROWS] 31: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:45] [ROWS] 32: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:45] [ROWS] 33: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:45] [ROWS] 34: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:45] [ROWS] 35: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:45] [ROWS] 36: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:28:45] [ROWS] 37: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:45] [ROWS] 38: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:45] [ROWS] 39: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:45] [ROWS] 40: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:45] [ROWS] 41: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:45] [ROWS] 42: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:45] [ROWS] 43: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:45] [ROWS] 44: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:45] [ROWS] 45: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:45] [ROWS] 46: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:45] [ROWS] 47: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:45] [ROWS] 48: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:45] [ROWS] 49: SEPARATOR
[11:28:45] [ROWS] 50: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:45] [ROWS] ===== END (updateMessageCell for 1610) =====
[11:28:45] [HEIGHT_DEBUG] Row 1 msg 1610: isPlayingEvolution=true, textLength=2, text='Un...'
[11:28:45] [HEIGHT] Row 1 msg 1610: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:45] [HEIGHT_DEBUG] Row 2 msg 1609: isPlayingEvolution=false, textLength=2, text='U2...'
[11:28:45] [HEIGHT] Row 2 msg 1609: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:45] [HEIGHT_DEBUG] Row 1 msg 1610: isPlayingEvolution=true, textLength=2, text='Un...'
[11:28:45] [HEIGHT] Row 1 msg 1610: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:45] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:28:45] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:28:45] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:45] [HEIGHT_DEBUG] Row 2 msg 1609: isPlayingEvolution=false, textLength=2, text='U2...'
[11:28:45] [HEIGHT] Row 2 msg 1609: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:45] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:45] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:45] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:45] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:45] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:45] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:45] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:45] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:45] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:45] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:45] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:45] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:45] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:45] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:45] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:45] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:45] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:45] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:45] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:45] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:45] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:45] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:45] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:45] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:45] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:45] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:45] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:45] [EVOLUTION_SEQ] ⏱️ t=1763288925.714 βœ… Finished message 1610 - duration=2.01s, length=2 chars, speed=1 chars/s
[11:28:45] [UPDATE] πŸ”„ updateMessageCell(for: 1610) β€” full safe reload
[11:28:45] [ROWS] ===== updateMessageCell for 1610 β€” chatRows.count=51 =====
[11:28:45] [ROWS] 0: SEPARATOR
[11:28:45] [ROWS] 1: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=2 textLen=2
[11:28:45] [ROWS] 2: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:28:45] [ROWS] 3: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:45] [ROWS] 4: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:45] [ROWS] 5: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:45] [ROWS] 6: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:45] [ROWS] 7: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:45] [ROWS] 8: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:45] [ROWS] 9: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:45] [ROWS] 10: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:28:45] [ROWS] 11: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:45] [ROWS] 12: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:45] [ROWS] 13: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:45] [ROWS] 14: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:45] [ROWS] 15: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:45] [ROWS] 16: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:45] [ROWS] 17: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:28:45] [ROWS] 18: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:45] [ROWS] 19: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:45] [ROWS] 20: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:45] [ROWS] 21: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:45] [ROWS] 22: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:45] [ROWS] 23: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:45] [ROWS] 24: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:45] [ROWS] 25: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:45] [ROWS] 26: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:45] [ROWS] 27: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:45] [ROWS] 28: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:45] [ROWS] 29: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:45] [ROWS] 30: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:45] [ROWS] 31: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:45] [ROWS] 32: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:45] [ROWS] 33: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:45] [ROWS] 34: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:45] [ROWS] 35: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:45] [ROWS] 36: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:28:45] [ROWS] 37: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:45] [ROWS] 38: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:45] [ROWS] 39: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:45] [ROWS] 40: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:45] [ROWS] 41: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:45] [ROWS] 42: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:45] [ROWS] 43: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:45] [ROWS] 44: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:45] [ROWS] 45: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:45] [ROWS] 46: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:45] [ROWS] 47: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:45] [ROWS] 48: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:45] [ROWS] 49: SEPARATOR
[11:28:45] [ROWS] 50: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:45] [ROWS] ===== END (updateMessageCell for 1610) =====
[11:28:45] [HEIGHT_DEBUG] Row 1 msg 1610: isPlayingEvolution=false, textLength=2, text='Un...'
[11:28:45] [HEIGHT] Row 1 msg 1610: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:45] [HEIGHT_DEBUG] Row 2 msg 1609: isPlayingEvolution=false, textLength=2, text='U2...'
[11:28:45] [HEIGHT] Row 2 msg 1609: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:45] [HEIGHT_DEBUG] Row 1 msg 1610: isPlayingEvolution=false, textLength=2, text='Un...'
[11:28:45] [HEIGHT] Row 1 msg 1610: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:45] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:28:45] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:28:45] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:45] [HEIGHT_DEBUG] Row 2 msg 1609: isPlayingEvolution=false, textLength=2, text='U2...'
[11:28:45] [HEIGHT] Row 2 msg 1609: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:45] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:45] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:45] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:45] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:45] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:45] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:45] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:45] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:45] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:45] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:45] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:45] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:45] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:45] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:45] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:45] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:45] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:45] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:45] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:45] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:45] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:45] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:45] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:45] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:45] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:45] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:45] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:45] [EVOLUTION_SEQ] ⏱️ t=1763288925.730 🎬 1 messages remaining, playing next after 0.5s delay
[11:28:46] [EVOLUTION_SEQ] ⏱️ t=1763288926.251 ▢️ Playing message 1611 - 0 remaining in queue
[11:28:46] [EVOLUTION_SEQ] ⏱️ t=1763288926.251 πŸ“ Message 1611: "DEUX..." (4 chars)
[11:28:46] [EVOLUTION_SEQ] ⏱️ t=1763288926.252 πŸ”“ Removed message 1611 from pending set
[11:28:46] [EVOLUTION_SEQ] ⏱️ t=1763288926.253 🎬 Set evolution state for message 1611
[11:28:46] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:28:46] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:28:46] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:28:46] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=52 =====
[11:28:46] [ROWS] 0: SEPARATOR
[11:28:46] [ROWS] 1: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=4
[11:28:46] [ROWS] 2: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=2 textLen=2
[11:28:46] [ROWS] 3: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:28:46] [ROWS] 4: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:46] [ROWS] 5: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:46] [ROWS] 6: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:46] [ROWS] 7: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:46] [ROWS] 8: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:46] [ROWS] 9: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:46] [ROWS] 10: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:46] [ROWS] 11: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:28:46] [ROWS] 12: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:46] [ROWS] 13: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:46] [ROWS] 14: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:46] [ROWS] 15: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:46] [ROWS] 16: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:46] [ROWS] 17: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:46] [ROWS] 18: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:28:46] [ROWS] 19: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:46] [ROWS] 20: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:46] [ROWS] 21: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:46] [ROWS] 22: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:46] [ROWS] 23: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:46] [ROWS] 24: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:46] [ROWS] 25: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:46] [ROWS] 26: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:46] [ROWS] 27: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:46] [ROWS] 28: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:46] [ROWS] 29: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:46] [ROWS] 30: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:46] [ROWS] 31: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:46] [ROWS] 32: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:46] [ROWS] 33: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:46] [ROWS] 34: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:46] [ROWS] 35: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:46] [ROWS] 36: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:46] [ROWS] 37: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:28:46] [ROWS] 38: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:46] [ROWS] 39: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:46] [ROWS] 40: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:46] [ROWS] 41: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:46] [ROWS] 42: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:46] [ROWS] 43: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:46] [ROWS] 44: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:46] [ROWS] 45: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:46] [ROWS] 46: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:46] [ROWS] 47: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:46] [ROWS] 48: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:46] [ROWS] 49: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:46] [ROWS] 50: SEPARATOR
[11:28:46] [ROWS] 51: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:46] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:28:46] [TAB_FILTER] πŸ“Š Reloading table with 52 rows
[11:28:46] [HEIGHT_DEBUG] Row 1 msg 1611: isPlayingEvolution=true, textLength=0, text='...'
[11:28:46] [HEIGHT] Row 1 msg 1611: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:46] [HEIGHT_DEBUG] Row 2 msg 1610: isPlayingEvolution=false, textLength=2, text='Un...'
[11:28:46] [HEIGHT] Row 2 msg 1610: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:46] [HEIGHT_DEBUG] Row 1 msg 1611: isPlayingEvolution=true, textLength=0, text='...'
[11:28:46] [HEIGHT] Row 1 msg 1611: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:46] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:28:46] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:28:46] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:28:46] [HEIGHT_DEBUG] Row 2 msg 1610: isPlayingEvolution=false, textLength=2, text='Un...'
[11:28:46] [HEIGHT] Row 2 msg 1610: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:46] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:46] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:46] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:46] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:46] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:46] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:46] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:46] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:46] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:46] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:46] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:46] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:46] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:46] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:46] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:46] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:46] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:46] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:46] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:46] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:46] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:46] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:46] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:46] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:46] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:46] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:46] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:46] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:28:46] [EVOLUTION_SEQ] ⏱️ t=1763288926.282 πŸ“± Table reloaded: 49 β†’ 50 messages (bubble for 1611 now visible)
[11:28:46] [EVOLUTION_SEQ] ⏱️ t=1763288926.591 ▢️ Starting animation for message 1611
[11:28:46] [EVOLUTION] πŸ“‘ Fetching evolution data for message 1611
[11:28:46] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_id"): 1612, AnyHashable("session_id"): ILUIWU2, AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("operation_type"): 3]
[11:28:46] [PUSH] Parsed message_id: 1612
[11:28:46] [PUSH] Parsed operation_type: 3
[11:28:46] [PUSH] Taking direct action: opType=3, messageId=1612
[11:28:46] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=1612
[11:28:47] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:28:47] Will get events_php
[11:28:47] [TYPING] πŸ”„ ========== POLL START ==========
[11:28:47] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:28:47] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:28:47] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:28:47] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:28:47] [PUSH] get_message response: HTTP 200, 467 bytes
[11:28:47] [PUSH] get_message response body: [{"message_type":0,"message_id":1612,"session_id":"ILUIWU2","message":"TRPOS","file_name":"","msgread":0,"datesent":"2025-11-16 10:28:43","timer":0,"timer_started_at":null,"sender_id":"E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE","sender_name":"LoloTest","distance":null,"link_url":null,"link_title":null,"link_description":null,"link_image_url":null,"reply_to_id":null,"replied_message":null,"replied_sender_id":null,"replied_sender_name":null,"ViewerMode":0,"read_by":[]}]
[11:28:47] [EVOLUTION] 🎬 Preparing message 1612 for evolution playback (starting from empty)
[11:28:47] [PUSH] Added new message 1612 to chatMessages with readBy: 0 readers
[11:28:47] [PUSH] Added new message 1612 to allMessagesWithReadBy with readBy: 0 readers
[11:28:47] [ANIMATION] πŸ“Œ PUSH: Added message 1612 to newlyAddedMessageIds (willPlayEvolution=true)
[11:28:47] [PUSH_DEBUG] After inserting message 1612, existing messages readBy status:
[11:28:47] [PUSH_DEBUG]   msg[0] id=1612, readBy.count=0
[11:28:47] [PUSH_DEBUG]   msg[1] id=1611, readBy.count=1
[11:28:47] [PUSH_DEBUG]   msg[2] id=1610, readBy.count=1
[11:28:47] [PUSH_DEBUG]   msg[3] id=1609, readBy.count=1
[11:28:47] [PUSH_DEBUG]   msg[4] id=1608, readBy.count=1
[11:28:47] [EVOLUTION] 🎬 Will trigger auto-play for new message 1612 (from push) after table reload
[11:28:47] ReloadData 4 - using reloadMessagesForCurrentTab for animation
[11:28:47] [EVT] get_events.php HTTP 200
── Response Headers ──
X-Powered-By: PHP/8.4.14
Content-Length: 130
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Content-Type: application/json; charset=utf-8
Connection: Keep-Alive
Keep-Alive: timeout=5, max=97
Date: Sun, 16 Nov 2025 10:28:47 GMT
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":1,"events":[{"event_id":10691,"event_type":3,"message_id":1612,"session_id":"ILUIWU2"}]}
[11:28:47] [HEIGHT_DEBUG] Row 1 msg 1611: isPlayingEvolution=true, textLength=0, text='...'
[11:28:47] [HEIGHT] Row 1 msg 1611: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:47] [HEIGHT_DEBUG] Row 2 msg 1610: isPlayingEvolution=false, textLength=2, text='Un...'
[11:28:47] [HEIGHT] Row 2 msg 1610: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:47] Done
[11:28:47] [EVOLUTION] πŸ” Raw response (239 bytes): {"ok":true,"has_evolution":true,"message_id":1611,"evolution":{"events":[{"c":"D","t":0,"op":"i","p":0},{"op":"i","p":1,"t":66,"c":"E"},{"c":"U","p":2,"t":320,"op":"i"},{"op":"i","p":3,"c":"X","t":428
[11:28:47] [EVOLUTION] πŸ” Parsed JSON keys: ["created_at", "evolution", "has_evolution", "message_id", "ok"]
[11:28:47] [EVOLUTION] πŸ” has_evolution: 1
[11:28:47] [EVOLUTION] βœ… Got 4 events for message 1611
[11:28:47] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:28:47] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:28:47] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok]
[11:28:47] [TYPING] πŸ“₯ Found 0 typing users in response
[11:28:47] [HEIGHT_DEBUG] Row 1 msg 1612: isPlayingEvolution=true, textLength=0, text='...'
[11:28:47] [HEIGHT] Row 1 msg 1612: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:47] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:28:47] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:28:47] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:28:47] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:28:47] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:28:47] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (51 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:28:47] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:28:47] [EVOLUTION] πŸ“ Updated lastSeenMessageId: 1611 β†’ 1612
[11:28:47] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=53 =====
[11:28:47] [ROWS] 0: SEPARATOR
[11:28:47] [ROWS] 1: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=5
[11:28:47] [ROWS] 2: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=4
[11:28:47] [ROWS] 3: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=2 textLen=2
[11:28:47] [ROWS] 4: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:28:47] [ROWS] 5: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 6: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:47] [ROWS] 7: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:47] [ROWS] 8: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:47] [ROWS] 9: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:47] [ROWS] 10: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:47] [ROWS] 11: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:47] [ROWS] 12: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:28:47] [ROWS] 13: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:47] [ROWS] 14: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:47] [ROWS] 15: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:47] [ROWS] 16: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:47] [ROWS] 17: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:47] [ROWS] 18: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:47] [ROWS] 19: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:28:47] [ROWS] 20: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:47] [ROWS] 21: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:47] [ROWS] 22: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:47] [ROWS] 23: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:47] [ROWS] 24: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 25: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:47] [ROWS] 26: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:47] [ROWS] 27: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:47] [ROWS] 28: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:47] [ROWS] 29: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:47] [ROWS] 30: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:47] [ROWS] 31: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:47] [ROWS] 32: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:47] [ROWS] 33: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:47] [ROWS] 34: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:47] [ROWS] 35: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:47] [ROWS] 36: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:47] [ROWS] 37: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:47] [ROWS] 38: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:28:47] [ROWS] 39: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:47] [ROWS] 40: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:47] [ROWS] 41: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 42: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:47] [ROWS] 43: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:47] [ROWS] 44: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:47] [ROWS] 45: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 46: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 47: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 48: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 49: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 50: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 51: SEPARATOR
[11:28:47] [ROWS] 52: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:47] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:28:47] [TAB_FILTER] πŸ“Š Reloading table with 53 rows
[11:28:47] [HEIGHT_DEBUG] Row 1 msg 1612: isPlayingEvolution=true, textLength=0, text='...'
[11:28:47] [HEIGHT] Row 1 msg 1612: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:47] [HEIGHT_DEBUG] Row 2 msg 1611: isPlayingEvolution=true, textLength=0, text='...'
[11:28:47] [HEIGHT] Row 2 msg 1611: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:47] [HEIGHT_DEBUG] Row 1 msg 1612: isPlayingEvolution=true, textLength=0, text='...'
[11:28:47] [HEIGHT] Row 1 msg 1612: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:47] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:28:47] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:28:47] [HEIGHT_DEBUG] Row 2 msg 1611: isPlayingEvolution=true, textLength=0, text='...'
[11:28:47] [HEIGHT] Row 2 msg 1611: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:47] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=41.333333333333336 bubbleBottom=45.333333333333336 cellHeight=71.0 remainingSpace=25.666666666666664
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:28:47] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:28:47] [OVERLAP_FIX] πŸš€ Starting evolution - forcing initial height recalculation
[11:28:47] [UPDATE] πŸ”„ updateMessageCell(for: 1611) β€” full safe reload
[11:28:47] [ROWS] ===== updateMessageCell for 1611 β€” chatRows.count=53 =====
[11:28:47] [ROWS] 0: SEPARATOR
[11:28:47] [ROWS] 1: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=5
[11:28:47] [ROWS] 2: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=4
[11:28:47] [ROWS] 3: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=2 textLen=2
[11:28:47] [ROWS] 4: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:28:47] [ROWS] 5: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 6: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:47] [ROWS] 7: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:47] [ROWS] 8: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:47] [ROWS] 9: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:47] [ROWS] 10: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:47] [ROWS] 11: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:47] [ROWS] 12: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:28:47] [ROWS] 13: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:47] [ROWS] 14: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:47] [ROWS] 15: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:47] [ROWS] 16: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:47] [ROWS] 17: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:47] [ROWS] 18: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:47] [ROWS] 19: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:28:47] [ROWS] 20: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:47] [ROWS] 21: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:47] [ROWS] 22: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:47] [ROWS] 23: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:47] [ROWS] 24: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 25: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:47] [ROWS] 26: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:47] [ROWS] 27: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:47] [ROWS] 28: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:47] [ROWS] 29: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:47] [ROWS] 30: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:47] [ROWS] 31: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:47] [ROWS] 32: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:47] [ROWS] 33: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:47] [ROWS] 34: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:47] [ROWS] 35: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:47] [ROWS] 36: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:47] [ROWS] 37: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:47] [ROWS] 38: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:28:47] [ROWS] 39: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:47] [ROWS] 40: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:47] [ROWS] 41: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 42: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:47] [ROWS] 43: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:47] [ROWS] 44: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:47] [ROWS] 45: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 46: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 47: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 48: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 49: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 50: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 51: SEPARATOR
[11:28:47] [ROWS] 52: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:47] [ROWS] ===== END (updateMessageCell for 1611) =====
[11:28:47] [HEIGHT_DEBUG] Row 1 msg 1612: isPlayingEvolution=true, textLength=0, text='...'
[11:28:47] [HEIGHT] Row 1 msg 1612: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:47] [HEIGHT_DEBUG] Row 2 msg 1611: isPlayingEvolution=true, textLength=0, text='...'
[11:28:47] [HEIGHT] Row 2 msg 1611: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:47] [HEIGHT_DEBUG] Row 1 msg 1612: isPlayingEvolution=true, textLength=0, text='...'
[11:28:47] [HEIGHT] Row 1 msg 1612: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:47] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:28:47] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:28:47] [HEIGHT_DEBUG] Row 2 msg 1611: isPlayingEvolution=true, textLength=0, text='...'
[11:28:47] [HEIGHT] Row 2 msg 1611: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:47] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=41.333333333333336 bubbleBottom=45.333333333333336 cellHeight=71.0 remainingSpace=25.666666666666664
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:28:47] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [EVOLUTION] ▢️ Starting inline playback for message 1611 with 4 events
[11:28:47] [TYPING] πŸ“₯ Updating typing users SET: []
[11:28:47] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:28:47] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:28:47] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:28:47] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:28:47] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:28:47] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:28:47] [TYPING] πŸ”„ ========== POLL END ==========
[11:28:47] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:28:47] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:28:47] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=41.333333333333336 bubbleBottom=45.333333333333336 cellHeight=71.0 remainingSpace=25.666666666666664
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:28:47] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [EVOLUTION] πŸ“ Event 0/4 - Text now: "D..."
[11:28:47] [UPDATE] πŸ”„ updateMessageCell(for: 1611) β€” full safe reload
[11:28:47] [ROWS] ===== updateMessageCell for 1611 β€” chatRows.count=53 =====
[11:28:47] [ROWS] 0: SEPARATOR
[11:28:47] [ROWS] 1: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=5
[11:28:47] [ROWS] 2: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=1 textLen=4
[11:28:47] [ROWS] 3: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=2 textLen=2
[11:28:47] [ROWS] 4: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:28:47] [ROWS] 5: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 6: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:47] [ROWS] 7: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:47] [ROWS] 8: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:47] [ROWS] 9: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:47] [ROWS] 10: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:47] [ROWS] 11: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:47] [ROWS] 12: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:28:47] [ROWS] 13: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:47] [ROWS] 14: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:47] [ROWS] 15: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:47] [ROWS] 16: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:47] [ROWS] 17: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:47] [ROWS] 18: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:47] [ROWS] 19: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:28:47] [ROWS] 20: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:47] [ROWS] 21: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:47] [ROWS] 22: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:47] [ROWS] 23: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:47] [ROWS] 24: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 25: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:47] [ROWS] 26: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:47] [ROWS] 27: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:47] [ROWS] 28: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:47] [ROWS] 29: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:47] [ROWS] 30: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:47] [ROWS] 31: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:47] [ROWS] 32: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:47] [ROWS] 33: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:47] [ROWS] 34: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:47] [ROWS] 35: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:47] [ROWS] 36: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:47] [ROWS] 37: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:47] [ROWS] 38: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:28:47] [ROWS] 39: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:47] [ROWS] 40: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:47] [ROWS] 41: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 42: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:47] [ROWS] 43: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:47] [ROWS] 44: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:47] [ROWS] 45: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 46: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 47: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 48: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 49: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 50: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 51: SEPARATOR
[11:28:47] [ROWS] 52: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:47] [ROWS] ===== END (updateMessageCell for 1611) =====
[11:28:47] [HEIGHT_DEBUG] Row 1 msg 1612: isPlayingEvolution=true, textLength=0, text='...'
[11:28:47] [HEIGHT] Row 1 msg 1612: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:47] [HEIGHT_DEBUG] Row 2 msg 1611: isPlayingEvolution=true, textLength=1, text='D...'
[11:28:47] [HEIGHT] Row 2 msg 1611: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:47] [HEIGHT_DEBUG] Row 1 msg 1612: isPlayingEvolution=true, textLength=0, text='...'
[11:28:47] [HEIGHT] Row 1 msg 1612: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:47] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:28:47] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:28:47] [HEIGHT_DEBUG] Row 2 msg 1611: isPlayingEvolution=true, textLength=1, text='D...'
[11:28:47] [HEIGHT] Row 2 msg 1611: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:47] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [EVOLUTION] πŸ“ Event 1/4 - Text now: "DE..."
[11:28:47] [UPDATE] πŸ”„ updateMessageCell(for: 1611) β€” full safe reload
[11:28:47] [ROWS] ===== updateMessageCell for 1611 β€” chatRows.count=53 =====
[11:28:47] [ROWS] 0: SEPARATOR
[11:28:47] [ROWS] 1: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=5
[11:28:47] [ROWS] 2: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=2 textLen=4
[11:28:47] [ROWS] 3: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=2 textLen=2
[11:28:47] [ROWS] 4: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:28:47] [ROWS] 5: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 6: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:47] [ROWS] 7: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:47] [ROWS] 8: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:47] [ROWS] 9: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:47] [ROWS] 10: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:47] [ROWS] 11: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:47] [ROWS] 12: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:28:47] [ROWS] 13: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:47] [ROWS] 14: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:47] [ROWS] 15: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:47] [ROWS] 16: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:47] [ROWS] 17: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:47] [ROWS] 18: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:47] [ROWS] 19: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:28:47] [ROWS] 20: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:47] [ROWS] 21: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:47] [ROWS] 22: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:47] [ROWS] 23: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:47] [ROWS] 24: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 25: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:47] [ROWS] 26: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:47] [ROWS] 27: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:47] [ROWS] 28: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:47] [ROWS] 29: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:47] [ROWS] 30: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:47] [ROWS] 31: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:47] [ROWS] 32: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:47] [ROWS] 33: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:47] [ROWS] 34: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:47] [ROWS] 35: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:47] [ROWS] 36: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:47] [ROWS] 37: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:47] [ROWS] 38: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:28:47] [ROWS] 39: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:47] [ROWS] 40: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:47] [ROWS] 41: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 42: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:47] [ROWS] 43: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:47] [ROWS] 44: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:47] [ROWS] 45: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 46: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 47: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 48: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 49: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 50: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 51: SEPARATOR
[11:28:47] [ROWS] 52: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:47] [ROWS] ===== END (updateMessageCell for 1611) =====
[11:28:47] [HEIGHT_DEBUG] Row 1 msg 1612: isPlayingEvolution=true, textLength=0, text='...'
[11:28:47] [HEIGHT] Row 1 msg 1612: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:47] [HEIGHT_DEBUG] Row 2 msg 1611: isPlayingEvolution=true, textLength=2, text='DE...'
[11:28:47] [HEIGHT] Row 2 msg 1611: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:47] [HEIGHT_DEBUG] Row 1 msg 1612: isPlayingEvolution=true, textLength=0, text='...'
[11:28:47] [HEIGHT] Row 1 msg 1612: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:47] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:28:47] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:28:47] [HEIGHT_DEBUG] Row 2 msg 1611: isPlayingEvolution=true, textLength=2, text='DE...'
[11:28:47] [HEIGHT] Row 2 msg 1611: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:47] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [EVOLUTION] 🎬 Starting auto-play for message 1612 after table reload + render delay
[11:28:47] [EVOLUTION] πŸ“‘ Fetching evolution data for message 1612
[11:28:47] [EVOLUTION] πŸ” Raw response (339 bytes): {"ok":true,"has_evolution":true,"message_id":1612,"evolution":{"events":[{"op":"i","p":0,"t":0,"c":"T"},{"op":"i","p":1,"t":98,"c":"R"},{"p":2,"op":"i","t":254,"c":"P"},{"t":410,"c":"O","op":"i","p":3
[11:28:47] [EVOLUTION] πŸ” Parsed JSON keys: ["created_at", "evolution", "has_evolution", "message_id", "ok"]
[11:28:47] [EVOLUTION] πŸ” has_evolution: 1
[11:28:47] [EVOLUTION] βœ… Got 7 events for message 1612
[11:28:47] [OVERLAP_FIX] πŸš€ Starting evolution - forcing initial height recalculation
[11:28:47] [UPDATE] πŸ”„ updateMessageCell(for: 1612) β€” full safe reload
[11:28:47] [ROWS] ===== updateMessageCell for 1612 β€” chatRows.count=53 =====
[11:28:47] [ROWS] 0: SEPARATOR
[11:28:47] [ROWS] 1: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=5
[11:28:47] [ROWS] 2: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=2 textLen=4
[11:28:47] [ROWS] 3: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=2 textLen=2
[11:28:47] [ROWS] 4: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:28:47] [ROWS] 5: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 6: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:47] [ROWS] 7: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:47] [ROWS] 8: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:47] [ROWS] 9: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:47] [ROWS] 10: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:47] [ROWS] 11: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:47] [ROWS] 12: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:28:47] [ROWS] 13: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:47] [ROWS] 14: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:47] [ROWS] 15: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:47] [ROWS] 16: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:47] [ROWS] 17: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:47] [ROWS] 18: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:47] [ROWS] 19: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:28:47] [ROWS] 20: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:47] [ROWS] 21: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:47] [ROWS] 22: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:47] [ROWS] 23: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:47] [ROWS] 24: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 25: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:47] [ROWS] 26: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:47] [ROWS] 27: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:47] [ROWS] 28: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:47] [ROWS] 29: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:47] [ROWS] 30: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:47] [ROWS] 31: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:47] [ROWS] 32: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:47] [ROWS] 33: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:47] [ROWS] 34: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:47] [ROWS] 35: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:47] [ROWS] 36: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:47] [ROWS] 37: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:47] [ROWS] 38: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:28:47] [ROWS] 39: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:47] [ROWS] 40: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:47] [ROWS] 41: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 42: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:47] [ROWS] 43: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:47] [ROWS] 44: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:47] [ROWS] 45: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 46: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 47: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 48: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 49: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 50: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 51: SEPARATOR
[11:28:47] [ROWS] 52: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:47] [ROWS] ===== END (updateMessageCell for 1612) =====
[11:28:47] [HEIGHT_DEBUG] Row 1 msg 1612: isPlayingEvolution=true, textLength=0, text='...'
[11:28:47] [HEIGHT] Row 1 msg 1612: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:47] [HEIGHT_DEBUG] Row 2 msg 1611: isPlayingEvolution=true, textLength=2, text='DE...'
[11:28:47] [HEIGHT] Row 2 msg 1611: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:47] [HEIGHT_DEBUG] Row 1 msg 1612: isPlayingEvolution=true, textLength=0, text='...'
[11:28:47] [HEIGHT] Row 1 msg 1612: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:47] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:28:47] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:28:47] [HEIGHT_DEBUG] Row 2 msg 1611: isPlayingEvolution=true, textLength=2, text='DE...'
[11:28:47] [HEIGHT] Row 2 msg 1611: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:47] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [EVOLUTION] ▢️ Starting inline playback for message 1612 with 7 events
[11:28:47] [EVOLUTION] πŸ“ Event 0/7 - Text now: "T..."
[11:28:47] [UPDATE] πŸ”„ updateMessageCell(for: 1612) β€” full safe reload
[11:28:47] [ROWS] ===== updateMessageCell for 1612 β€” chatRows.count=53 =====
[11:28:47] [ROWS] 0: SEPARATOR
[11:28:47] [ROWS] 1: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=1 textLen=5
[11:28:47] [ROWS] 2: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=2 textLen=4
[11:28:47] [ROWS] 3: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=2 textLen=2
[11:28:47] [ROWS] 4: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:28:47] [ROWS] 5: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 6: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:47] [ROWS] 7: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:47] [ROWS] 8: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:47] [ROWS] 9: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:47] [ROWS] 10: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:47] [ROWS] 11: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:47] [ROWS] 12: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:28:47] [ROWS] 13: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:47] [ROWS] 14: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:47] [ROWS] 15: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:47] [ROWS] 16: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:47] [ROWS] 17: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:47] [ROWS] 18: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:47] [ROWS] 19: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:28:47] [ROWS] 20: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:47] [ROWS] 21: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:47] [ROWS] 22: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:47] [ROWS] 23: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:47] [ROWS] 24: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 25: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:47] [ROWS] 26: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:47] [ROWS] 27: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:47] [ROWS] 28: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:47] [ROWS] 29: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:47] [ROWS] 30: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:47] [ROWS] 31: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:47] [ROWS] 32: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:47] [ROWS] 33: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:47] [ROWS] 34: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:47] [ROWS] 35: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:47] [ROWS] 36: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:47] [ROWS] 37: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:47] [ROWS] 38: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:28:47] [ROWS] 39: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:47] [ROWS] 40: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:47] [ROWS] 41: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 42: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:47] [ROWS] 43: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:47] [ROWS] 44: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:47] [ROWS] 45: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 46: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 47: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 48: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 49: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 50: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 51: SEPARATOR
[11:28:47] [ROWS] 52: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:47] [ROWS] ===== END (updateMessageCell for 1612) =====
[11:28:47] [HEIGHT_DEBUG] Row 1 msg 1612: isPlayingEvolution=true, textLength=1, text='T...'
[11:28:47] [HEIGHT] Row 1 msg 1612: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:47] [HEIGHT_DEBUG] Row 2 msg 1611: isPlayingEvolution=true, textLength=2, text='DE...'
[11:28:47] [HEIGHT] Row 2 msg 1611: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:47] [HEIGHT_DEBUG] Row 1 msg 1612: isPlayingEvolution=true, textLength=1, text='T...'
[11:28:47] [HEIGHT] Row 1 msg 1612: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:47] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:28:47] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [HEIGHT_DEBUG] Row 2 msg 1611: isPlayingEvolution=true, textLength=2, text='DE...'
[11:28:47] [HEIGHT] Row 2 msg 1611: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:47] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [EVOLUTION] πŸ“ Event 1/7 - Text now: "TR..."
[11:28:47] [UPDATE] πŸ”„ updateMessageCell(for: 1612) β€” full safe reload
[11:28:47] [ROWS] ===== updateMessageCell for 1612 β€” chatRows.count=53 =====
[11:28:47] [ROWS] 0: SEPARATOR
[11:28:47] [ROWS] 1: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=2 textLen=5
[11:28:47] [ROWS] 2: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=2 textLen=4
[11:28:47] [ROWS] 3: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=2 textLen=2
[11:28:47] [ROWS] 4: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:28:47] [ROWS] 5: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 6: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:47] [ROWS] 7: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:47] [ROWS] 8: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:47] [ROWS] 9: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:47] [ROWS] 10: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:47] [ROWS] 11: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:47] [ROWS] 12: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:28:47] [ROWS] 13: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:47] [ROWS] 14: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:47] [ROWS] 15: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:47] [ROWS] 16: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:47] [ROWS] 17: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:47] [ROWS] 18: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:47] [ROWS] 19: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:28:47] [ROWS] 20: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:47] [ROWS] 21: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:47] [ROWS] 22: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:47] [ROWS] 23: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:47] [ROWS] 24: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 25: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:47] [ROWS] 26: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:47] [ROWS] 27: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:47] [ROWS] 28: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:47] [ROWS] 29: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:47] [ROWS] 30: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:47] [ROWS] 31: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:47] [ROWS] 32: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:47] [ROWS] 33: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:47] [ROWS] 34: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:47] [ROWS] 35: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:47] [ROWS] 36: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:47] [ROWS] 37: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:47] [ROWS] 38: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:28:47] [ROWS] 39: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:47] [ROWS] 40: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:47] [ROWS] 41: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 42: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:47] [ROWS] 43: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:47] [ROWS] 44: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:47] [ROWS] 45: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 46: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 47: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 48: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 49: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 50: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 51: SEPARATOR
[11:28:47] [ROWS] 52: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:47] [ROWS] ===== END (updateMessageCell for 1612) =====
[11:28:47] [HEIGHT_DEBUG] Row 1 msg 1612: isPlayingEvolution=true, textLength=2, text='TR...'
[11:28:47] [HEIGHT] Row 1 msg 1612: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:47] [HEIGHT_DEBUG] Row 2 msg 1611: isPlayingEvolution=true, textLength=2, text='DE...'
[11:28:47] [HEIGHT] Row 2 msg 1611: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:47] [HEIGHT_DEBUG] Row 1 msg 1612: isPlayingEvolution=true, textLength=2, text='TR...'
[11:28:47] [HEIGHT] Row 1 msg 1612: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:47] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:28:47] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [HEIGHT_DEBUG] Row 2 msg 1611: isPlayingEvolution=true, textLength=2, text='DE...'
[11:28:47] [HEIGHT] Row 2 msg 1611: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:47] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [EVOLUTION] πŸ“ Event 2/4 - Text now: "DEU..."
[11:28:47] [UPDATE] πŸ”„ updateMessageCell(for: 1611) β€” full safe reload
[11:28:47] [ROWS] ===== updateMessageCell for 1611 β€” chatRows.count=53 =====
[11:28:47] [ROWS] 0: SEPARATOR
[11:28:47] [ROWS] 1: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=2 textLen=5
[11:28:47] [ROWS] 2: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=3 textLen=4
[11:28:47] [ROWS] 3: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=2 textLen=2
[11:28:47] [ROWS] 4: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:28:47] [ROWS] 5: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 6: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:47] [ROWS] 7: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:47] [ROWS] 8: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:47] [ROWS] 9: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:47] [ROWS] 10: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:47] [ROWS] 11: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:47] [ROWS] 12: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:28:47] [ROWS] 13: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:47] [ROWS] 14: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:47] [ROWS] 15: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:47] [ROWS] 16: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:47] [ROWS] 17: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:47] [ROWS] 18: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:47] [ROWS] 19: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:28:47] [ROWS] 20: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:47] [ROWS] 21: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:47] [ROWS] 22: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:47] [ROWS] 23: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:47] [ROWS] 24: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 25: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:47] [ROWS] 26: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:47] [ROWS] 27: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:47] [ROWS] 28: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:47] [ROWS] 29: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:47] [ROWS] 30: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:47] [ROWS] 31: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:47] [ROWS] 32: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:47] [ROWS] 33: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:47] [ROWS] 34: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:47] [ROWS] 35: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:47] [ROWS] 36: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:47] [ROWS] 37: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:47] [ROWS] 38: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:28:47] [ROWS] 39: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:47] [ROWS] 40: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:47] [ROWS] 41: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 42: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:47] [ROWS] 43: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:47] [ROWS] 44: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:47] [ROWS] 45: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 46: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 47: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 48: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 49: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 50: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:47] [ROWS] 51: SEPARATOR
[11:28:47] [ROWS] 52: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:47] [ROWS] ===== END (updateMessageCell for 1611) =====
[11:28:47] [HEIGHT_DEBUG] Row 1 msg 1612: isPlayingEvolution=true, textLength=2, text='TR...'
[11:28:47] [HEIGHT] Row 1 msg 1612: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:47] [HEIGHT_DEBUG] Row 2 msg 1611: isPlayingEvolution=true, textLength=3, text='DEU...'
[11:28:47] [HEIGHT] Row 2 msg 1611: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:47] [HEIGHT_DEBUG] Row 1 msg 1612: isPlayingEvolution=true, textLength=2, text='TR...'
[11:28:47] [HEIGHT] Row 1 msg 1612: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:47] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:28:47] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [HEIGHT_DEBUG] Row 2 msg 1611: isPlayingEvolution=true, textLength=3, text='DEU...'
[11:28:47] [HEIGHT] Row 2 msg 1611: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:47] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:47] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:47] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:47] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:48] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:28:48] [INFO_PAGE] Found 427 messages for session 'ILUIWU2'
[11:28:48] [INFO_PAGE] Total messages in database: 1193
[11:28:48] [EVOLUTION] πŸ“ Event 3/4 - Text now: "DEUX..."
[11:28:48] [UPDATE] πŸ”„ updateMessageCell(for: 1611) β€” full safe reload
[11:28:48] [ROWS] ===== updateMessageCell for 1611 β€” chatRows.count=53 =====
[11:28:48] [ROWS] 0: SEPARATOR
[11:28:48] [ROWS] 1: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=2 textLen=5
[11:28:48] [ROWS] 2: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=4 textLen=4
[11:28:48] [ROWS] 3: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=2 textLen=2
[11:28:48] [ROWS] 4: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:28:48] [ROWS] 5: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:48] [ROWS] 6: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:48] [ROWS] 7: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:48] [ROWS] 8: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:48] [ROWS] 9: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:48] [ROWS] 10: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:48] [ROWS] 11: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:48] [ROWS] 12: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:28:48] [ROWS] 13: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:48] [ROWS] 14: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:48] [ROWS] 15: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:48] [ROWS] 16: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:48] [ROWS] 17: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:48] [ROWS] 18: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:48] [ROWS] 19: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:28:48] [ROWS] 20: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:48] [ROWS] 21: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:48] [ROWS] 22: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:48] [ROWS] 23: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:48] [ROWS] 24: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:48] [ROWS] 25: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:48] [ROWS] 26: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:48] [ROWS] 27: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:48] [ROWS] 28: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:48] [ROWS] 29: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:48] [ROWS] 30: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:48] [ROWS] 31: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:48] [ROWS] 32: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:48] [ROWS] 33: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:48] [ROWS] 34: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:48] [ROWS] 35: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:48] [ROWS] 36: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:48] [ROWS] 37: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:48] [ROWS] 38: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:28:48] [ROWS] 39: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:48] [ROWS] 40: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:48] [ROWS] 41: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:48] [ROWS] 42: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:48] [ROWS] 43: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:48] [ROWS] 44: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:48] [ROWS] 45: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:48] [ROWS] 46: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:48] [ROWS] 47: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:48] [ROWS] 48: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:48] [ROWS] 49: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:48] [ROWS] 50: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:48] [ROWS] 51: SEPARATOR
[11:28:48] [ROWS] 52: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:48] [ROWS] ===== END (updateMessageCell for 1611) =====
[11:28:48] [HEIGHT_DEBUG] Row 1 msg 1612: isPlayingEvolution=true, textLength=2, text='TR...'
[11:28:48] [HEIGHT] Row 1 msg 1612: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:48] [HEIGHT_DEBUG] Row 2 msg 1611: isPlayingEvolution=true, textLength=4, text='DEUX...'
[11:28:48] [HEIGHT] Row 2 msg 1611: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:48] [HEIGHT_DEBUG] Row 1 msg 1612: isPlayingEvolution=true, textLength=2, text='TR...'
[11:28:48] [HEIGHT] Row 1 msg 1612: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:48] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:28:48] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:28:48] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:48] [HEIGHT_DEBUG] Row 2 msg 1611: isPlayingEvolution=true, textLength=4, text='DEUX...'
[11:28:48] [HEIGHT] Row 2 msg 1611: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:48] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:48] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:48] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:48] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:48] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:48] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:48] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:48] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:48] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:48] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:48] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:48] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:48] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:48] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:48] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:48] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:48] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:48] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:48] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:48] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:48] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:48] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:48] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:48] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:48] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:48] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:48] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:48] [EVOLUTION_SEQ] ⏱️ t=1763288928.073 βœ… Finished message 1611 - duration=1.79s, length=4 chars, speed=2 chars/s
[11:28:48] [UPDATE] πŸ”„ updateMessageCell(for: 1611) β€” full safe reload
[11:28:48] [ROWS] ===== updateMessageCell for 1611 β€” chatRows.count=53 =====
[11:28:48] [ROWS] 0: SEPARATOR
[11:28:48] [ROWS] 1: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=2 textLen=5
[11:28:48] [ROWS] 2: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=4 textLen=4
[11:28:48] [ROWS] 3: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=2 textLen=2
[11:28:48] [ROWS] 4: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:28:48] [ROWS] 5: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:48] [ROWS] 6: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:48] [ROWS] 7: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:48] [ROWS] 8: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:48] [ROWS] 9: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:48] [ROWS] 10: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:48] [ROWS] 11: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:48] [ROWS] 12: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:28:48] [ROWS] 13: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:48] [ROWS] 14: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:48] [ROWS] 15: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:48] [ROWS] 16: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:48] [ROWS] 17: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:48] [ROWS] 18: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:48] [ROWS] 19: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:28:48] [ROWS] 20: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:48] [ROWS] 21: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:48] [ROWS] 22: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:48] [ROWS] 23: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:48] [ROWS] 24: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:48] [ROWS] 25: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:48] [ROWS] 26: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:48] [ROWS] 27: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:48] [ROWS] 28: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:48] [ROWS] 29: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:48] [ROWS] 30: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:48] [ROWS] 31: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:48] [ROWS] 32: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:48] [ROWS] 33: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:48] [ROWS] 34: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:48] [ROWS] 35: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:48] [ROWS] 36: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:48] [ROWS] 37: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:48] [ROWS] 38: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:28:48] [ROWS] 39: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:48] [ROWS] 40: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:48] [ROWS] 41: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:48] [ROWS] 42: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:48] [ROWS] 43: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:48] [ROWS] 44: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:48] [ROWS] 45: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:48] [ROWS] 46: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:48] [ROWS] 47: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:48] [ROWS] 48: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:48] [ROWS] 49: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:48] [ROWS] 50: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:48] [ROWS] 51: SEPARATOR
[11:28:48] [ROWS] 52: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:48] [ROWS] ===== END (updateMessageCell for 1611) =====
[11:28:48] [HEIGHT_DEBUG] Row 1 msg 1612: isPlayingEvolution=true, textLength=2, text='TR...'
[11:28:48] [HEIGHT] Row 1 msg 1612: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:48] [HEIGHT_DEBUG] Row 2 msg 1611: isPlayingEvolution=false, textLength=4, text='DEUX...'
[11:28:48] [HEIGHT] Row 2 msg 1611: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:48] [HEIGHT_DEBUG] Row 1 msg 1612: isPlayingEvolution=true, textLength=2, text='TR...'
[11:28:48] [HEIGHT] Row 1 msg 1612: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:48] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:28:48] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:28:48] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:48] [HEIGHT_DEBUG] Row 2 msg 1611: isPlayingEvolution=false, textLength=4, text='DEUX...'
[11:28:48] [HEIGHT] Row 2 msg 1611: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:48] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:48] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:48] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:48] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:48] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:48] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:48] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:48] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:48] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:48] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:48] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:48] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:48] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:48] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:48] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:48] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:48] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:48] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:48] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:48] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:48] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:48] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:48] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:48] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:48] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:48] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:48] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:48] [EVOLUTION_SEQ] ⏱️ t=1763288928.079 βœ… All queued messages have been played
[11:28:48] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_id"): 1612, AnyHashable("session_id"): ILUIWU2, AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("operation_type"): 3]
[11:28:48] [PUSH] Parsed message_id: 1612
[11:28:48] [PUSH] Parsed operation_type: 3
[11:28:48] [PUSH] Taking direct action: opType=3, messageId=1612
[11:28:48] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=1612
[11:28:48] [EVOLUTION] πŸ“ Event 2/7 - Text now: "TRP..."
[11:28:48] [UPDATE] πŸ”„ updateMessageCell(for: 1612) β€” full safe reload
[11:28:48] [ROWS] ===== updateMessageCell for 1612 β€” chatRows.count=53 =====
[11:28:48] [ROWS] 0: SEPARATOR
[11:28:48] [ROWS] 1: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=3 textLen=5
[11:28:48] [ROWS] 2: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=4 textLen=4
[11:28:48] [ROWS] 3: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=2 textLen=2
[11:28:48] [ROWS] 4: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:28:48] [ROWS] 5: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:48] [ROWS] 6: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:48] [ROWS] 7: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:48] [ROWS] 8: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:48] [ROWS] 9: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:48] [ROWS] 10: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:48] [ROWS] 11: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:48] [ROWS] 12: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:28:48] [ROWS] 13: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:48] [ROWS] 14: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:48] [ROWS] 15: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:48] [ROWS] 16: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:48] [ROWS] 17: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:48] [ROWS] 18: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:48] [ROWS] 19: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:28:48] [ROWS] 20: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:48] [ROWS] 21: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:48] [ROWS] 22: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:48] [ROWS] 23: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:48] [ROWS] 24: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:48] [ROWS] 25: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:48] [ROWS] 26: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:48] [ROWS] 27: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:48] [ROWS] 28: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:48] [ROWS] 29: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:48] [ROWS] 30: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:48] [ROWS] 31: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:48] [ROWS] 32: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:48] [ROWS] 33: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:48] [ROWS] 34: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:48] [ROWS] 35: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:48] [ROWS] 36: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:48] [ROWS] 37: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:48] [ROWS] 38: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:28:48] [ROWS] 39: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:48] [ROWS] 40: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:48] [ROWS] 41: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:48] [ROWS] 42: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:48] [ROWS] 43: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:48] [ROWS] 44: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:48] [ROWS] 45: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:48] [ROWS] 46: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:48] [ROWS] 47: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:48] [ROWS] 48: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:48] [ROWS] 49: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:48] [ROWS] 50: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:48] [ROWS] 51: SEPARATOR
[11:28:48] [ROWS] 52: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:48] [ROWS] ===== END (updateMessageCell for 1612) =====
[11:28:48] [HEIGHT_DEBUG] Row 1 msg 1612: isPlayingEvolution=true, textLength=3, text='TRP...'
[11:28:48] [HEIGHT] Row 1 msg 1612: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:48] [HEIGHT_DEBUG] Row 2 msg 1611: isPlayingEvolution=false, textLength=4, text='DEUX...'
[11:28:48] [HEIGHT] Row 2 msg 1611: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:48] [HEIGHT_DEBUG] Row 1 msg 1612: isPlayingEvolution=true, textLength=3, text='TRP...'
[11:28:48] [HEIGHT] Row 1 msg 1612: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:48] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:28:48] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:28:48] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:48] [HEIGHT_DEBUG] Row 2 msg 1611: isPlayingEvolution=false, textLength=4, text='DEUX...'
[11:28:48] [HEIGHT] Row 2 msg 1611: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:48] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:48] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:48] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:48] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:48] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:48] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:48] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:48] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:48] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:48] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:48] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:48] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:48] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:48] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:48] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:48] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:48] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:48] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:48] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:48] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:48] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:48] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:48] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:48] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:48] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:48] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:48] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:48] [EVOLUTION] πŸ“ Event 3/7 - Text now: "TRPO..."
[11:28:48] [UPDATE] πŸ”„ updateMessageCell(for: 1612) β€” full safe reload
[11:28:48] [ROWS] ===== updateMessageCell for 1612 β€” chatRows.count=53 =====
[11:28:48] [ROWS] 0: SEPARATOR
[11:28:48] [ROWS] 1: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=4 textLen=5
[11:28:48] [ROWS] 2: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=4 textLen=4
[11:28:48] [ROWS] 3: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=2 textLen=2
[11:28:48] [ROWS] 4: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:28:48] [ROWS] 5: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:48] [ROWS] 6: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:48] [ROWS] 7: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:48] [ROWS] 8: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:48] [ROWS] 9: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:48] [ROWS] 10: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:48] [ROWS] 11: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:48] [ROWS] 12: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:28:48] [ROWS] 13: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:48] [ROWS] 14: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:48] [ROWS] 15: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:48] [ROWS] 16: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:48] [ROWS] 17: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:48] [ROWS] 18: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:48] [ROWS] 19: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:28:48] [ROWS] 20: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:48] [ROWS] 21: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:48] [ROWS] 22: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:48] [ROWS] 23: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:48] [ROWS] 24: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:48] [ROWS] 25: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:48] [ROWS] 26: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:48] [ROWS] 27: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:48] [ROWS] 28: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:48] [ROWS] 29: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:48] [ROWS] 30: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:48] [ROWS] 31: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:48] [ROWS] 32: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:48] [ROWS] 33: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:48] [ROWS] 34: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:48] [ROWS] 35: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:48] [ROWS] 36: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:48] [ROWS] 37: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:48] [ROWS] 38: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:28:48] [ROWS] 39: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:48] [ROWS] 40: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:48] [ROWS] 41: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:48] [ROWS] 42: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:48] [ROWS] 43: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:48] [ROWS] 44: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:48] [ROWS] 45: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:48] [ROWS] 46: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:48] [ROWS] 47: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:48] [ROWS] 48: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:48] [ROWS] 49: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:48] [ROWS] 50: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:48] [ROWS] 51: SEPARATOR
[11:28:48] [ROWS] 52: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:48] [ROWS] ===== END (updateMessageCell for 1612) =====
[11:28:48] [HEIGHT_DEBUG] Row 1 msg 1612: isPlayingEvolution=true, textLength=4, text='TRPO...'
[11:28:48] [HEIGHT] Row 1 msg 1612: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:48] [HEIGHT_DEBUG] Row 2 msg 1611: isPlayingEvolution=false, textLength=4, text='DEUX...'
[11:28:48] [HEIGHT] Row 2 msg 1611: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:48] [HEIGHT_DEBUG] Row 1 msg 1612: isPlayingEvolution=true, textLength=4, text='TRPO...'
[11:28:48] [HEIGHT] Row 1 msg 1612: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:48] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:28:48] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:28:48] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:48] [HEIGHT_DEBUG] Row 2 msg 1611: isPlayingEvolution=false, textLength=4, text='DEUX...'
[11:28:48] [HEIGHT] Row 2 msg 1611: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:48] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:48] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:48] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:48] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:48] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:48] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:48] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:48] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:48] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:48] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:48] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:48] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:48] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:48] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:48] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:48] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:48] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:48] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:48] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:48] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:48] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:48] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:48] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:48] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:48] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:48] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:48] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:48] [EVOLUTION] πŸ“ Event 4/7 - Text now: "TRPOS..."
[11:28:48] [UPDATE] πŸ”„ updateMessageCell(for: 1612) β€” full safe reload
[11:28:48] [ROWS] ===== updateMessageCell for 1612 β€” chatRows.count=53 =====
[11:28:48] [ROWS] 0: SEPARATOR
[11:28:48] [ROWS] 1: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=5 textLen=5
[11:28:48] [ROWS] 2: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=4 textLen=4
[11:28:48] [ROWS] 3: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=2 textLen=2
[11:28:48] [ROWS] 4: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:28:48] [ROWS] 5: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:48] [ROWS] 6: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:48] [ROWS] 7: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:48] [ROWS] 8: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:48] [ROWS] 9: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:48] [ROWS] 10: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:48] [ROWS] 11: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:48] [ROWS] 12: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:28:48] [ROWS] 13: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:48] [ROWS] 14: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:48] [ROWS] 15: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:48] [ROWS] 16: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:48] [ROWS] 17: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:48] [ROWS] 18: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:48] [ROWS] 19: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:28:48] [ROWS] 20: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:48] [ROWS] 21: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:48] [ROWS] 22: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:48] [ROWS] 23: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:48] [ROWS] 24: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:48] [ROWS] 25: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:48] [ROWS] 26: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:48] [ROWS] 27: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:48] [ROWS] 28: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:48] [ROWS] 29: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:48] [ROWS] 30: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:48] [ROWS] 31: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:48] [ROWS] 32: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:48] [ROWS] 33: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:48] [ROWS] 34: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:48] [ROWS] 35: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:48] [ROWS] 36: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:48] [ROWS] 37: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:48] [ROWS] 38: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:28:48] [ROWS] 39: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:48] [ROWS] 40: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:48] [ROWS] 41: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:48] [ROWS] 42: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:48] [ROWS] 43: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:48] [ROWS] 44: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:48] [ROWS] 45: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:48] [ROWS] 46: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:48] [ROWS] 47: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:48] [ROWS] 48: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:48] [ROWS] 49: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:48] [ROWS] 50: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:48] [ROWS] 51: SEPARATOR
[11:28:48] [ROWS] 52: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:48] [ROWS] ===== END (updateMessageCell for 1612) =====
[11:28:48] [HEIGHT_DEBUG] Row 1 msg 1612: isPlayingEvolution=true, textLength=5, text='TRPOS...'
[11:28:48] [HEIGHT] Row 1 msg 1612: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:48] [HEIGHT_DEBUG] Row 2 msg 1611: isPlayingEvolution=false, textLength=4, text='DEUX...'
[11:28:48] [HEIGHT] Row 2 msg 1611: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:48] [HEIGHT_DEBUG] Row 1 msg 1612: isPlayingEvolution=true, textLength=5, text='TRPOS...'
[11:28:48] [HEIGHT] Row 1 msg 1612: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:48] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:28:48] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:28:48] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:48] [HEIGHT_DEBUG] Row 2 msg 1611: isPlayingEvolution=false, textLength=4, text='DEUX...'
[11:28:48] [HEIGHT] Row 2 msg 1611: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:48] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:48] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:48] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:48] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:48] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:48] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:48] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:48] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:48] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:48] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:48] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:48] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:48] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:48] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:48] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:48] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:48] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:48] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:48] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:48] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:48] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:48] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:48] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:48] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:48] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:48] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:48] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:49] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:28:49] Will get events_php
[11:28:49] [TYPING] πŸ”„ ========== POLL START ==========
[11:28:49] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:28:49] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:28:49] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:28:49] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:28:49] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:28:49] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:28:49] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:28:49] [TYPING] πŸ“₯ Found 0 typing users in response
[11:28:49] [TYPING] πŸ“₯ Updating typing users SET: []
[11:28:49] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:28:49] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:28:49] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:28:49] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:28:49] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:28:49] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:28:49] [TYPING] πŸ”„ ========== POLL END ==========
[11:28:49] [EVT] get_events.php HTTP 200
── Response Headers ──
X-Powered-By: PHP/8.4.14
Content-Length: 130
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Content-Type: application/json; charset=utf-8
Connection: Keep-Alive
Keep-Alive: timeout=5, max=89
Date: Sun, 16 Nov 2025 10:28:49 GMT
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":1,"events":[{"event_id":10692,"event_type":3,"message_id":1612,"session_id":"ILUIWU2"}]}
[11:28:49] Done
[11:28:49] [EVOLUTION] πŸ“ Event 5/7 - Text now: "TRPOS
..."
[11:28:49] [UPDATE] πŸ”„ updateMessageCell(for: 1612) β€” full safe reload
[11:28:49] [ROWS] ===== updateMessageCell for 1612 β€” chatRows.count=53 =====
[11:28:49] [ROWS] 0: SEPARATOR
[11:28:49] [ROWS] 1: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=6 textLen=5
[11:28:49] [ROWS] 2: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=4 textLen=4
[11:28:49] [ROWS] 3: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=2 textLen=2
[11:28:49] [ROWS] 4: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:28:49] [ROWS] 5: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:49] [ROWS] 6: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:49] [ROWS] 7: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:49] [ROWS] 8: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:49] [ROWS] 9: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:49] [ROWS] 10: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:49] [ROWS] 11: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:49] [ROWS] 12: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:28:49] [ROWS] 13: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:49] [ROWS] 14: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:49] [ROWS] 15: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:49] [ROWS] 16: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:49] [ROWS] 17: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:49] [ROWS] 18: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:49] [ROWS] 19: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:28:49] [ROWS] 20: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:49] [ROWS] 21: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:49] [ROWS] 22: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:49] [ROWS] 23: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:49] [ROWS] 24: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:49] [ROWS] 25: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:49] [ROWS] 26: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:49] [ROWS] 27: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:49] [ROWS] 28: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:49] [ROWS] 29: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:49] [ROWS] 30: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:49] [ROWS] 31: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:49] [ROWS] 32: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:49] [ROWS] 33: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:49] [ROWS] 34: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:49] [ROWS] 35: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:49] [ROWS] 36: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:49] [ROWS] 37: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:49] [ROWS] 38: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:28:49] [ROWS] 39: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:49] [ROWS] 40: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:49] [ROWS] 41: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:49] [ROWS] 42: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:49] [ROWS] 43: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:49] [ROWS] 44: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:49] [ROWS] 45: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:49] [ROWS] 46: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:49] [ROWS] 47: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:49] [ROWS] 48: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:49] [ROWS] 49: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:49] [ROWS] 50: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:49] [ROWS] 51: SEPARATOR
[11:28:49] [ROWS] 52: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:49] [ROWS] ===== END (updateMessageCell for 1612) =====
[11:28:49] [HEIGHT_DEBUG] Row 1 msg 1612: isPlayingEvolution=true, textLength=6, text='TRPOS
...'
[11:28:49] [HEIGHT] Row 1 msg 1612: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:49] [HEIGHT_DEBUG] Row 2 msg 1611: isPlayingEvolution=false, textLength=4, text='DEUX...'
[11:28:49] [HEIGHT] Row 2 msg 1611: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:49] [HEIGHT_DEBUG] Row 1 msg 1612: isPlayingEvolution=true, textLength=6, text='TRPOS
...'
[11:28:49] [HEIGHT] Row 1 msg 1612: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:49] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:28:49] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=63.0 bubbleBottom=92.0 cellHeight=96.0 remainingSpace=4.0
[11:28:49] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 38.333333333333336)
[11:28:49] [HEIGHT_DEBUG] Row 2 msg 1611: isPlayingEvolution=false, textLength=4, text='DEUX...'
[11:28:49] [HEIGHT] Row 2 msg 1611: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:49] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:49] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:49] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:49] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:49] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:49] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:49] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:49] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:49] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:49] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:49] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:49] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:49] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:49] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:49] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:49] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:49] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:49] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:49] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:49] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:49] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:49] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:49] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:49] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:49] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:49] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:49] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:50] [EVOLUTION] πŸ“ Event 6/7 - Text now: "TRPOS..."
[11:28:50] [UPDATE] πŸ”„ updateMessageCell(for: 1612) β€” full safe reload
[11:28:50] [ROWS] ===== updateMessageCell for 1612 β€” chatRows.count=53 =====
[11:28:50] [ROWS] 0: SEPARATOR
[11:28:50] [ROWS] 1: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=5 textLen=5
[11:28:50] [ROWS] 2: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=4 textLen=4
[11:28:50] [ROWS] 3: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=2 textLen=2
[11:28:50] [ROWS] 4: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:28:50] [ROWS] 5: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:50] [ROWS] 6: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:50] [ROWS] 7: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:50] [ROWS] 8: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:50] [ROWS] 9: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:50] [ROWS] 10: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:50] [ROWS] 11: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:50] [ROWS] 12: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:28:50] [ROWS] 13: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:50] [ROWS] 14: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:50] [ROWS] 15: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:50] [ROWS] 16: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:50] [ROWS] 17: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:50] [ROWS] 18: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:50] [ROWS] 19: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:28:50] [ROWS] 20: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:50] [ROWS] 21: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:50] [ROWS] 22: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:50] [ROWS] 23: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:50] [ROWS] 24: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:50] [ROWS] 25: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:50] [ROWS] 26: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:50] [ROWS] 27: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:50] [ROWS] 28: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:50] [ROWS] 29: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:50] [ROWS] 30: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:50] [ROWS] 31: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:50] [ROWS] 32: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:50] [ROWS] 33: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:50] [ROWS] 34: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:50] [ROWS] 35: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:50] [ROWS] 36: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:50] [ROWS] 37: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:50] [ROWS] 38: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:28:50] [ROWS] 39: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:50] [ROWS] 40: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:50] [ROWS] 41: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:50] [ROWS] 42: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:50] [ROWS] 43: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:50] [ROWS] 44: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:50] [ROWS] 45: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:50] [ROWS] 46: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:50] [ROWS] 47: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:50] [ROWS] 48: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:50] [ROWS] 49: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:50] [ROWS] 50: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:50] [ROWS] 51: SEPARATOR
[11:28:50] [ROWS] 52: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:50] [ROWS] ===== END (updateMessageCell for 1612) =====
[11:28:50] [HEIGHT_DEBUG] Row 1 msg 1612: isPlayingEvolution=true, textLength=5, text='TRPOS...'
[11:28:50] [HEIGHT] Row 1 msg 1612: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:50] [HEIGHT_DEBUG] Row 2 msg 1611: isPlayingEvolution=false, textLength=4, text='DEUX...'
[11:28:50] [HEIGHT] Row 2 msg 1611: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:50] [HEIGHT_DEBUG] Row 1 msg 1612: isPlayingEvolution=true, textLength=5, text='TRPOS...'
[11:28:50] [HEIGHT] Row 1 msg 1612: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:50] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:28:50] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:28:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:50] [HEIGHT_DEBUG] Row 2 msg 1611: isPlayingEvolution=false, textLength=4, text='DEUX...'
[11:28:50] [HEIGHT] Row 2 msg 1611: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:50] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:50] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:50] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:50] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:50] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:50] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:50] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:50] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:50] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:50] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:50] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:50] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:50] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:50] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:50] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:50] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:50] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:50] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:50] [EVOLUTION_SEQ] ⏱️ t=1763288930.192 βœ… Finished message 1612 - duration=0.00s, length=5 chars, speed=inf chars/s
[11:28:50] [UPDATE] πŸ”„ updateMessageCell(for: 1612) β€” full safe reload
[11:28:50] [ROWS] ===== updateMessageCell for 1612 β€” chatRows.count=53 =====
[11:28:50] [ROWS] 0: SEPARATOR
[11:28:50] [ROWS] 1: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=5 textLen=5
[11:28:50] [ROWS] 2: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=4 textLen=4
[11:28:50] [ROWS] 3: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=2 textLen=2
[11:28:50] [ROWS] 4: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:28:50] [ROWS] 5: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:50] [ROWS] 6: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:50] [ROWS] 7: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:50] [ROWS] 8: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:50] [ROWS] 9: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:50] [ROWS] 10: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:50] [ROWS] 11: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:50] [ROWS] 12: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:28:50] [ROWS] 13: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:50] [ROWS] 14: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:50] [ROWS] 15: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:50] [ROWS] 16: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:50] [ROWS] 17: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:50] [ROWS] 18: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:50] [ROWS] 19: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:28:50] [ROWS] 20: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:50] [ROWS] 21: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:50] [ROWS] 22: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:50] [ROWS] 23: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:50] [ROWS] 24: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:50] [ROWS] 25: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:50] [ROWS] 26: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:50] [ROWS] 27: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:50] [ROWS] 28: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:50] [ROWS] 29: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:50] [ROWS] 30: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:50] [ROWS] 31: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:50] [ROWS] 32: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:50] [ROWS] 33: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:50] [ROWS] 34: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:50] [ROWS] 35: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:50] [ROWS] 36: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:50] [ROWS] 37: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:50] [ROWS] 38: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:28:50] [ROWS] 39: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:50] [ROWS] 40: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:50] [ROWS] 41: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:50] [ROWS] 42: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:50] [ROWS] 43: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:50] [ROWS] 44: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:50] [ROWS] 45: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:50] [ROWS] 46: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:50] [ROWS] 47: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:50] [ROWS] 48: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:50] [ROWS] 49: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:50] [ROWS] 50: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:50] [ROWS] 51: SEPARATOR
[11:28:50] [ROWS] 52: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:50] [ROWS] ===== END (updateMessageCell for 1612) =====
[11:28:50] [HEIGHT_DEBUG] Row 1 msg 1612: isPlayingEvolution=false, textLength=5, text='TRPOS...'
[11:28:50] [HEIGHT] Row 1 msg 1612: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:50] [HEIGHT_DEBUG] Row 2 msg 1611: isPlayingEvolution=false, textLength=4, text='DEUX...'
[11:28:50] [HEIGHT] Row 2 msg 1611: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:50] [HEIGHT_DEBUG] Row 1 msg 1612: isPlayingEvolution=false, textLength=5, text='TRPOS...'
[11:28:50] [HEIGHT] Row 1 msg 1612: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:50] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:28:50] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:28:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:50] [HEIGHT_DEBUG] Row 2 msg 1611: isPlayingEvolution=false, textLength=4, text='DEUX...'
[11:28:50] [HEIGHT] Row 2 msg 1611: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:50] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:50] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:50] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:50] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:50] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:50] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:50] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:50] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:50] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:50] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:50] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:50] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:50] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:50] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:50] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:50] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:50] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:50] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:50] [EVOLUTION_SEQ] ⏱️ t=1763288930.207 βœ… All queued messages have been played
[11:28:51] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:28:51] Will get events_php
[11:28:51] [TYPING] πŸ”„ ========== POLL START ==========
[11:28:51] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:28:51] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:28:51] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:28:51] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:28:51] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:28:51] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:28:51] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok, "sessionId": ILUIWU2]
[11:28:51] [TYPING] πŸ“₯ Found 0 typing users in response
[11:28:51] [TYPING] πŸ“₯ Updating typing users SET: []
[11:28:51] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:28:51] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:28:51] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:28:51] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:28:51] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:28:51] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:28:51] [TYPING] πŸ”„ ========== POLL END ==========
[11:28:51] [EVT] get_events.php HTTP 200
── Response Headers ──
X-Powered-By: PHP/8.4.14
Content-Length: 56
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Content-Type: application/json; charset=utf-8
Connection: Keep-Alive
Keep-Alive: timeout=5, max=87
Date: Sun, 16 Nov 2025 10:28:51 GMT
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:28:51] Done
[11:28:51] Main
[11:28:56] [CRASH] Previous session did not exit cleanly - crash detected
[11:28:56] [GIPHY] SDK not available - using REST API fallback
[11:28:56] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:28:56] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:28:56] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:28:56] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:28:56] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:28:56] [SCENE] Launched directly to chat view with sessionId: ILUIWU2
[11:28:56] [PUSH] APNs token: 6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c
[11:28:57] [PUSH] Device role updated to 'viewer': HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:28:57] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:28:57] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:28:57] Documents Directory: /var/mobile/Containers/Data/Application/13D90923-431D-42FE-82D3-D8E143A0AF38/Documents
[11:28:57] [NOTIFICATION] πŸ”” Notification button created and added to topNavBar
[11:28:57] [NOTIFICATION] πŸ”” Button tintColor: grey (0.5, 0.5, 0.5)
[11:28:57] [NOTIFICATION] πŸ”” Button isUserInteractionEnabled: true
[11:28:57] [INFO_PAGE] InformationViewController viewDidLoad called
[11:28:57] [INFO_PAGE] Actions configured (bell button is external)
[11:28:57] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:28:57] [INFO_PAGE] Successfully opened database at /var/mobile/Containers/Data/Application/13D90923-431D-42FE-82D3-D8E143A0AF38/Documents/chat_local_viewer.db
[11:28:57] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:28:57] [INFO_PAGE] Found 427 messages for session 'ILUIWU2'
[11:28:57] [INFO_PAGE] Total messages in database: 1193
[11:28:57] [INFO_PAGE] InformationViewController setup complete
[11:28:57] [INFO_PAGE] ℹ️ Information page added to tab 3
[11:28:57] [THEME] Applying current theme
[11:28:57] [CHAT] Applied day theme (mode: day)
[11:28:57] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:28:57] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:28:57] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:28:57] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:28:57] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:28:57] [SUMMARY] Already showed summary today (2025-11-16)
[11:28:57] Did transition
[11:28:57] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:28:57] [VIEWER] Screen lock enabled - normal idle behavior
[11:28:57] [QUERY] πŸ” Checking tab - currentTabIndex=0
[11:28:57] [QUERY] πŸ”΅ [TAB 0] No query connection needed
[11:28:57] [QUERY] βœ… [TAB 0] Initialized without query connection
[11:28:57] [LOCATION] Started location updates for distance calculation (already authorized)
[11:28:57] [TAB 0] Skipping reconnect polling - only needed for tab 1
[11:28:57] [VIEWER_INIT] Loading messages with read receipts from server
[11:28:57] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:28:57] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:28:57] [DB]   msg[0] id=1612, isMyMessage=false, readBy.count=0
[11:28:57] [DB]   msg[1] id=1611, isMyMessage=false, readBy.count=0
[11:28:57] [DB]   msg[2] id=1610, isMyMessage=false, readBy.count=0
[11:28:57] [EVOLUTION] πŸ” Found 0 NEW unread messages from local DB before fetching read receipts (lastSeenMessageId=1612): []
[11:28:57] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1612, readBy=[]", "id=1611, readBy=[]", "id=1610, readBy=[]"]
[11:28:57] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:28:57] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:28:57] [DB]   msg[0] id=1612, isMyMessage=false, readBy.count=0
[11:28:57] [DB]   msg[1] id=1611, isMyMessage=false, readBy.count=0
[11:28:57] [DB]   msg[2] id=1610, isMyMessage=false, readBy.count=0
[11:28:57] [EVENT_POLL] Starting periodic event polling for viewer mode (5s interval)
[11:28:57] [ORIENTATION] Updated pagingScrollView height to 247.5 for width 440.0
[11:28:57] [SUMMARY] Already showed summary today (2025-11-16)
[11:28:57] Did transition
[11:28:57] [NOTIFICATION] πŸ”” Constraints activated for notification button
[11:28:57] [NOTIFICATION] πŸ”” topNavBar frame: (0.0, 0.0, 440.0, 50.0)
[11:28:57] [NOTIFICATION] πŸ”” menuButton frame: (0.0, 0.0, 39.0, 30.0)
[11:28:57] [NOTIFICATION] πŸ”” notificationButton frame: (0.0, 0.0, 56.333333333333336, 58.0)
[11:28:57] [NOTIFICATION] πŸ”” Notification button brought to front
[11:28:57] [NOTIFICATION] πŸ”„ Updating icon to: bell.slash.fill (muted=true)
[11:28:57] [NOTIFICATION] βœ… Icon updated successfully
[11:28:57] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[11:28:57] [MIGRATION] No messages need sender_name backfill
[11:28:57] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:28:57] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:28:57] [DB]   msg[0] id=1612, isMyMessage=false, readBy.count=0
[11:28:57] [DB]   msg[1] id=1611, isMyMessage=false, readBy.count=0
[11:28:57] [DB]   msg[2] id=1610, isMyMessage=false, readBy.count=0
[11:28:57] [INFO_PAGE] InformationViewController viewWillAppear - applying theme
[11:28:57] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:28:57] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:28:57] [PAGINATION_SCROLL] offset=-12.0, contentHeight=108.0, distFromBottom=120.0, dragging=false, decel=false, isLoading=false, cooldown=63899058537.81558s
[11:28:57] [PAGINATION_SCROLL] offset=0.0, contentHeight=108.0, distFromBottom=-650.0, dragging=false, decel=false, isLoading=false, cooldown=63899058537.81679s
[11:28:57] [LOCATION] Authorization changed: 4
[11:28:57] [NOTIFICATION] πŸ”” FINAL STATE after viewDidLoad:
[11:28:57] [NOTIFICATION] πŸ”” notificationButton.frame: (392.0, 67.0, 40.0, 40.0)
[11:28:57] [NOTIFICATION] πŸ”” notificationButton.isHidden: false
[11:28:57] [NOTIFICATION] πŸ”” notificationButton.alpha: 1.0
[11:28:57] [NOTIFICATION] πŸ”” notificationButton.superview: true
[11:28:57] [NOTIFICATION] πŸ”” topNavBar.isHidden: false
[11:28:57] [NOTIFICATION] πŸ”” topNavBar.subviews.count: 3
[11:28:58] [PUSH] Device role updated to 'viewer': HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:28:58] [USER] βœ… User registered successfully
[11:28:58] [USER] User registration successful
[11:28:58] [CHAT] βœ… refreshAllFromServer - parsed 428 messages from server
[11:28:58] [DB] clearDBForSession(ILUIWU2): deleted 427 messages, result=101
[11:28:58] ReloadData 15 (428 messages loaded, 0 pending media)
[11:28:58] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:28:58] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:28:58] [DB]   msg[0] id=1613, isMyMessage=false, readBy.count=0
[11:28:58] [DB]   msg[1] id=1612, isMyMessage=false, readBy.count=0
[11:28:58] [DB]   msg[2] id=1611, isMyMessage=false, readBy.count=0
[11:28:58] [EVOLUTION] πŸ” Found 1 NEW unread messages after refreshAllFromServer (lastSeenMessageId=1612): [1613]
[11:28:58] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1613, readBy=[]", "id=1612, readBy=[]", "id=1611, readBy=[]"]
[11:28:58] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:28:58] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:28:58] [DB]   msg[0] id=1613, isMyMessage=false, readBy.count=0
[11:28:58] [DB]   msg[1] id=1612, isMyMessage=false, readBy.count=0
[11:28:58] [DB]   msg[2] id=1611, isMyMessage=false, readBy.count=0
[11:28:58] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:28:58] [UNREAD_DEBUG]   FINAL msg[0] id=1612, readBy.count=1
[11:28:58] [UNREAD_DEBUG]   FINAL msg[1] id=1611, readBy.count=1
[11:28:58] [UNREAD_DEBUG]   FINAL msg[2] id=1610, readBy.count=1
[11:28:58] [VIEWER_INIT] Loaded 50 messages with read receipts, hasMore: true
[11:28:58] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:28:58] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:28:58] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:28:58] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=51 =====
[11:28:58] [ROWS] 0: SEPARATOR
[11:28:58] [ROWS] 1: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:58] [ROWS] 2: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:58] [ROWS] 3: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:28:58] [ROWS] 4: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:28:58] [ROWS] 5: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:58] [ROWS] 6: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:58] [ROWS] 7: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:58] [ROWS] 8: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:58] [ROWS] 9: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:58] [ROWS] 10: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:58] [ROWS] 11: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:58] [ROWS] 12: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:28:58] [ROWS] 13: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:58] [ROWS] 14: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:58] [ROWS] 15: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:58] [ROWS] 16: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:58] [ROWS] 17: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:58] [ROWS] 18: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:58] [ROWS] 19: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:28:58] [ROWS] 20: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:58] [ROWS] 21: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:58] [ROWS] 22: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:58] [ROWS] 23: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:58] [ROWS] 24: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:58] [ROWS] 25: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:58] [ROWS] 26: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:58] [ROWS] 27: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:58] [ROWS] 28: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:58] [ROWS] 29: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:58] [ROWS] 30: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:58] [ROWS] 31: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:58] [ROWS] 32: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:58] [ROWS] 33: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:58] [ROWS] 34: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:58] [ROWS] 35: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:58] [ROWS] 36: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:58] [ROWS] 37: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:58] [ROWS] 38: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:28:58] [ROWS] 39: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:58] [ROWS] 40: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:58] [ROWS] 41: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:58] [ROWS] 42: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:58] [ROWS] 43: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:58] [ROWS] 44: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:58] [ROWS] 45: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:58] [ROWS] 46: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:58] [ROWS] 47: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:58] [ROWS] 48: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:58] [ROWS] 49: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:58] [ROWS] 50: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:58] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:28:58] [TAB_FILTER] πŸ“Š Reloading table with 51 rows
[11:28:58] [HEIGHT_DEBUG] Row 1 msg 1612: isPlayingEvolution=false, textLength=5, text='TRPOS...'
[11:28:58] [EMOJI] βœ… Loaded 451 emoji-to-GIF mappings
[11:28:58] [HEIGHT] Row 1 msg 1612: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:58] [HEIGHT_DEBUG] Row 2 msg 1611: isPlayingEvolution=false, textLength=4, text='DEUX...'
[11:28:58] [HEIGHT] Row 2 msg 1611: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:58] [HEIGHT_DEBUG] Row 1 msg 1612: isPlayingEvolution=false, textLength=5, text='TRPOS...'
[11:28:58] [HEIGHT] Row 1 msg 1612: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:58] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:28:58] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:28:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:58] [HEIGHT_DEBUG] Row 2 msg 1611: isPlayingEvolution=false, textLength=4, text='DEUX...'
[11:28:58] [HEIGHT] Row 2 msg 1611: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:58] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:58] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:58] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:58] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:58] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:58] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:58] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:58] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:58] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:58] [BADGES] Chat tab unread: 1, Slave tab unread: 0, current tab: 0
[11:28:58] ReloadData 18 (viewer init with read receipts)
[11:28:58] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:28:58] [UNREAD_DEBUG]   FINAL msg[0] id=1612, readBy.count=1
[11:28:58] [UNREAD_DEBUG]   FINAL msg[1] id=1611, readBy.count=1
[11:28:58] [UNREAD_DEBUG]   FINAL msg[2] id=1610, readBy.count=1
[11:28:58] [EVOLUTION_SEQ] πŸš€ FUNCTION CALLED with 0 message IDs: []
[11:28:58] [EVOLUTION_SEQ] πŸ“­ No unread message IDs provided for evolution playback
[11:28:58] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:28:58] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:28:58] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:28:58] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=51 =====
[11:28:58] [ROWS] 0: SEPARATOR
[11:28:58] [ROWS] 1: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:58] [ROWS] 2: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:58] [ROWS] 3: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:28:58] [ROWS] 4: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:28:58] [ROWS] 5: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:58] [ROWS] 6: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:58] [ROWS] 7: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:58] [ROWS] 8: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:58] [ROWS] 9: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:58] [ROWS] 10: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:58] [ROWS] 11: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:58] [ROWS] 12: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:28:58] [ROWS] 13: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:58] [ROWS] 14: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:58] [ROWS] 15: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:58] [ROWS] 16: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:58] [ROWS] 17: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:58] [ROWS] 18: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:58] [ROWS] 19: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:28:58] [ROWS] 20: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:58] [ROWS] 21: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:58] [ROWS] 22: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:58] [ROWS] 23: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:58] [ROWS] 24: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:58] [ROWS] 25: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:58] [ROWS] 26: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:58] [ROWS] 27: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:58] [ROWS] 28: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:58] [ROWS] 29: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:58] [ROWS] 30: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:28:58] [ROWS] 31: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:58] [ROWS] 32: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:28:58] [ROWS] 33: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:58] [ROWS] 34: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:28:58] [ROWS] 35: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:28:58] [ROWS] 36: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:58] [ROWS] 37: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:28:58] [ROWS] 38: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:28:58] [ROWS] 39: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:58] [ROWS] 40: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:28:58] [ROWS] 41: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:58] [ROWS] 42: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:28:58] [ROWS] 43: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:28:58] [ROWS] 44: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:28:58] [ROWS] 45: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:58] [ROWS] 46: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:58] [ROWS] 47: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:58] [ROWS] 48: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:58] [ROWS] 49: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:58] [ROWS] 50: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:28:58] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:28:58] [TAB_FILTER] πŸ“Š Reloading table with 51 rows
[11:28:58] [HEIGHT_DEBUG] Row 1 msg 1612: isPlayingEvolution=false, textLength=5, text='TRPOS...'
[11:28:58] [HEIGHT] Row 1 msg 1612: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:58] [HEIGHT_DEBUG] Row 2 msg 1611: isPlayingEvolution=false, textLength=4, text='DEUX...'
[11:28:58] [HEIGHT] Row 2 msg 1611: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:58] [HEIGHT_DEBUG] Row 1 msg 1612: isPlayingEvolution=false, textLength=5, text='TRPOS...'
[11:28:58] [HEIGHT] Row 1 msg 1612: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:28:58] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:28:58] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:28:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:58] [HEIGHT_DEBUG] Row 2 msg 1611: isPlayingEvolution=false, textLength=4, text='DEUX...'
[11:28:58] [HEIGHT] Row 2 msg 1611: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:28:58] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:58] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:58] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:58] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:59] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:59] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:59] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:59] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:59] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:28:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:28:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:28:59] [BADGES] Chat tab unread: 1, Slave tab unread: 0, current tab: 0
[11:28:59] [INIT_PAGINATION] Loaded 50 total messages, displaying 50 for tab 0
[11:28:59] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 1614, AnyHashable("session_id"): ILUIWU2]
[11:28:59] [PUSH] Parsed message_id: 1614
[11:28:59] [PUSH] Parsed operation_type: 0
[11:28:59] [PUSH] Taking direct action: opType=0, messageId=1614
[11:28:59] [PUSH] TakeActionFromPush called: OperationType=0, MessageIds=1614
[11:28:59] [PUSH] Handling message fetch for opType=0, messageId=1614
[11:28:59] [PUSH] Requesting URL: http://crivello.dyndns.org:81/WebRTC/chat/chat_get_messages.php?session_id=ILUIWU2&viewer=1&messages=1614
[11:28:59] [LOCATION] Failed to get location: The operation couldn’t be completed. (kCLErrorDomain error 1.)
[11:28:59] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:28:59] Will get events_php
[11:28:59] [TYPING] πŸ”„ ========== POLL START ==========
[11:28:59] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:28:59] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:28:59] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:28:59] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:28:59] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:28:59] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:28:59] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:28:59] [TYPING] πŸ“₯ Found 0 typing users in response
[11:28:59] [TYPING] πŸ“₯ Updating typing users SET: []
[11:28:59] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:28:59] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:28:59] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:28:59] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:28:59] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:28:59] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:28:59] [TYPING] πŸ”„ ========== POLL END ==========
[11:28:59] [EVT] get_events.php HTTP 200
── Response Headers ──
Date: Sun, 16 Nov 2025 10:28:59 GMT
X-Powered-By: PHP/8.4.14
Content-Type: application/json; charset=utf-8
Connection: Keep-Alive
Content-Length: 205
Keep-Alive: timeout=5, max=97
Server: Apache/2.4.65 (Unix) PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":2,"events":[{"event_id":10694,"event_type":3,"message_id":1613,"session_id":"ILUIWU2"},{"event_id":10696,"event_type":3,"message_id":1614,"session_id":"ILUIWU2"}]}
[11:28:59] Done
[11:29:00] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 1614, AnyHashable("session_id"): ILUIWU2]
[11:29:00] [PUSH] Parsed message_id: 1614
[11:29:00] [PUSH] Parsed operation_type: 3
[11:29:00] [PUSH] Taking direct action: opType=3, messageId=1614
[11:29:00] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=1614
[11:29:02] [CRASH] Previous session did not exit cleanly - crash detected
[11:29:02] [GIPHY] SDK not available - using REST API fallback
[11:29:02] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:29:02] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:29:02] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:29:02] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:29:02] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:29:02] [SCENE] Launched directly to chat view with sessionId: ILUIWU2
[11:29:02] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:29:02] Documents Directory: /var/mobile/Containers/Data/Application/99E50E02-72C6-420A-A726-B45A9E3AAB91/Documents
[11:29:02] [NOTIFICATION] πŸ”” Notification button created and added to topNavBar
[11:29:02] [NOTIFICATION] πŸ”” Button tintColor: grey (0.5, 0.5, 0.5)
[11:29:02] [NOTIFICATION] πŸ”” Button isUserInteractionEnabled: true
[11:29:02] [INFO_PAGE] InformationViewController viewDidLoad called
[11:29:02] [INFO_PAGE] Actions configured (bell button is external)
[11:29:02] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:29:02] [INFO_PAGE] Successfully opened database at /var/mobile/Containers/Data/Application/99E50E02-72C6-420A-A726-B45A9E3AAB91/Documents/chat_local_viewer.db
[11:29:02] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:29:02] [INFO_PAGE] Found 428 messages for session 'ILUIWU2'
[11:29:02] [INFO_PAGE] Total messages in database: 1194
[11:29:02] [INFO_PAGE] InformationViewController setup complete
[11:29:02] [INFO_PAGE] ℹ️ Information page added to tab 3
[11:29:02] [THEME] Applying current theme
[11:29:02] [CHAT] Applied day theme (mode: day)
[11:29:02] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:29:02] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:29:02] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:29:02] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:29:02] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:29:02] [SUMMARY] Already showed summary today (2025-11-16)
[11:29:02] Did transition
[11:29:02] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:29:02] [VIEWER] Screen lock enabled - normal idle behavior
[11:29:02] [QUERY] πŸ” Checking tab - currentTabIndex=0
[11:29:02] [QUERY] πŸ”΅ [TAB 0] No query connection needed
[11:29:02] [QUERY] βœ… [TAB 0] Initialized without query connection
[11:29:02] [LOCATION] Started location updates for distance calculation (already authorized)
[11:29:02] [TAB 0] Skipping reconnect polling - only needed for tab 1
[11:29:02] [VIEWER_INIT] Loading messages with read receipts from server
[11:29:02] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:29:02] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:29:02] [DB]   msg[0] id=1613, isMyMessage=false, readBy.count=0
[11:29:02] [DB]   msg[1] id=1612, isMyMessage=false, readBy.count=0
[11:29:02] [DB]   msg[2] id=1611, isMyMessage=false, readBy.count=0
[11:29:02] [EVOLUTION] πŸ” Found 1 NEW unread messages from local DB before fetching read receipts (lastSeenMessageId=1612): [1613]
[11:29:02] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1613, readBy=[]", "id=1612, readBy=[]", "id=1611, readBy=[]"]
[11:29:02] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:29:02] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:29:02] [DB]   msg[0] id=1613, isMyMessage=false, readBy.count=0
[11:29:02] [DB]   msg[1] id=1612, isMyMessage=false, readBy.count=0
[11:29:02] [DB]   msg[2] id=1611, isMyMessage=false, readBy.count=0
[11:29:02] [EVENT_POLL] Starting periodic event polling for viewer mode (5s interval)
[11:29:02] [ORIENTATION] Updated pagingScrollView height to 247.5 for width 440.0
[11:29:02] [SUMMARY] Already showed summary today (2025-11-16)
[11:29:02] Did transition
[11:29:02] [NOTIFICATION] πŸ”” Constraints activated for notification button
[11:29:02] [NOTIFICATION] πŸ”” topNavBar frame: (0.0, 0.0, 440.0, 50.0)
[11:29:02] [NOTIFICATION] πŸ”” menuButton frame: (0.0, 0.0, 39.0, 30.0)
[11:29:02] [NOTIFICATION] πŸ”” notificationButton frame: (0.0, 0.0, 56.333333333333336, 58.0)
[11:29:02] [NOTIFICATION] πŸ”” Notification button brought to front
[11:29:02] [NOTIFICATION] πŸ”„ Updating icon to: bell.slash.fill (muted=true)
[11:29:02] [NOTIFICATION] βœ… Icon updated successfully
[11:29:02] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[11:29:02] [MIGRATION] No messages need sender_name backfill
[11:29:02] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:29:02] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:29:02] [DB]   msg[0] id=1613, isMyMessage=false, readBy.count=0
[11:29:02] [DB]   msg[1] id=1612, isMyMessage=false, readBy.count=0
[11:29:02] [DB]   msg[2] id=1611, isMyMessage=false, readBy.count=0
[11:29:02] [INFO_PAGE] InformationViewController viewWillAppear - applying theme
[11:29:02] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:29:02] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:29:02] [PAGINATION_SCROLL] offset=-12.0, contentHeight=108.0, distFromBottom=120.0, dragging=false, decel=false, isLoading=false, cooldown=63899058542.94103s
[11:29:02] [PAGINATION_SCROLL] offset=0.0, contentHeight=108.0, distFromBottom=-650.0, dragging=false, decel=false, isLoading=false, cooldown=63899058542.94295s
[11:29:02] [LOCATION] Authorization changed: 4
[11:29:02] [LOCATION] Updated location: 46.50141059082068, 6.72269376764521
[11:29:02] [LOCATION] Updated location: 46.50141059082068, 6.72269376764521
[11:29:02] [NOTIFICATION] πŸ”” FINAL STATE after viewDidLoad:
[11:29:02] [NOTIFICATION] πŸ”” notificationButton.frame: (392.0, 67.0, 40.0, 40.0)
[11:29:02] [NOTIFICATION] πŸ”” notificationButton.isHidden: false
[11:29:02] [NOTIFICATION] πŸ”” notificationButton.alpha: 1.0
[11:29:02] [NOTIFICATION] πŸ”” notificationButton.superview: true
[11:29:02] [NOTIFICATION] πŸ”” topNavBar.isHidden: false
[11:29:02] [NOTIFICATION] πŸ”” topNavBar.subviews.count: 3
[11:29:02] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_id"): 1614, AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU2]
[11:29:02] [PUSH] Parsed message_id: 1614
[11:29:02] [PUSH] Parsed operation_type: 3
[11:29:02] [PUSH] Taking direct action: opType=3, messageId=1614
[11:29:02] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=1614
[11:29:02] [PUSH] APNs token: 6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c
[11:29:03] [PUSH] handlePollEventsNotification userInfo: [:]
[11:29:03] [PUSH] No message_id in userInfo
[11:29:03] [PUSH] No operation_type in userInfo
[11:29:03] [PUSH] Performing full refresh to catch up on any missed messages
[11:29:03] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:29:03] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:29:03] [DB]   msg[0] id=1613, isMyMessage=false, readBy.count=0
[11:29:03] [DB]   msg[1] id=1612, isMyMessage=false, readBy.count=0
[11:29:03] [DB]   msg[2] id=1611, isMyMessage=false, readBy.count=0
[11:29:03] [PUSH] Device role updated to 'viewer': HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:29:03] [PUSH] Device role updated to 'viewer': HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:29:03] [USER] βœ… User registered successfully
[11:29:03] [USER] User registration successful
[11:29:03] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:29:03] [CHAT] βœ… refreshAllFromServer - parsed 429 messages from server
[11:29:03] [DB] clearDBForSession(ILUIWU2): deleted 428 messages, result=101
[11:29:03] ReloadData 15 (429 messages loaded, 0 pending media)
[11:29:03] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:29:03] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:29:03] [DB]   msg[0] id=1614, isMyMessage=false, readBy.count=0
[11:29:03] [DB]   msg[1] id=1613, isMyMessage=false, readBy.count=0
[11:29:03] [DB]   msg[2] id=1612, isMyMessage=false, readBy.count=0
[11:29:03] [EVOLUTION] πŸ” Found 2 NEW unread messages after refreshAllFromServer (lastSeenMessageId=1612): [1614, 1613]
[11:29:03] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1614, readBy=[]", "id=1613, readBy=[]", "id=1612, readBy=[]"]
[11:29:03] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:29:03] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:29:03] [DB]   msg[0] id=1614, isMyMessage=false, readBy.count=0
[11:29:03] [DB]   msg[1] id=1613, isMyMessage=false, readBy.count=0
[11:29:03] [DB]   msg[2] id=1612, isMyMessage=false, readBy.count=0
[11:29:03] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:29:03] [UNREAD_DEBUG]   FINAL msg[0] id=1613, readBy.count=0
[11:29:03] [UNREAD_DEBUG]   FINAL msg[1] id=1612, readBy.count=1
[11:29:03] [UNREAD_DEBUG]   FINAL msg[2] id=1611, readBy.count=1
[11:29:03] [VIEWER_INIT] Loaded 50 messages with read receipts, hasMore: true
[11:29:03] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:29:03] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:29:03] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:29:03] [EVOLUTION] πŸ“ Updated lastSeenMessageId: 1612 β†’ 1613
[11:29:03] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=51 =====
[11:29:03] [ROWS] 0: SEPARATOR
[11:29:03] [ROWS] 1: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:03] [ROWS] 2: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:03] [ROWS] 3: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:03] [ROWS] 4: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:29:03] [ROWS] 5: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:29:03] [ROWS] 6: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:03] [ROWS] 7: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:03] [ROWS] 8: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:29:03] [ROWS] 9: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:03] [ROWS] 10: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:03] [ROWS] 11: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:03] [ROWS] 12: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:03] [ROWS] 13: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:29:03] [ROWS] 14: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:03] [ROWS] 15: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:03] [ROWS] 16: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:03] [ROWS] 17: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:03] [ROWS] 18: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:03] [ROWS] 19: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:03] [ROWS] 20: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:29:03] [ROWS] 21: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:29:03] [ROWS] 22: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:03] [ROWS] 23: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:03] [ROWS] 24: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:03] [ROWS] 25: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:03] [ROWS] 26: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:03] [ROWS] 27: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:03] [ROWS] 28: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:03] [ROWS] 29: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:03] [ROWS] 30: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:03] [ROWS] 31: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:03] [ROWS] 32: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:03] [ROWS] 33: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:03] [ROWS] 34: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:03] [ROWS] 35: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:03] [ROWS] 36: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:29:03] [ROWS] 37: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:03] [ROWS] 38: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:03] [ROWS] 39: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:29:03] [ROWS] 40: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:03] [ROWS] 41: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:03] [ROWS] 42: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:03] [ROWS] 43: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:29:03] [ROWS] 44: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:29:03] [ROWS] 45: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:03] [ROWS] 46: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:03] [ROWS] 47: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:03] [ROWS] 48: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:03] [ROWS] 49: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:03] [ROWS] 50: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:03] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:29:03] [TAB_FILTER] πŸ“Š Reloading table with 51 rows
[11:29:03] [HEIGHT_DEBUG] Row 1 msg 1613: isPlayingEvolution=false, textLength=6, text='QUATRE...'
[11:29:03] [EMOJI] βœ… Loaded 451 emoji-to-GIF mappings
[11:29:03] [HEIGHT] Row 1 msg 1613: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:29:03] [HEIGHT_DEBUG] Row 2 msg 1612: isPlayingEvolution=false, textLength=5, text='TRPOS...'
[11:29:03] [HEIGHT] Row 2 msg 1612: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:29:03] [HEIGHT_DEBUG] Row 1 msg 1613: isPlayingEvolution=false, textLength=6, text='QUATRE...'
[11:29:03] [HEIGHT] Row 1 msg 1613: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:29:03] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:29:03] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [HEIGHT_DEBUG] Row 2 msg 1612: isPlayingEvolution=false, textLength=5, text='TRPOS...'
[11:29:03] [HEIGHT] Row 2 msg 1612: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:29:03] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:29:03] ReloadData 18 (viewer init with read receipts)
[11:29:03] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:29:03] [UNREAD_DEBUG]   FINAL msg[0] id=1613, readBy.count=0
[11:29:03] [UNREAD_DEBUG]   FINAL msg[1] id=1612, readBy.count=1
[11:29:03] [UNREAD_DEBUG]   FINAL msg[2] id=1611, readBy.count=1
[11:29:03] [FOREGROUND_REFRESH] Loaded 50 messages
[11:29:03] [EVOLUTION] πŸ” [FOREGROUND] Found 0 NEW unread messages (lastSeenMessageId=1613): []
[11:29:03] [FOREGROUND_REFRESH] About to call autoPlayEvolutionForUnreadMessageIds with 0 IDs: []
[11:29:03] [FOREGROUND_REFRESH] No unread messages to play evolution for - reloading table normally
[11:29:03] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:29:03] [UNREAD_DEBUG]   FINAL msg[0] id=1613, readBy.count=0
[11:29:03] [UNREAD_DEBUG]   FINAL msg[1] id=1612, readBy.count=1
[11:29:03] [UNREAD_DEBUG]   FINAL msg[2] id=1611, readBy.count=1
[11:29:03] [EVOLUTION_SEQ] πŸš€ FUNCTION CALLED with 1 message IDs: [1613]
[11:29:03] [EVOLUTION_SEQ] ⏱️ t=1763288943.781 πŸ“‹ Starting with 1 messages: [1613]
[11:29:03] [EVOLUTION_SEQ] πŸ“Š Message 1/1: id=1613, length=6 chars, estimated_duration=0.30s
[11:29:03] [EVOLUTION_SEQ] ⏱️ t=1763288943.781 πŸ”’ Marked 1 messages as pending (hidden from view)
[11:29:03] [EVOLUTION_SEQ] ⏱️ t=1763288943.781 πŸ“ Queued 1 messages for sequential playback
[11:29:03] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:29:03] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:29:03] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:29:03] [EVOLUTION_SEQ] ⏱️ t=1763288943.781 Filtered out 1 pending evolution messages
[11:29:03] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=50 =====
[11:29:03] [ROWS] 0: SEPARATOR
[11:29:03] [ROWS] 1: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:03] [ROWS] 2: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:03] [ROWS] 3: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:29:03] [ROWS] 4: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:29:03] [ROWS] 5: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:03] [ROWS] 6: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:03] [ROWS] 7: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:29:03] [ROWS] 8: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:03] [ROWS] 9: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:03] [ROWS] 10: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:03] [ROWS] 11: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:03] [ROWS] 12: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:29:03] [ROWS] 13: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:03] [ROWS] 14: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:03] [ROWS] 15: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:03] [ROWS] 16: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:03] [ROWS] 17: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:03] [ROWS] 18: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:03] [ROWS] 19: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:29:03] [ROWS] 20: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:29:03] [ROWS] 21: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:03] [ROWS] 22: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:03] [ROWS] 23: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:03] [ROWS] 24: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:03] [ROWS] 25: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:03] [ROWS] 26: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:03] [ROWS] 27: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:03] [ROWS] 28: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:03] [ROWS] 29: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:03] [ROWS] 30: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:03] [ROWS] 31: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:03] [ROWS] 32: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:03] [ROWS] 33: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:03] [ROWS] 34: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:03] [ROWS] 35: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:29:03] [ROWS] 36: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:03] [ROWS] 37: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:03] [ROWS] 38: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:29:03] [ROWS] 39: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:03] [ROWS] 40: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:03] [ROWS] 41: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:03] [ROWS] 42: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:29:03] [ROWS] 43: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:29:03] [ROWS] 44: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:03] [ROWS] 45: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:03] [ROWS] 46: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:03] [ROWS] 47: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:03] [ROWS] 48: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:03] [ROWS] 49: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:03] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:29:03] [TAB_FILTER] πŸ“Š Reloading table with 50 rows
[11:29:03] [HEIGHT_DEBUG] Row 1 msg 1612: isPlayingEvolution=false, textLength=5, text='TRPOS...'
[11:29:03] [HEIGHT] Row 1 msg 1612: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:29:03] [HEIGHT_DEBUG] Row 2 msg 1611: isPlayingEvolution=false, textLength=4, text='DEUX...'
[11:29:03] [HEIGHT] Row 2 msg 1611: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:29:03] [HEIGHT_DEBUG] Row 1 msg 1612: isPlayingEvolution=false, textLength=5, text='TRPOS...'
[11:29:03] [HEIGHT] Row 1 msg 1612: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:29:03] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:29:03] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [HEIGHT_DEBUG] Row 2 msg 1611: isPlayingEvolution=false, textLength=4, text='DEUX...'
[11:29:03] [HEIGHT] Row 2 msg 1611: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:29:03] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:29:03] [EVOLUTION_SEQ] ⏱️ t=1763288943.787 πŸ“Š Table reloaded: 50 β†’ 49 visible messages
[11:29:03] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:29:03] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:29:03] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:29:03] [EVOLUTION_SEQ] ⏱️ t=1763288943.787 Filtered out 1 pending evolution messages
[11:29:03] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=50 =====
[11:29:03] [ROWS] 0: SEPARATOR
[11:29:03] [ROWS] 1: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:03] [ROWS] 2: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:03] [ROWS] 3: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:29:03] [ROWS] 4: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:29:03] [ROWS] 5: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:03] [ROWS] 6: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:03] [ROWS] 7: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:29:03] [ROWS] 8: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:03] [ROWS] 9: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:03] [ROWS] 10: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:03] [ROWS] 11: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:03] [ROWS] 12: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:29:03] [ROWS] 13: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:03] [ROWS] 14: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:03] [ROWS] 15: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:03] [ROWS] 16: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:03] [ROWS] 17: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:03] [ROWS] 18: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:03] [ROWS] 19: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:29:03] [ROWS] 20: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:29:03] [ROWS] 21: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:03] [ROWS] 22: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:03] [ROWS] 23: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:03] [ROWS] 24: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:03] [ROWS] 25: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:03] [ROWS] 26: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:03] [ROWS] 27: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:03] [ROWS] 28: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:03] [ROWS] 29: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:03] [ROWS] 30: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:03] [ROWS] 31: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:03] [ROWS] 32: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:03] [ROWS] 33: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:03] [ROWS] 34: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:03] [ROWS] 35: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:29:03] [ROWS] 36: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:03] [ROWS] 37: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:03] [ROWS] 38: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:29:03] [ROWS] 39: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:03] [ROWS] 40: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:03] [ROWS] 41: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:03] [ROWS] 42: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:29:03] [ROWS] 43: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:29:03] [ROWS] 44: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:03] [ROWS] 45: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:03] [ROWS] 46: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:03] [ROWS] 47: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:03] [ROWS] 48: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:03] [ROWS] 49: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:03] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:29:03] [TAB_FILTER] πŸ“Š Reloading table with 50 rows
[11:29:03] [HEIGHT_DEBUG] Row 1 msg 1612: isPlayingEvolution=false, textLength=5, text='TRPOS...'
[11:29:03] [HEIGHT] Row 1 msg 1612: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:29:03] [HEIGHT_DEBUG] Row 2 msg 1611: isPlayingEvolution=false, textLength=4, text='DEUX...'
[11:29:03] [HEIGHT] Row 2 msg 1611: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:29:03] [HEIGHT_DEBUG] Row 1 msg 1612: isPlayingEvolution=false, textLength=5, text='TRPOS...'
[11:29:03] [HEIGHT] Row 1 msg 1612: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:29:03] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:29:03] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [HEIGHT_DEBUG] Row 2 msg 1611: isPlayingEvolution=false, textLength=4, text='DEUX...'
[11:29:03] [HEIGHT] Row 2 msg 1611: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:29:03] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:29:03] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:29:03] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:29:03] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:29:03] [EVOLUTION_SEQ] ⏱️ t=1763288943.793 Filtered out 1 pending evolution messages
[11:29:03] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=50 =====
[11:29:03] [ROWS] 0: SEPARATOR
[11:29:03] [ROWS] 1: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:03] [ROWS] 2: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:03] [ROWS] 3: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:29:03] [ROWS] 4: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:29:03] [ROWS] 5: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:03] [ROWS] 6: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:03] [ROWS] 7: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:29:03] [ROWS] 8: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:03] [ROWS] 9: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:03] [ROWS] 10: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:03] [ROWS] 11: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:03] [ROWS] 12: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:29:03] [ROWS] 13: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:03] [ROWS] 14: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:03] [ROWS] 15: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:03] [ROWS] 16: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:03] [ROWS] 17: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:03] [ROWS] 18: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:03] [ROWS] 19: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:29:03] [ROWS] 20: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:29:03] [ROWS] 21: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:03] [ROWS] 22: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:03] [ROWS] 23: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:03] [ROWS] 24: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:03] [ROWS] 25: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:03] [ROWS] 26: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:03] [ROWS] 27: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:03] [ROWS] 28: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:03] [ROWS] 29: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:03] [ROWS] 30: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:03] [ROWS] 31: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:03] [ROWS] 32: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:03] [ROWS] 33: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:03] [ROWS] 34: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:03] [ROWS] 35: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:29:03] [ROWS] 36: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:03] [ROWS] 37: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:03] [ROWS] 38: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:29:03] [ROWS] 39: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:03] [ROWS] 40: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:03] [ROWS] 41: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:03] [ROWS] 42: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:29:03] [ROWS] 43: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:29:03] [ROWS] 44: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:03] [ROWS] 45: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:03] [ROWS] 46: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:03] [ROWS] 47: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:03] [ROWS] 48: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:03] [ROWS] 49: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:03] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:29:03] [TAB_FILTER] πŸ“Š Reloading table with 50 rows
[11:29:03] [HEIGHT_DEBUG] Row 1 msg 1612: isPlayingEvolution=false, textLength=5, text='TRPOS...'
[11:29:03] [HEIGHT] Row 1 msg 1612: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:29:03] [HEIGHT_DEBUG] Row 2 msg 1611: isPlayingEvolution=false, textLength=4, text='DEUX...'
[11:29:03] [HEIGHT] Row 2 msg 1611: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:29:03] [HEIGHT_DEBUG] Row 1 msg 1612: isPlayingEvolution=false, textLength=5, text='TRPOS...'
[11:29:03] [HEIGHT] Row 1 msg 1612: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:29:03] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:29:03] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [HEIGHT_DEBUG] Row 2 msg 1611: isPlayingEvolution=false, textLength=4, text='DEUX...'
[11:29:03] [HEIGHT] Row 2 msg 1611: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:29:03] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:29:03] [INIT_PAGINATION] Loaded 50 total messages, displaying 49 for tab 0
[11:29:03] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:29:03] [UNREAD_DEBUG]   FINAL msg[0] id=1614, readBy.count=0
[11:29:03] [UNREAD_DEBUG]   FINAL msg[1] id=1613, readBy.count=1
[11:29:03] [UNREAD_DEBUG]   FINAL msg[2] id=1612, readBy.count=1
[11:29:03] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:29:03] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:29:03] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:29:03] [EVOLUTION_SEQ] ⏱️ t=1763288943.815 Filtered out 1 pending evolution messages
[11:29:03] [EVOLUTION] πŸ“ Updated lastSeenMessageId: 1613 β†’ 1614
[11:29:03] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=50 =====
[11:29:03] [ROWS] 0: SEPARATOR
[11:29:03] [ROWS] 1: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:03] [ROWS] 2: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:03] [ROWS] 3: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:03] [ROWS] 4: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:29:03] [ROWS] 5: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:29:03] [ROWS] 6: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:03] [ROWS] 7: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:03] [ROWS] 8: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:29:03] [ROWS] 9: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:03] [ROWS] 10: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:03] [ROWS] 11: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:03] [ROWS] 12: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:03] [ROWS] 13: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:29:03] [ROWS] 14: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:03] [ROWS] 15: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:03] [ROWS] 16: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:03] [ROWS] 17: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:03] [ROWS] 18: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:03] [ROWS] 19: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:03] [ROWS] 20: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:29:03] [ROWS] 21: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:29:03] [ROWS] 22: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:03] [ROWS] 23: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:03] [ROWS] 24: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:03] [ROWS] 25: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:03] [ROWS] 26: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:03] [ROWS] 27: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:03] [ROWS] 28: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:03] [ROWS] 29: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:03] [ROWS] 30: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:03] [ROWS] 31: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:03] [ROWS] 32: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:03] [ROWS] 33: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:03] [ROWS] 34: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:03] [ROWS] 35: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:03] [ROWS] 36: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:29:03] [ROWS] 37: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:03] [ROWS] 38: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:03] [ROWS] 39: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:29:03] [ROWS] 40: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:03] [ROWS] 41: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:03] [ROWS] 42: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:03] [ROWS] 43: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:29:03] [ROWS] 44: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:29:03] [ROWS] 45: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:03] [ROWS] 46: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:03] [ROWS] 47: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:03] [ROWS] 48: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:03] [ROWS] 49: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:03] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:29:03] [TAB_FILTER] πŸ“Š Reloading table with 50 rows
[11:29:03] [HEIGHT_DEBUG] Row 1 msg 1614: isPlayingEvolution=false, textLength=4, text='CINQ...'
[11:29:03] [HEIGHT] Row 1 msg 1614: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:29:03] [HEIGHT_DEBUG] Row 2 msg 1612: isPlayingEvolution=false, textLength=5, text='TRPOS...'
[11:29:03] [HEIGHT] Row 2 msg 1612: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:29:03] [HEIGHT_DEBUG] Row 1 msg 1614: isPlayingEvolution=false, textLength=4, text='CINQ...'
[11:29:03] [HEIGHT] Row 1 msg 1614: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:29:03] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:29:03] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [HEIGHT_DEBUG] Row 2 msg 1612: isPlayingEvolution=false, textLength=5, text='TRPOS...'
[11:29:03] [HEIGHT] Row 2 msg 1612: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:29:03] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:29:03] [INITIAL_LOAD] Loaded 50 messages (first page), displaying 49 for tab 0, hasMore: true
[11:29:03] ReloadData 1
[11:29:03] [PURGE] Deleted 0 unused media files:

[11:29:03] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:29:03] [EVOLUTION_SEQ] πŸš€ FUNCTION CALLED with 2 message IDs: [1614, 1613]
[11:29:03] [EVOLUTION_SEQ] ⏱️ t=1763288943.823 πŸ“‹ Starting with 2 messages: [1614, 1613]
[11:29:03] [EVOLUTION_SEQ] πŸ“Š Message 1/2: id=1613, length=6 chars, estimated_duration=0.30s
[11:29:03] [EVOLUTION_SEQ] πŸ“Š Message 2/2: id=1614, length=4 chars, estimated_duration=0.20s
[11:29:03] [EVOLUTION_SEQ] ⏱️ t=1763288943.823 πŸ”’ Marked 2 messages as pending (hidden from view)
[11:29:03] [EVOLUTION_SEQ] ⏱️ t=1763288943.823 πŸ“ Queued 2 messages for sequential playback
[11:29:03] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:29:03] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:29:03] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:29:03] [EVOLUTION_SEQ] ⏱️ t=1763288943.823 Filtered out 2 pending evolution messages
[11:29:03] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=49 =====
[11:29:03] [ROWS] 0: SEPARATOR
[11:29:03] [ROWS] 1: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:03] [ROWS] 2: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:03] [ROWS] 3: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:29:03] [ROWS] 4: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:29:03] [ROWS] 5: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:03] [ROWS] 6: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:03] [ROWS] 7: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:29:03] [ROWS] 8: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:03] [ROWS] 9: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:03] [ROWS] 10: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:03] [ROWS] 11: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:03] [ROWS] 12: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:29:03] [ROWS] 13: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:03] [ROWS] 14: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:03] [ROWS] 15: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:03] [ROWS] 16: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:03] [ROWS] 17: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:03] [ROWS] 18: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:03] [ROWS] 19: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:29:03] [ROWS] 20: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:29:03] [ROWS] 21: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:03] [ROWS] 22: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:03] [ROWS] 23: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:03] [ROWS] 24: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:03] [ROWS] 25: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:03] [ROWS] 26: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:03] [ROWS] 27: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:03] [ROWS] 28: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:03] [ROWS] 29: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:03] [ROWS] 30: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:03] [ROWS] 31: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:03] [ROWS] 32: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:03] [ROWS] 33: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:03] [ROWS] 34: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:03] [ROWS] 35: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:29:03] [ROWS] 36: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:03] [ROWS] 37: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:03] [ROWS] 38: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:29:03] [ROWS] 39: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:03] [ROWS] 40: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:03] [ROWS] 41: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:03] [ROWS] 42: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:29:03] [ROWS] 43: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:29:03] [ROWS] 44: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:03] [ROWS] 45: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:03] [ROWS] 46: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:03] [ROWS] 47: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:03] [ROWS] 48: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:03] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:29:03] [TAB_FILTER] πŸ“Š Reloading table with 49 rows
[11:29:03] [HEIGHT_DEBUG] Row 1 msg 1612: isPlayingEvolution=false, textLength=5, text='TRPOS...'
[11:29:03] [HEIGHT] Row 1 msg 1612: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:29:03] [HEIGHT_DEBUG] Row 2 msg 1611: isPlayingEvolution=false, textLength=4, text='DEUX...'
[11:29:03] [HEIGHT] Row 2 msg 1611: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:29:03] [HEIGHT_DEBUG] Row 1 msg 1612: isPlayingEvolution=false, textLength=5, text='TRPOS...'
[11:29:03] [HEIGHT] Row 1 msg 1612: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:29:03] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:29:03] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [HEIGHT_DEBUG] Row 2 msg 1611: isPlayingEvolution=false, textLength=4, text='DEUX...'
[11:29:03] [HEIGHT] Row 2 msg 1611: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:29:03] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:29:03] [EVOLUTION_SEQ] ⏱️ t=1763288943.829 πŸ“Š Table reloaded: 49 β†’ 48 visible messages
[11:29:03] [EVOLUTION_SEQ] ⏱️ t=1763288943.993 🎬 Starting sequential playback
[11:29:03] [EVOLUTION_SEQ] ⏱️ t=1763288943.993 ▢️ Playing message 1613 - 1 remaining in queue
[11:29:03] [EVOLUTION_SEQ] ⏱️ t=1763288943.993 πŸ“ Message 1613: "QUATRE..." (6 chars)
[11:29:03] [EVOLUTION_SEQ] ⏱️ t=1763288943.993 πŸ”“ Removed message 1613 from pending set
[11:29:03] [EVOLUTION_SEQ] ⏱️ t=1763288943.993 🎬 Set evolution state for message 1613
[11:29:03] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:29:03] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:29:03] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:29:03] [EVOLUTION_SEQ] ⏱️ t=1763288943.993 Filtered out 1 pending evolution messages
[11:29:03] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=50 =====
[11:29:03] [ROWS] 0: SEPARATOR
[11:29:03] [ROWS] 1: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=6
[11:29:03] [ROWS] 2: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:03] [ROWS] 3: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:03] [ROWS] 4: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:29:03] [ROWS] 5: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:29:03] [ROWS] 6: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:03] [ROWS] 7: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:03] [ROWS] 8: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:29:03] [ROWS] 9: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:03] [ROWS] 10: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:03] [ROWS] 11: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:03] [ROWS] 12: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:03] [ROWS] 13: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:29:03] [ROWS] 14: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:03] [ROWS] 15: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:03] [ROWS] 16: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:03] [ROWS] 17: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:03] [ROWS] 18: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:03] [ROWS] 19: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:03] [ROWS] 20: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:29:03] [ROWS] 21: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:29:03] [ROWS] 22: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:03] [ROWS] 23: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:03] [ROWS] 24: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:03] [ROWS] 25: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:03] [ROWS] 26: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:03] [ROWS] 27: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:03] [ROWS] 28: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:03] [ROWS] 29: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:03] [ROWS] 30: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:03] [ROWS] 31: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:03] [ROWS] 32: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:03] [ROWS] 33: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:03] [ROWS] 34: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:03] [ROWS] 35: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:03] [ROWS] 36: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:29:03] [ROWS] 37: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:03] [ROWS] 38: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:03] [ROWS] 39: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:29:03] [ROWS] 40: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:03] [ROWS] 41: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:03] [ROWS] 42: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:03] [ROWS] 43: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:29:03] [ROWS] 44: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:29:03] [ROWS] 45: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:03] [ROWS] 46: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:03] [ROWS] 47: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:03] [ROWS] 48: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:03] [ROWS] 49: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:03] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:29:03] [TAB_FILTER] πŸ“Š Reloading table with 50 rows
[11:29:03] [HEIGHT_DEBUG] Row 1 msg 1613: isPlayingEvolution=true, textLength=0, text='...'
[11:29:03] [HEIGHT] Row 1 msg 1613: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:29:03] [HEIGHT_DEBUG] Row 2 msg 1612: isPlayingEvolution=false, textLength=5, text='TRPOS...'
[11:29:03] [HEIGHT] Row 2 msg 1612: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:29:03] [HEIGHT_DEBUG] Row 1 msg 1613: isPlayingEvolution=true, textLength=0, text='...'
[11:29:03] [HEIGHT] Row 1 msg 1613: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:29:03] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:29:03] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:29:03] [HEIGHT_DEBUG] Row 2 msg 1612: isPlayingEvolution=false, textLength=5, text='TRPOS...'
[11:29:03] [HEIGHT] Row 2 msg 1612: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:29:03] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:03] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:29:03] [EVOLUTION_SEQ] ⏱️ t=1763288943.999 πŸ“± Table reloaded: 48 β†’ 49 messages (bubble for 1613 now visible)
[11:29:04] [EVOLUTION_SEQ] ⏱️ t=1763288944.039 🎬 Starting sequential playback
[11:29:04] [EVOLUTION] ⏸️ Already playing queued evolution, will retry when current finishes
[11:29:04] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_id"): 1613, AnyHashable("session_id"): ILUIWU2, AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("operation_type"): 3]
[11:29:04] [PUSH] Parsed message_id: 1613
[11:29:04] [PUSH] Parsed operation_type: 3
[11:29:04] [PUSH] Taking direct action: opType=3, messageId=1613
[11:29:04] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=1613
[11:29:04] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_id"): 1614, AnyHashable("session_id"): ILUIWU2, AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("operation_type"): 3]
[11:29:04] [PUSH] Parsed message_id: 1614
[11:29:04] [PUSH] Parsed operation_type: 3
[11:29:04] [PUSH] Taking direct action: opType=3, messageId=1614
[11:29:04] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=1614
[11:29:04] [EVOLUTION_SEQ] ⏱️ t=1763288944.310 ▢️ Starting animation for message 1613
[11:29:04] [EVOLUTION] πŸ“‘ Fetching evolution data for message 1613
[11:29:04] [EVOLUTION] πŸ” Raw response (308 bytes): {"ok":true,"has_evolution":true,"message_id":1613,"evolution":{"events":[{"c":"Q","p":0,"t":0,"op":"i"},{"t":230,"p":1,"op":"i","c":"U"},{"op":"i","c":"A","t":534,"p":2},{"op":"i","p":3,"t":901,"c":"T
[11:29:04] [EVOLUTION] πŸ” Parsed JSON keys: ["created_at", "evolution", "has_evolution", "message_id", "ok"]
[11:29:04] [EVOLUTION] πŸ” has_evolution: 1
[11:29:04] [EVOLUTION] βœ… Got 6 events for message 1613
[11:29:04] [OVERLAP_FIX] πŸš€ Starting evolution - forcing initial height recalculation
[11:29:04] [UPDATE] πŸ”„ updateMessageCell(for: 1613) β€” full safe reload
[11:29:04] [ROWS] ===== updateMessageCell for 1613 β€” chatRows.count=50 =====
[11:29:04] [ROWS] 0: SEPARATOR
[11:29:04] [ROWS] 1: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=6
[11:29:04] [ROWS] 2: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:04] [ROWS] 3: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:04] [ROWS] 4: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:29:04] [ROWS] 5: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:29:04] [ROWS] 6: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:04] [ROWS] 7: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:04] [ROWS] 8: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:29:04] [ROWS] 9: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:04] [ROWS] 10: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:04] [ROWS] 11: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:04] [ROWS] 12: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:04] [ROWS] 13: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:29:04] [ROWS] 14: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:04] [ROWS] 15: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:04] [ROWS] 16: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:04] [ROWS] 17: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:04] [ROWS] 18: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:04] [ROWS] 19: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:04] [ROWS] 20: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:29:04] [ROWS] 21: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:29:04] [ROWS] 22: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:04] [ROWS] 23: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:04] [ROWS] 24: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:04] [ROWS] 25: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:04] [ROWS] 26: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:04] [ROWS] 27: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:04] [ROWS] 28: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:04] [ROWS] 29: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:04] [ROWS] 30: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:04] [ROWS] 31: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:04] [ROWS] 32: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:04] [ROWS] 33: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:04] [ROWS] 34: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:04] [ROWS] 35: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:04] [ROWS] 36: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:29:04] [ROWS] 37: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:04] [ROWS] 38: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:04] [ROWS] 39: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:29:04] [ROWS] 40: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:04] [ROWS] 41: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:04] [ROWS] 42: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:04] [ROWS] 43: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:29:04] [ROWS] 44: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:29:04] [ROWS] 45: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:04] [ROWS] 46: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:04] [ROWS] 47: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:04] [ROWS] 48: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:04] [ROWS] 49: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:04] [ROWS] ===== END (updateMessageCell for 1613) =====
[11:29:04] [HEIGHT_DEBUG] Row 1 msg 1613: isPlayingEvolution=true, textLength=0, text='...'
[11:29:04] [HEIGHT] Row 1 msg 1613: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:29:04] [HEIGHT_DEBUG] Row 2 msg 1612: isPlayingEvolution=false, textLength=5, text='TRPOS...'
[11:29:04] [HEIGHT] Row 2 msg 1612: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:29:04] [HEIGHT_DEBUG] Row 1 msg 1613: isPlayingEvolution=true, textLength=0, text='...'
[11:29:04] [HEIGHT] Row 1 msg 1613: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:29:04] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:29:04] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:29:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:29:04] [HEIGHT_DEBUG] Row 2 msg 1612: isPlayingEvolution=false, textLength=5, text='TRPOS...'
[11:29:04] [HEIGHT] Row 2 msg 1612: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:29:04] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:04] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:04] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:04] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:04] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:04] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:04] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:04] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:04] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:04] [EVOLUTION] ▢️ Starting inline playback for message 1613 with 6 events
[11:29:04] [EVOLUTION] πŸ“ Event 0/6 - Text now: "Q..."
[11:29:04] [UPDATE] πŸ”„ updateMessageCell(for: 1613) β€” full safe reload
[11:29:04] [ROWS] ===== updateMessageCell for 1613 β€” chatRows.count=50 =====
[11:29:04] [ROWS] 0: SEPARATOR
[11:29:04] [ROWS] 1: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=1 textLen=6
[11:29:04] [ROWS] 2: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:04] [ROWS] 3: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:04] [ROWS] 4: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:29:04] [ROWS] 5: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:29:04] [ROWS] 6: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:04] [ROWS] 7: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:04] [ROWS] 8: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:29:04] [ROWS] 9: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:04] [ROWS] 10: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:04] [ROWS] 11: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:04] [ROWS] 12: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:04] [ROWS] 13: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:29:04] [ROWS] 14: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:04] [ROWS] 15: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:04] [ROWS] 16: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:04] [ROWS] 17: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:04] [ROWS] 18: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:04] [ROWS] 19: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:04] [ROWS] 20: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:29:04] [ROWS] 21: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:29:04] [ROWS] 22: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:04] [ROWS] 23: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:04] [ROWS] 24: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:04] [ROWS] 25: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:04] [ROWS] 26: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:04] [ROWS] 27: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:04] [ROWS] 28: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:04] [ROWS] 29: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:04] [ROWS] 30: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:04] [ROWS] 31: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:04] [ROWS] 32: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:04] [ROWS] 33: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:04] [ROWS] 34: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:04] [ROWS] 35: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:04] [ROWS] 36: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:29:04] [ROWS] 37: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:04] [ROWS] 38: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:04] [ROWS] 39: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:29:04] [ROWS] 40: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:04] [ROWS] 41: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:04] [ROWS] 42: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:04] [ROWS] 43: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:29:04] [ROWS] 44: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:29:04] [ROWS] 45: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:04] [ROWS] 46: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:04] [ROWS] 47: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:04] [ROWS] 48: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:04] [ROWS] 49: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:04] [ROWS] ===== END (updateMessageCell for 1613) =====
[11:29:04] [HEIGHT_DEBUG] Row 1 msg 1613: isPlayingEvolution=true, textLength=1, text='Q...'
[11:29:04] [HEIGHT] Row 1 msg 1613: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:29:04] [HEIGHT_DEBUG] Row 2 msg 1612: isPlayingEvolution=false, textLength=5, text='TRPOS...'
[11:29:04] [HEIGHT] Row 2 msg 1612: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:29:04] [HEIGHT_DEBUG] Row 1 msg 1613: isPlayingEvolution=true, textLength=1, text='Q...'
[11:29:04] [HEIGHT] Row 1 msg 1613: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:29:04] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:29:04] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:29:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:04] [HEIGHT_DEBUG] Row 2 msg 1612: isPlayingEvolution=false, textLength=5, text='TRPOS...'
[11:29:04] [HEIGHT] Row 2 msg 1612: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:29:04] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:04] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:04] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:04] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:04] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:04] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:04] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:04] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:04] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:04] [EVOLUTION] πŸ“ Event 1/6 - Text now: "QU..."
[11:29:04] [UPDATE] πŸ”„ updateMessageCell(for: 1613) β€” full safe reload
[11:29:04] [ROWS] ===== updateMessageCell for 1613 β€” chatRows.count=50 =====
[11:29:04] [ROWS] 0: SEPARATOR
[11:29:04] [ROWS] 1: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=2 textLen=6
[11:29:04] [ROWS] 2: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:04] [ROWS] 3: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:04] [ROWS] 4: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:29:04] [ROWS] 5: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:29:04] [ROWS] 6: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:04] [ROWS] 7: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:04] [ROWS] 8: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:29:04] [ROWS] 9: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:04] [ROWS] 10: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:04] [ROWS] 11: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:04] [ROWS] 12: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:04] [ROWS] 13: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:29:04] [ROWS] 14: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:04] [ROWS] 15: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:04] [ROWS] 16: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:04] [ROWS] 17: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:04] [ROWS] 18: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:04] [ROWS] 19: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:04] [ROWS] 20: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:29:04] [ROWS] 21: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:29:04] [ROWS] 22: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:04] [ROWS] 23: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:04] [ROWS] 24: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:04] [ROWS] 25: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:04] [ROWS] 26: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:04] [ROWS] 27: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:04] [ROWS] 28: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:04] [ROWS] 29: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:04] [ROWS] 30: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:04] [ROWS] 31: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:04] [ROWS] 32: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:04] [ROWS] 33: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:04] [ROWS] 34: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:04] [ROWS] 35: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:04] [ROWS] 36: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:29:04] [ROWS] 37: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:04] [ROWS] 38: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:04] [ROWS] 39: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:29:04] [ROWS] 40: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:04] [ROWS] 41: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:04] [ROWS] 42: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:04] [ROWS] 43: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:29:04] [ROWS] 44: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:29:04] [ROWS] 45: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:04] [ROWS] 46: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:04] [ROWS] 47: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:04] [ROWS] 48: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:04] [ROWS] 49: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:04] [ROWS] ===== END (updateMessageCell for 1613) =====
[11:29:04] [HEIGHT_DEBUG] Row 1 msg 1613: isPlayingEvolution=true, textLength=2, text='QU...'
[11:29:04] [HEIGHT] Row 1 msg 1613: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:29:04] [HEIGHT_DEBUG] Row 2 msg 1612: isPlayingEvolution=false, textLength=5, text='TRPOS...'
[11:29:04] [HEIGHT] Row 2 msg 1612: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:29:04] [HEIGHT_DEBUG] Row 1 msg 1613: isPlayingEvolution=true, textLength=2, text='QU...'
[11:29:04] [HEIGHT] Row 1 msg 1613: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:29:04] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:29:04] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:29:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:04] [HEIGHT_DEBUG] Row 2 msg 1612: isPlayingEvolution=false, textLength=5, text='TRPOS...'
[11:29:04] [HEIGHT] Row 2 msg 1612: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:29:04] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:04] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:04] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:04] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:04] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:04] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:04] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:04] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:04] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:04] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:29:04] Will get events_php
[11:29:04] [TYPING] πŸ”„ ========== POLL START ==========
[11:29:04] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:29:04] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:29:04] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:29:04] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:29:04] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:29:04] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:29:04] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:29:04] [TYPING] πŸ“₯ Found 0 typing users in response
[11:29:04] [EVT] get_events.php HTTP 200
── Response Headers ──
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:29:04 GMT
Content-Type: application/json; charset=utf-8
X-Powered-By: PHP/8.4.14
Keep-Alive: timeout=5, max=94
Content-Length: 355
Connection: Keep-Alive
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":4,"events":[{"event_id":10697,"event_type":3,"message_id":1614,"session_id":"ILUIWU2"},{"event_id":10698,"event_type":3,"message_id":1614,"session_id":"ILUIWU2"},{"event_id":10699,"event_type":3,"message_id":1613,"session_id":"ILUIWU2"},{"event_id":10700,"event_type":3,"message_id":1614,"session_id":"ILUIWU2"}]}
[11:29:04] [TYPING] πŸ“₯ Updating typing users SET: []
[11:29:04] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:29:04] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:29:04] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:29:04] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:29:04] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:29:04] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:29:04] [TYPING] πŸ”„ ========== POLL END ==========
[11:29:04] Done
[11:29:04] [EVOLUTION] πŸ“ Event 2/6 - Text now: "QUA..."
[11:29:04] [UPDATE] πŸ”„ updateMessageCell(for: 1613) β€” full safe reload
[11:29:04] [ROWS] ===== updateMessageCell for 1613 β€” chatRows.count=50 =====
[11:29:04] [ROWS] 0: SEPARATOR
[11:29:04] [ROWS] 1: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=3 textLen=6
[11:29:04] [ROWS] 2: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:04] [ROWS] 3: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:04] [ROWS] 4: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:29:04] [ROWS] 5: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:29:04] [ROWS] 6: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:04] [ROWS] 7: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:04] [ROWS] 8: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:29:04] [ROWS] 9: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:04] [ROWS] 10: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:04] [ROWS] 11: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:04] [ROWS] 12: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:04] [ROWS] 13: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:29:04] [ROWS] 14: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:04] [ROWS] 15: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:04] [ROWS] 16: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:04] [ROWS] 17: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:04] [ROWS] 18: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:04] [ROWS] 19: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:04] [ROWS] 20: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:29:04] [ROWS] 21: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:29:04] [ROWS] 22: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:04] [ROWS] 23: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:04] [ROWS] 24: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:04] [ROWS] 25: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:04] [ROWS] 26: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:04] [ROWS] 27: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:04] [ROWS] 28: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:04] [ROWS] 29: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:04] [ROWS] 30: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:04] [ROWS] 31: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:04] [ROWS] 32: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:04] [ROWS] 33: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:04] [ROWS] 34: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:04] [ROWS] 35: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:04] [ROWS] 36: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:29:04] [ROWS] 37: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:04] [ROWS] 38: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:04] [ROWS] 39: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:29:04] [ROWS] 40: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:04] [ROWS] 41: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:04] [ROWS] 42: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:04] [ROWS] 43: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:29:04] [ROWS] 44: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:29:04] [ROWS] 45: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:04] [ROWS] 46: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:04] [ROWS] 47: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:04] [ROWS] 48: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:04] [ROWS] 49: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:04] [ROWS] ===== END (updateMessageCell for 1613) =====
[11:29:04] [HEIGHT_DEBUG] Row 1 msg 1613: isPlayingEvolution=true, textLength=3, text='QUA...'
[11:29:04] [HEIGHT] Row 1 msg 1613: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:29:04] [HEIGHT_DEBUG] Row 2 msg 1612: isPlayingEvolution=false, textLength=5, text='TRPOS...'
[11:29:04] [HEIGHT] Row 2 msg 1612: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:29:04] [HEIGHT_DEBUG] Row 1 msg 1613: isPlayingEvolution=true, textLength=3, text='QUA...'
[11:29:04] [HEIGHT] Row 1 msg 1613: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:29:04] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:29:04] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:29:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:04] [HEIGHT_DEBUG] Row 2 msg 1612: isPlayingEvolution=false, textLength=5, text='TRPOS...'
[11:29:04] [HEIGHT] Row 2 msg 1612: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:29:04] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:04] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:04] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:04] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:04] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:04] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:04] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:04] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:04] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:05] [EVOLUTION] πŸ“ Event 3/6 - Text now: "QUAT..."
[11:29:05] [UPDATE] πŸ”„ updateMessageCell(for: 1613) β€” full safe reload
[11:29:05] [ROWS] ===== updateMessageCell for 1613 β€” chatRows.count=50 =====
[11:29:05] [ROWS] 0: SEPARATOR
[11:29:05] [ROWS] 1: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=4 textLen=6
[11:29:05] [ROWS] 2: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:05] [ROWS] 3: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:05] [ROWS] 4: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:29:05] [ROWS] 5: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:29:05] [ROWS] 6: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:05] [ROWS] 7: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:05] [ROWS] 8: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:29:05] [ROWS] 9: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:05] [ROWS] 10: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:05] [ROWS] 11: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:05] [ROWS] 12: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:05] [ROWS] 13: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:29:05] [ROWS] 14: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:05] [ROWS] 15: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:05] [ROWS] 16: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:05] [ROWS] 17: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:05] [ROWS] 18: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:05] [ROWS] 19: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:05] [ROWS] 20: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:29:05] [ROWS] 21: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:29:05] [ROWS] 22: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:05] [ROWS] 23: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:05] [ROWS] 24: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:05] [ROWS] 25: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:05] [ROWS] 26: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:05] [ROWS] 27: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:05] [ROWS] 28: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:05] [ROWS] 29: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:05] [ROWS] 30: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:05] [ROWS] 31: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:05] [ROWS] 32: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:05] [ROWS] 33: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:05] [ROWS] 34: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:05] [ROWS] 35: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:05] [ROWS] 36: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:29:05] [ROWS] 37: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:05] [ROWS] 38: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:05] [ROWS] 39: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:29:05] [ROWS] 40: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:05] [ROWS] 41: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:05] [ROWS] 42: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:05] [ROWS] 43: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:29:05] [ROWS] 44: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:29:05] [ROWS] 45: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:05] [ROWS] 46: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:05] [ROWS] 47: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:05] [ROWS] 48: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:05] [ROWS] 49: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:05] [ROWS] ===== END (updateMessageCell for 1613) =====
[11:29:05] [HEIGHT_DEBUG] Row 1 msg 1613: isPlayingEvolution=true, textLength=4, text='QUAT...'
[11:29:05] [HEIGHT] Row 1 msg 1613: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:29:05] [HEIGHT_DEBUG] Row 2 msg 1612: isPlayingEvolution=false, textLength=5, text='TRPOS...'
[11:29:05] [HEIGHT] Row 2 msg 1612: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:29:05] [HEIGHT_DEBUG] Row 1 msg 1613: isPlayingEvolution=true, textLength=4, text='QUAT...'
[11:29:05] [HEIGHT] Row 1 msg 1613: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:29:05] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:29:05] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:29:05] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:05] [HEIGHT_DEBUG] Row 2 msg 1612: isPlayingEvolution=false, textLength=5, text='TRPOS...'
[11:29:05] [HEIGHT] Row 2 msg 1612: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:29:05] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:05] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:05] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:05] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:05] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:05] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:05] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:05] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:05] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:05] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:05] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:05] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:05] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:05] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:05] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:05] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:05] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:05] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:05] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:05] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:05] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:05] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:05] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:05] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:05] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:05] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:05] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:05] [EVOLUTION] πŸ“ Event 4/6 - Text now: "QUATR..."
[11:29:05] [UPDATE] πŸ”„ updateMessageCell(for: 1613) β€” full safe reload
[11:29:05] [ROWS] ===== updateMessageCell for 1613 β€” chatRows.count=50 =====
[11:29:05] [ROWS] 0: SEPARATOR
[11:29:05] [ROWS] 1: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=5 textLen=6
[11:29:05] [ROWS] 2: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:05] [ROWS] 3: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:05] [ROWS] 4: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:29:05] [ROWS] 5: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:29:05] [ROWS] 6: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:05] [ROWS] 7: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:05] [ROWS] 8: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:29:05] [ROWS] 9: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:05] [ROWS] 10: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:05] [ROWS] 11: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:05] [ROWS] 12: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:05] [ROWS] 13: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:29:05] [ROWS] 14: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:05] [ROWS] 15: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:05] [ROWS] 16: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:05] [ROWS] 17: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:05] [ROWS] 18: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:05] [ROWS] 19: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:05] [ROWS] 20: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:29:05] [ROWS] 21: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:29:05] [ROWS] 22: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:05] [ROWS] 23: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:05] [ROWS] 24: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:05] [ROWS] 25: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:05] [ROWS] 26: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:05] [ROWS] 27: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:05] [ROWS] 28: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:05] [ROWS] 29: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:05] [ROWS] 30: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:05] [ROWS] 31: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:05] [ROWS] 32: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:05] [ROWS] 33: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:05] [ROWS] 34: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:05] [ROWS] 35: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:05] [ROWS] 36: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:29:05] [ROWS] 37: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:05] [ROWS] 38: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:05] [ROWS] 39: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:29:05] [ROWS] 40: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:05] [ROWS] 41: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:05] [ROWS] 42: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:05] [ROWS] 43: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:29:05] [ROWS] 44: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:29:05] [ROWS] 45: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:05] [ROWS] 46: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:05] [ROWS] 47: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:05] [ROWS] 48: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:05] [ROWS] 49: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:05] [ROWS] ===== END (updateMessageCell for 1613) =====
[11:29:05] [HEIGHT_DEBUG] Row 1 msg 1613: isPlayingEvolution=true, textLength=5, text='QUATR...'
[11:29:05] [HEIGHT] Row 1 msg 1613: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:29:05] [HEIGHT_DEBUG] Row 2 msg 1612: isPlayingEvolution=false, textLength=5, text='TRPOS...'
[11:29:05] [HEIGHT] Row 2 msg 1612: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:29:05] [HEIGHT_DEBUG] Row 1 msg 1613: isPlayingEvolution=true, textLength=5, text='QUATR...'
[11:29:05] [HEIGHT] Row 1 msg 1613: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:29:05] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:29:05] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:29:05] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:05] [HEIGHT_DEBUG] Row 2 msg 1612: isPlayingEvolution=false, textLength=5, text='TRPOS...'
[11:29:05] [HEIGHT] Row 2 msg 1612: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:29:05] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:05] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:05] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:05] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:05] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:05] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:05] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:05] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:05] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:05] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:05] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:05] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:05] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:05] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:05] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:05] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:05] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:05] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:05] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:05] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:05] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:05] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:05] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:05] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:05] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:05] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:05] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:05] [EVOLUTION] πŸ“ Event 5/6 - Text now: "QUATRE..."
[11:29:05] [UPDATE] πŸ”„ updateMessageCell(for: 1613) β€” full safe reload
[11:29:05] [ROWS] ===== updateMessageCell for 1613 β€” chatRows.count=50 =====
[11:29:05] [ROWS] 0: SEPARATOR
[11:29:05] [ROWS] 1: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=6 textLen=6
[11:29:05] [ROWS] 2: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:05] [ROWS] 3: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:05] [ROWS] 4: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:29:05] [ROWS] 5: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:29:05] [ROWS] 6: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:05] [ROWS] 7: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:05] [ROWS] 8: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:29:05] [ROWS] 9: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:05] [ROWS] 10: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:05] [ROWS] 11: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:05] [ROWS] 12: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:05] [ROWS] 13: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:29:05] [ROWS] 14: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:05] [ROWS] 15: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:05] [ROWS] 16: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:05] [ROWS] 17: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:05] [ROWS] 18: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:05] [ROWS] 19: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:05] [ROWS] 20: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:29:05] [ROWS] 21: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:29:05] [ROWS] 22: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:05] [ROWS] 23: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:05] [ROWS] 24: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:05] [ROWS] 25: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:05] [ROWS] 26: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:05] [ROWS] 27: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:05] [ROWS] 28: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:05] [ROWS] 29: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:05] [ROWS] 30: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:05] [ROWS] 31: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:05] [ROWS] 32: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:05] [ROWS] 33: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:05] [ROWS] 34: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:05] [ROWS] 35: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:05] [ROWS] 36: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:29:05] [ROWS] 37: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:05] [ROWS] 38: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:05] [ROWS] 39: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:29:05] [ROWS] 40: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:05] [ROWS] 41: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:05] [ROWS] 42: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:05] [ROWS] 43: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:29:05] [ROWS] 44: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:29:05] [ROWS] 45: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:05] [ROWS] 46: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:05] [ROWS] 47: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:05] [ROWS] 48: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:05] [ROWS] 49: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:05] [ROWS] ===== END (updateMessageCell for 1613) =====
[11:29:05] [HEIGHT_DEBUG] Row 1 msg 1613: isPlayingEvolution=true, textLength=6, text='QUATRE...'
[11:29:05] [HEIGHT] Row 1 msg 1613: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:29:05] [HEIGHT_DEBUG] Row 2 msg 1612: isPlayingEvolution=false, textLength=5, text='TRPOS...'
[11:29:05] [HEIGHT] Row 2 msg 1612: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:29:05] [HEIGHT_DEBUG] Row 1 msg 1613: isPlayingEvolution=true, textLength=6, text='QUATRE...'
[11:29:05] [HEIGHT] Row 1 msg 1613: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:29:05] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:29:05] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:29:05] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:05] [HEIGHT_DEBUG] Row 2 msg 1612: isPlayingEvolution=false, textLength=5, text='TRPOS...'
[11:29:05] [HEIGHT] Row 2 msg 1612: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:29:05] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:05] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:05] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:05] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:05] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:05] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:05] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:05] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:05] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:05] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:05] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:05] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:05] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:05] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:05] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:05] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:05] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:05] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:05] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:05] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:05] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:05] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:05] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:05] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:05] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:05] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:05] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:05] [EVOLUTION_SEQ] ⏱️ t=1763288945.619 βœ… Finished message 1613 - duration=1.62s, length=6 chars, speed=4 chars/s
[11:29:05] [UPDATE] πŸ”„ updateMessageCell(for: 1613) β€” full safe reload
[11:29:05] [ROWS] ===== updateMessageCell for 1613 β€” chatRows.count=50 =====
[11:29:05] [ROWS] 0: SEPARATOR
[11:29:05] [ROWS] 1: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=6 textLen=6
[11:29:05] [ROWS] 2: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:05] [ROWS] 3: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:05] [ROWS] 4: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:29:05] [ROWS] 5: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:29:05] [ROWS] 6: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:05] [ROWS] 7: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:05] [ROWS] 8: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:29:05] [ROWS] 9: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:05] [ROWS] 10: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:05] [ROWS] 11: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:05] [ROWS] 12: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:05] [ROWS] 13: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:29:05] [ROWS] 14: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:05] [ROWS] 15: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:05] [ROWS] 16: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:05] [ROWS] 17: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:05] [ROWS] 18: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:05] [ROWS] 19: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:05] [ROWS] 20: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:29:05] [ROWS] 21: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:29:05] [ROWS] 22: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:05] [ROWS] 23: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:05] [ROWS] 24: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:05] [ROWS] 25: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:05] [ROWS] 26: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:05] [ROWS] 27: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:05] [ROWS] 28: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:05] [ROWS] 29: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:05] [ROWS] 30: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:05] [ROWS] 31: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:05] [ROWS] 32: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:05] [ROWS] 33: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:05] [ROWS] 34: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:05] [ROWS] 35: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:05] [ROWS] 36: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:29:05] [ROWS] 37: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:05] [ROWS] 38: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:05] [ROWS] 39: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:29:05] [ROWS] 40: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:05] [ROWS] 41: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:05] [ROWS] 42: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:05] [ROWS] 43: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:29:05] [ROWS] 44: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:29:05] [ROWS] 45: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:05] [ROWS] 46: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:05] [ROWS] 47: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:05] [ROWS] 48: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:05] [ROWS] 49: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:05] [ROWS] ===== END (updateMessageCell for 1613) =====
[11:29:05] [HEIGHT_DEBUG] Row 1 msg 1613: isPlayingEvolution=false, textLength=6, text='QUATRE...'
[11:29:05] [HEIGHT] Row 1 msg 1613: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:29:05] [HEIGHT_DEBUG] Row 2 msg 1612: isPlayingEvolution=false, textLength=5, text='TRPOS...'
[11:29:05] [HEIGHT] Row 2 msg 1612: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:29:05] [HEIGHT_DEBUG] Row 1 msg 1613: isPlayingEvolution=false, textLength=6, text='QUATRE...'
[11:29:05] [HEIGHT] Row 1 msg 1613: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:29:05] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:29:05] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:29:05] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:05] [HEIGHT_DEBUG] Row 2 msg 1612: isPlayingEvolution=false, textLength=5, text='TRPOS...'
[11:29:05] [HEIGHT] Row 2 msg 1612: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:29:05] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:05] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:05] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:05] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:05] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:05] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:05] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:05] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:05] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:05] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:05] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:05] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:05] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:05] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:05] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:05] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:05] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:05] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:05] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:05] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:05] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:05] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:05] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:05] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:05] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:05] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:05] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:05] [EVOLUTION_SEQ] ⏱️ t=1763288945.625 🎬 1 messages remaining, playing next after 0.5s delay
[11:29:06] [EVOLUTION_SEQ] ⏱️ t=1763288946.148 ▢️ Playing message 1614 - 0 remaining in queue
[11:29:06] [EVOLUTION_SEQ] ⏱️ t=1763288946.148 πŸ“ Message 1614: "CINQ..." (4 chars)
[11:29:06] [EVOLUTION_SEQ] ⏱️ t=1763288946.148 πŸ”“ Removed message 1614 from pending set
[11:29:06] [EVOLUTION_SEQ] ⏱️ t=1763288946.149 🎬 Set evolution state for message 1614
[11:29:06] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:29:06] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:29:06] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:29:06] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=51 =====
[11:29:06] [ROWS] 0: SEPARATOR
[11:29:06] [ROWS] 1: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=4
[11:29:06] [ROWS] 2: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=6 textLen=6
[11:29:06] [ROWS] 3: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:06] [ROWS] 4: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:06] [ROWS] 5: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:29:06] [ROWS] 6: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:29:06] [ROWS] 7: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:06] [ROWS] 8: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:06] [ROWS] 9: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:29:06] [ROWS] 10: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:06] [ROWS] 11: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:06] [ROWS] 12: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:06] [ROWS] 13: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:06] [ROWS] 14: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:29:06] [ROWS] 15: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:06] [ROWS] 16: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:06] [ROWS] 17: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:06] [ROWS] 18: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:06] [ROWS] 19: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:06] [ROWS] 20: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:06] [ROWS] 21: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:29:06] [ROWS] 22: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:29:06] [ROWS] 23: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:06] [ROWS] 24: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:06] [ROWS] 25: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:06] [ROWS] 26: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:06] [ROWS] 27: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:06] [ROWS] 28: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:06] [ROWS] 29: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:06] [ROWS] 30: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:06] [ROWS] 31: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:06] [ROWS] 32: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:06] [ROWS] 33: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:06] [ROWS] 34: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:06] [ROWS] 35: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:06] [ROWS] 36: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:06] [ROWS] 37: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:29:06] [ROWS] 38: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:06] [ROWS] 39: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:06] [ROWS] 40: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:29:06] [ROWS] 41: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:06] [ROWS] 42: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:06] [ROWS] 43: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:06] [ROWS] 44: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:29:06] [ROWS] 45: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:29:06] [ROWS] 46: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:06] [ROWS] 47: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:06] [ROWS] 48: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:06] [ROWS] 49: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:06] [ROWS] 50: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:06] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:29:06] [TAB_FILTER] πŸ“Š Reloading table with 51 rows
[11:29:06] [HEIGHT_DEBUG] Row 1 msg 1614: isPlayingEvolution=true, textLength=0, text='...'
[11:29:06] [HEIGHT] Row 1 msg 1614: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:29:06] [HEIGHT_DEBUG] Row 2 msg 1613: isPlayingEvolution=false, textLength=6, text='QUATRE...'
[11:29:06] [HEIGHT] Row 2 msg 1613: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:29:06] [HEIGHT_DEBUG] Row 1 msg 1614: isPlayingEvolution=true, textLength=0, text='...'
[11:29:06] [HEIGHT] Row 1 msg 1614: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:29:06] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:29:06] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:29:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:29:06] [HEIGHT_DEBUG] Row 2 msg 1613: isPlayingEvolution=false, textLength=6, text='QUATRE...'
[11:29:06] [HEIGHT] Row 2 msg 1613: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:29:06] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:06] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:06] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:06] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:06] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:06] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:06] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:06] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:06] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:06] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:29:06] [EVOLUTION_SEQ] ⏱️ t=1763288946.178 πŸ“± Table reloaded: 49 β†’ 50 messages (bubble for 1614 now visible)
[11:29:06] [EVOLUTION_SEQ] ⏱️ t=1763288946.489 ▢️ Starting animation for message 1614
[11:29:06] [EVOLUTION] πŸ“‘ Fetching evolution data for message 1614
[11:29:06] [EVOLUTION] πŸ” Raw response (240 bytes): {"ok":true,"has_evolution":true,"message_id":1614,"evolution":{"events":[{"op":"i","t":0,"p":0,"c":"C"},{"p":1,"t":195,"op":"i","c":"I"},{"t":259,"c":"N","op":"i","p":2},{"p":3,"c":"Q","t":531,"op":"i
[11:29:06] [EVOLUTION] πŸ” Parsed JSON keys: ["created_at", "evolution", "has_evolution", "message_id", "ok"]
[11:29:06] [EVOLUTION] πŸ” has_evolution: 1
[11:29:06] [EVOLUTION] βœ… Got 4 events for message 1614
[11:29:06] [OVERLAP_FIX] πŸš€ Starting evolution - forcing initial height recalculation
[11:29:06] [UPDATE] πŸ”„ updateMessageCell(for: 1614) β€” full safe reload
[11:29:06] [ROWS] ===== updateMessageCell for 1614 β€” chatRows.count=51 =====
[11:29:06] [ROWS] 0: SEPARATOR
[11:29:06] [ROWS] 1: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=4
[11:29:06] [ROWS] 2: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=6 textLen=6
[11:29:06] [ROWS] 3: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:06] [ROWS] 4: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:06] [ROWS] 5: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:29:06] [ROWS] 6: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:29:06] [ROWS] 7: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:06] [ROWS] 8: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:06] [ROWS] 9: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:29:06] [ROWS] 10: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:06] [ROWS] 11: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:06] [ROWS] 12: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:06] [ROWS] 13: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:06] [ROWS] 14: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:29:06] [ROWS] 15: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:06] [ROWS] 16: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:06] [ROWS] 17: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:06] [ROWS] 18: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:06] [ROWS] 19: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:06] [ROWS] 20: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:06] [ROWS] 21: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:29:06] [ROWS] 22: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:29:06] [ROWS] 23: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:06] [ROWS] 24: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:06] [ROWS] 25: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:06] [ROWS] 26: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:06] [ROWS] 27: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:06] [ROWS] 28: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:06] [ROWS] 29: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:06] [ROWS] 30: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:06] [ROWS] 31: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:06] [ROWS] 32: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:06] [ROWS] 33: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:06] [ROWS] 34: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:06] [ROWS] 35: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:06] [ROWS] 36: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:06] [ROWS] 37: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:29:06] [ROWS] 38: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:06] [ROWS] 39: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:06] [ROWS] 40: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:29:06] [ROWS] 41: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:06] [ROWS] 42: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:06] [ROWS] 43: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:06] [ROWS] 44: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:29:06] [ROWS] 45: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:29:06] [ROWS] 46: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:06] [ROWS] 47: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:06] [ROWS] 48: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:06] [ROWS] 49: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:06] [ROWS] 50: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:06] [ROWS] ===== END (updateMessageCell for 1614) =====
[11:29:06] [HEIGHT_DEBUG] Row 1 msg 1614: isPlayingEvolution=true, textLength=0, text='...'
[11:29:06] [HEIGHT] Row 1 msg 1614: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:29:06] [HEIGHT_DEBUG] Row 2 msg 1613: isPlayingEvolution=false, textLength=6, text='QUATRE...'
[11:29:06] [HEIGHT] Row 2 msg 1613: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:29:06] [HEIGHT_DEBUG] Row 1 msg 1614: isPlayingEvolution=true, textLength=0, text='...'
[11:29:06] [HEIGHT] Row 1 msg 1614: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:29:06] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:29:06] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:29:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:29:06] [HEIGHT_DEBUG] Row 2 msg 1613: isPlayingEvolution=false, textLength=6, text='QUATRE...'
[11:29:06] [HEIGHT] Row 2 msg 1613: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:29:06] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:06] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:06] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:06] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:06] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:06] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:06] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:06] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:06] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:06] [EVOLUTION] ▢️ Starting inline playback for message 1614 with 4 events
[11:29:06] [EVOLUTION] πŸ“ Event 0/4 - Text now: "C..."
[11:29:06] [UPDATE] πŸ”„ updateMessageCell(for: 1614) β€” full safe reload
[11:29:06] [ROWS] ===== updateMessageCell for 1614 β€” chatRows.count=51 =====
[11:29:06] [ROWS] 0: SEPARATOR
[11:29:06] [ROWS] 1: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=1 textLen=4
[11:29:06] [ROWS] 2: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=6 textLen=6
[11:29:06] [ROWS] 3: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:06] [ROWS] 4: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:06] [ROWS] 5: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:29:06] [ROWS] 6: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:29:06] [ROWS] 7: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:06] [ROWS] 8: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:06] [ROWS] 9: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:29:06] [ROWS] 10: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:06] [ROWS] 11: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:06] [ROWS] 12: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:06] [ROWS] 13: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:06] [ROWS] 14: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:29:06] [ROWS] 15: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:06] [ROWS] 16: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:06] [ROWS] 17: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:06] [ROWS] 18: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:06] [ROWS] 19: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:06] [ROWS] 20: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:06] [ROWS] 21: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:29:06] [ROWS] 22: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:29:06] [ROWS] 23: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:06] [ROWS] 24: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:06] [ROWS] 25: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:06] [ROWS] 26: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:06] [ROWS] 27: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:06] [ROWS] 28: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:06] [ROWS] 29: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:06] [ROWS] 30: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:06] [ROWS] 31: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:06] [ROWS] 32: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:06] [ROWS] 33: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:06] [ROWS] 34: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:06] [ROWS] 35: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:06] [ROWS] 36: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:06] [ROWS] 37: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:29:06] [ROWS] 38: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:06] [ROWS] 39: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:06] [ROWS] 40: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:29:06] [ROWS] 41: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:06] [ROWS] 42: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:06] [ROWS] 43: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:06] [ROWS] 44: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:29:06] [ROWS] 45: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:29:06] [ROWS] 46: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:06] [ROWS] 47: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:06] [ROWS] 48: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:06] [ROWS] 49: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:06] [ROWS] 50: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:06] [ROWS] ===== END (updateMessageCell for 1614) =====
[11:29:06] [HEIGHT_DEBUG] Row 1 msg 1614: isPlayingEvolution=true, textLength=1, text='C...'
[11:29:06] [HEIGHT] Row 1 msg 1614: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:29:06] [HEIGHT_DEBUG] Row 2 msg 1613: isPlayingEvolution=false, textLength=6, text='QUATRE...'
[11:29:06] [HEIGHT] Row 2 msg 1613: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:29:06] [HEIGHT_DEBUG] Row 1 msg 1614: isPlayingEvolution=true, textLength=1, text='C...'
[11:29:06] [HEIGHT] Row 1 msg 1614: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:29:06] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:29:06] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:29:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:06] [HEIGHT_DEBUG] Row 2 msg 1613: isPlayingEvolution=false, textLength=6, text='QUATRE...'
[11:29:06] [HEIGHT] Row 2 msg 1613: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:29:06] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:06] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:06] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:06] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:06] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:06] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:06] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:06] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:06] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:06] [EVOLUTION] πŸ“ Event 1/4 - Text now: "CI..."
[11:29:06] [UPDATE] πŸ”„ updateMessageCell(for: 1614) β€” full safe reload
[11:29:06] [ROWS] ===== updateMessageCell for 1614 β€” chatRows.count=51 =====
[11:29:06] [ROWS] 0: SEPARATOR
[11:29:06] [ROWS] 1: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=2 textLen=4
[11:29:06] [ROWS] 2: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=6 textLen=6
[11:29:06] [ROWS] 3: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:06] [ROWS] 4: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:06] [ROWS] 5: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:29:06] [ROWS] 6: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:29:06] [ROWS] 7: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:06] [ROWS] 8: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:06] [ROWS] 9: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:29:06] [ROWS] 10: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:06] [ROWS] 11: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:06] [ROWS] 12: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:06] [ROWS] 13: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:06] [ROWS] 14: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:29:06] [ROWS] 15: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:06] [ROWS] 16: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:06] [ROWS] 17: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:06] [ROWS] 18: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:06] [ROWS] 19: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:06] [ROWS] 20: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:06] [ROWS] 21: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:29:06] [ROWS] 22: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:29:06] [ROWS] 23: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:06] [ROWS] 24: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:06] [ROWS] 25: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:06] [ROWS] 26: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:06] [ROWS] 27: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:06] [ROWS] 28: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:06] [ROWS] 29: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:06] [ROWS] 30: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:06] [ROWS] 31: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:06] [ROWS] 32: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:06] [ROWS] 33: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:06] [ROWS] 34: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:06] [ROWS] 35: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:06] [ROWS] 36: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:06] [ROWS] 37: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:29:06] [ROWS] 38: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:06] [ROWS] 39: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:06] [ROWS] 40: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:29:06] [ROWS] 41: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:06] [ROWS] 42: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:06] [ROWS] 43: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:06] [ROWS] 44: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:29:06] [ROWS] 45: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:29:06] [ROWS] 46: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:06] [ROWS] 47: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:06] [ROWS] 48: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:06] [ROWS] 49: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:06] [ROWS] 50: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:06] [ROWS] ===== END (updateMessageCell for 1614) =====
[11:29:06] [HEIGHT_DEBUG] Row 1 msg 1614: isPlayingEvolution=true, textLength=2, text='CI...'
[11:29:06] [HEIGHT] Row 1 msg 1614: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:29:06] [HEIGHT_DEBUG] Row 2 msg 1613: isPlayingEvolution=false, textLength=6, text='QUATRE...'
[11:29:06] [HEIGHT] Row 2 msg 1613: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:29:06] [HEIGHT_DEBUG] Row 1 msg 1614: isPlayingEvolution=true, textLength=2, text='CI...'
[11:29:06] [HEIGHT] Row 1 msg 1614: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:29:06] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:29:06] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:29:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:06] [HEIGHT_DEBUG] Row 2 msg 1613: isPlayingEvolution=false, textLength=6, text='QUATRE...'
[11:29:06] [HEIGHT] Row 2 msg 1613: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:29:06] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:06] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:06] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:06] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:06] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:06] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:06] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:06] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:06] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:06] [EVOLUTION] πŸ“ Event 2/4 - Text now: "CIN..."
[11:29:06] [UPDATE] πŸ”„ updateMessageCell(for: 1614) β€” full safe reload
[11:29:06] [ROWS] ===== updateMessageCell for 1614 β€” chatRows.count=51 =====
[11:29:06] [ROWS] 0: SEPARATOR
[11:29:06] [ROWS] 1: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=3 textLen=4
[11:29:06] [ROWS] 2: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=6 textLen=6
[11:29:06] [ROWS] 3: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:06] [ROWS] 4: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:06] [ROWS] 5: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:29:06] [ROWS] 6: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:29:06] [ROWS] 7: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:06] [ROWS] 8: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:06] [ROWS] 9: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:29:06] [ROWS] 10: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:06] [ROWS] 11: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:06] [ROWS] 12: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:06] [ROWS] 13: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:06] [ROWS] 14: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:29:06] [ROWS] 15: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:06] [ROWS] 16: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:06] [ROWS] 17: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:06] [ROWS] 18: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:06] [ROWS] 19: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:06] [ROWS] 20: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:06] [ROWS] 21: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:29:06] [ROWS] 22: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:29:06] [ROWS] 23: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:06] [ROWS] 24: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:06] [ROWS] 25: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:06] [ROWS] 26: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:06] [ROWS] 27: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:06] [ROWS] 28: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:06] [ROWS] 29: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:06] [ROWS] 30: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:06] [ROWS] 31: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:06] [ROWS] 32: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:06] [ROWS] 33: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:06] [ROWS] 34: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:06] [ROWS] 35: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:06] [ROWS] 36: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:06] [ROWS] 37: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:29:06] [ROWS] 38: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:06] [ROWS] 39: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:06] [ROWS] 40: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:29:06] [ROWS] 41: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:06] [ROWS] 42: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:06] [ROWS] 43: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:06] [ROWS] 44: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:29:06] [ROWS] 45: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:29:06] [ROWS] 46: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:06] [ROWS] 47: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:06] [ROWS] 48: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:06] [ROWS] 49: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:06] [ROWS] 50: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:06] [ROWS] ===== END (updateMessageCell for 1614) =====
[11:29:06] [HEIGHT_DEBUG] Row 1 msg 1614: isPlayingEvolution=true, textLength=3, text='CIN...'
[11:29:06] [HEIGHT] Row 1 msg 1614: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:29:06] [HEIGHT_DEBUG] Row 2 msg 1613: isPlayingEvolution=false, textLength=6, text='QUATRE...'
[11:29:06] [HEIGHT] Row 2 msg 1613: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:29:06] [HEIGHT_DEBUG] Row 1 msg 1614: isPlayingEvolution=true, textLength=3, text='CIN...'
[11:29:06] [HEIGHT] Row 1 msg 1614: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:29:06] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:29:06] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:29:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:06] [HEIGHT_DEBUG] Row 2 msg 1613: isPlayingEvolution=false, textLength=6, text='QUATRE...'
[11:29:06] [HEIGHT] Row 2 msg 1613: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:29:06] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:06] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:06] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:06] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:06] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:06] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:06] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:06] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:06] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:06] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:29:06] Will get events_php
[11:29:06] [TYPING] πŸ”„ ========== POLL START ==========
[11:29:06] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:29:06] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:29:06] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:29:06] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:29:06] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:29:06] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:29:06] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2]
[11:29:06] [TYPING] πŸ“₯ Found 0 typing users in response
[11:29:06] [TYPING] πŸ“₯ Updating typing users SET: []
[11:29:06] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:29:06] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:29:06] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:29:06] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:29:06] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:29:06] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:29:06] [TYPING] πŸ”„ ========== POLL END ==========
[11:29:06] [EVT] get_events.php HTTP 200
── Response Headers ──
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:29:06 GMT
Content-Type: application/json; charset=utf-8
X-Powered-By: PHP/8.4.14
Keep-Alive: timeout=5, max=94
Content-Length: 56
Connection: Keep-Alive
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:29:06] Done
[11:29:06] Main
[11:29:07] [EVOLUTION] πŸ“ Event 3/4 - Text now: "CINQ..."
[11:29:07] [UPDATE] πŸ”„ updateMessageCell(for: 1614) β€” full safe reload
[11:29:07] [ROWS] ===== updateMessageCell for 1614 β€” chatRows.count=51 =====
[11:29:07] [ROWS] 0: SEPARATOR
[11:29:07] [ROWS] 1: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=4 textLen=4
[11:29:07] [ROWS] 2: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=6 textLen=6
[11:29:07] [ROWS] 3: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:07] [ROWS] 4: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:07] [ROWS] 5: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:29:07] [ROWS] 6: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:29:07] [ROWS] 7: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:07] [ROWS] 8: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:07] [ROWS] 9: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:29:07] [ROWS] 10: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:07] [ROWS] 11: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:07] [ROWS] 12: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:07] [ROWS] 13: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:07] [ROWS] 14: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:29:07] [ROWS] 15: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:07] [ROWS] 16: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:07] [ROWS] 17: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:07] [ROWS] 18: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:07] [ROWS] 19: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:07] [ROWS] 20: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:07] [ROWS] 21: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:29:07] [ROWS] 22: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:29:07] [ROWS] 23: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:07] [ROWS] 24: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:07] [ROWS] 25: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:07] [ROWS] 26: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:07] [ROWS] 27: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:07] [ROWS] 28: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:07] [ROWS] 29: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:07] [ROWS] 30: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:07] [ROWS] 31: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:07] [ROWS] 32: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:07] [ROWS] 33: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:07] [ROWS] 34: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:07] [ROWS] 35: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:07] [ROWS] 36: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:07] [ROWS] 37: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:29:07] [ROWS] 38: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:07] [ROWS] 39: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:07] [ROWS] 40: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:29:07] [ROWS] 41: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:07] [ROWS] 42: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:07] [ROWS] 43: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:07] [ROWS] 44: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:29:07] [ROWS] 45: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:29:07] [ROWS] 46: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:07] [ROWS] 47: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:07] [ROWS] 48: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:07] [ROWS] 49: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:07] [ROWS] 50: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:07] [ROWS] ===== END (updateMessageCell for 1614) =====
[11:29:07] [HEIGHT_DEBUG] Row 1 msg 1614: isPlayingEvolution=true, textLength=4, text='CINQ...'
[11:29:07] [HEIGHT] Row 1 msg 1614: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:29:07] [HEIGHT_DEBUG] Row 2 msg 1613: isPlayingEvolution=false, textLength=6, text='QUATRE...'
[11:29:07] [HEIGHT] Row 2 msg 1613: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:29:07] [HEIGHT_DEBUG] Row 1 msg 1614: isPlayingEvolution=true, textLength=4, text='CINQ...'
[11:29:07] [HEIGHT] Row 1 msg 1614: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:29:07] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:29:07] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:29:07] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:07] [HEIGHT_DEBUG] Row 2 msg 1613: isPlayingEvolution=false, textLength=6, text='QUATRE...'
[11:29:07] [HEIGHT] Row 2 msg 1613: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:29:07] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:07] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:07] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:07] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:07] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:07] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:07] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:07] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:07] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:07] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:07] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:07] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:07] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:07] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:07] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:07] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:07] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:07] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:07] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:07] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:07] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:07] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:07] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:07] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:07] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:07] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:07] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:07] [EVOLUTION_SEQ] ⏱️ t=1763288947.173 βœ… Finished message 1614 - duration=0.99s, length=4 chars, speed=4 chars/s
[11:29:07] [UPDATE] πŸ”„ updateMessageCell(for: 1614) β€” full safe reload
[11:29:07] [ROWS] ===== updateMessageCell for 1614 β€” chatRows.count=51 =====
[11:29:07] [ROWS] 0: SEPARATOR
[11:29:07] [ROWS] 1: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=4 textLen=4
[11:29:07] [ROWS] 2: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=6 textLen=6
[11:29:07] [ROWS] 3: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:07] [ROWS] 4: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:07] [ROWS] 5: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:29:07] [ROWS] 6: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:29:07] [ROWS] 7: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:07] [ROWS] 8: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:07] [ROWS] 9: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:29:07] [ROWS] 10: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:07] [ROWS] 11: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:07] [ROWS] 12: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:07] [ROWS] 13: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:07] [ROWS] 14: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:29:07] [ROWS] 15: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:07] [ROWS] 16: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:07] [ROWS] 17: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:07] [ROWS] 18: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:07] [ROWS] 19: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:07] [ROWS] 20: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:07] [ROWS] 21: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:29:07] [ROWS] 22: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:29:07] [ROWS] 23: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:07] [ROWS] 24: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:07] [ROWS] 25: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:07] [ROWS] 26: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:07] [ROWS] 27: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:07] [ROWS] 28: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:07] [ROWS] 29: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:07] [ROWS] 30: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:07] [ROWS] 31: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:07] [ROWS] 32: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:07] [ROWS] 33: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:07] [ROWS] 34: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:07] [ROWS] 35: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:07] [ROWS] 36: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:07] [ROWS] 37: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:29:07] [ROWS] 38: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:07] [ROWS] 39: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:07] [ROWS] 40: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:29:07] [ROWS] 41: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:07] [ROWS] 42: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:07] [ROWS] 43: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:07] [ROWS] 44: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:29:07] [ROWS] 45: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:29:07] [ROWS] 46: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:07] [ROWS] 47: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:07] [ROWS] 48: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:07] [ROWS] 49: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:07] [ROWS] 50: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:07] [ROWS] ===== END (updateMessageCell for 1614) =====
[11:29:07] [HEIGHT_DEBUG] Row 1 msg 1614: isPlayingEvolution=false, textLength=4, text='CINQ...'
[11:29:07] [HEIGHT] Row 1 msg 1614: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:29:07] [HEIGHT_DEBUG] Row 2 msg 1613: isPlayingEvolution=false, textLength=6, text='QUATRE...'
[11:29:07] [HEIGHT] Row 2 msg 1613: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:29:07] [HEIGHT_DEBUG] Row 1 msg 1614: isPlayingEvolution=false, textLength=4, text='CINQ...'
[11:29:07] [HEIGHT] Row 1 msg 1614: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:29:07] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:29:07] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:29:07] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:07] [HEIGHT_DEBUG] Row 2 msg 1613: isPlayingEvolution=false, textLength=6, text='QUATRE...'
[11:29:07] [HEIGHT] Row 2 msg 1613: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:29:07] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:07] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:07] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:07] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:07] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:07] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:07] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:07] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:07] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:07] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:07] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:07] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:07] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:07] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:07] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:07] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:07] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:07] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:07] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:07] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:07] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:07] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:07] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:07] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:07] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:07] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:07] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:07] [EVOLUTION_SEQ] ⏱️ t=1763288947.188 βœ… All queued messages have been played
[11:29:07] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:29:07] [INFO_PAGE] Found 429 messages for session 'ILUIWU2'
[11:29:07] [INFO_PAGE] Total messages in database: 1195
[11:29:08] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:29:08] Will get events_php
[11:29:08] [TYPING] πŸ”„ ========== POLL START ==========
[11:29:08] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:29:08] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:29:08] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:29:08] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:29:08] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:29:08] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:29:08] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:29:08] [TYPING] πŸ“₯ Found 0 typing users in response
[11:29:08] [TYPING] πŸ“₯ Updating typing users SET: []
[11:29:08] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:29:08] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:29:08] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:29:08] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:29:08] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:29:08] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:29:08] [TYPING] πŸ”„ ========== POLL END ==========
[11:29:08] [EVT] get_events.php HTTP 200
── Response Headers ──
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:29:08 GMT
Content-Type: application/json; charset=utf-8
X-Powered-By: PHP/8.4.14
Keep-Alive: timeout=5, max=92
Content-Length: 56
Connection: Keep-Alive
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:29:08] Done
[11:29:08] Main
[11:29:10] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:29:10] Will get events_php
[11:29:10] [TYPING] πŸ”„ ========== POLL START ==========
[11:29:10] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:29:10] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:29:10] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:29:10] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:29:10] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:29:10] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:29:10] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2, "status": ok]
[11:29:10] [TYPING] πŸ“₯ Found 0 typing users in response
[11:29:10] [TYPING] πŸ“₯ Updating typing users SET: []
[11:29:10] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:29:10] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:29:10] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:29:10] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:29:10] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:29:10] [EVT] get_events.php HTTP 200
── Response Headers ──
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:29:10 GMT
Content-Type: application/json; charset=utf-8
X-Powered-By: PHP/8.4.14
Keep-Alive: timeout=5, max=91
Content-Length: 56
Connection: Keep-Alive
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:29:10] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:29:10] [TYPING] πŸ”„ ========== POLL END ==========
[11:29:10] Done
[11:29:10] Main
[11:29:12] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:29:12] [INFO_PAGE] Found 429 messages for session 'ILUIWU2'
[11:29:12] [INFO_PAGE] Total messages in database: 1195
[11:29:12] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:29:12] Will get events_php
[11:29:12] [TYPING] πŸ”„ ========== POLL START ==========
[11:29:12] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:29:12] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:29:12] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:29:12] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:29:12] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:29:12] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:29:12] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2]
[11:29:12] [TYPING] πŸ“₯ Found 0 typing users in response
[11:29:12] [TYPING] πŸ“₯ Updating typing users SET: []
[11:29:12] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:29:12] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:29:12] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:29:12] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:29:12] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:29:12] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:29:12] [TYPING] πŸ”„ ========== POLL END ==========
[11:29:12] [EVT] get_events.php HTTP 200
── Response Headers ──
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:29:12 GMT
Content-Type: application/json; charset=utf-8
X-Powered-By: PHP/8.4.14
Keep-Alive: timeout=5, max=89
Content-Length: 56
Connection: Keep-Alive
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:29:12] Done
[11:29:12] Main
[11:29:14] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:29:14] Will get events_php
[11:29:14] [TYPING] πŸ”„ ========== POLL START ==========
[11:29:14] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:29:14] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:29:14] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:29:14] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:29:14] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:29:14] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:29:14] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2]
[11:29:14] [TYPING] πŸ“₯ Found 0 typing users in response
[11:29:14] [TYPING] πŸ“₯ Updating typing users SET: []
[11:29:14] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:29:14] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:29:14] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:29:14] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:29:14] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:29:14] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:29:14] [TYPING] πŸ”„ ========== POLL END ==========
[11:29:14] [EVT] get_events.php HTTP 200
── Response Headers ──
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:29:14 GMT
Content-Type: application/json; charset=utf-8
X-Powered-By: PHP/8.4.14
Keep-Alive: timeout=5, max=88
Content-Length: 56
Connection: Keep-Alive
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:29:14] Done
[11:29:14] Main
[11:29:16] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:29:16] Will get events_php
[11:29:16] [TYPING] πŸ”„ ========== POLL START ==========
[11:29:16] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:29:16] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:29:16] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:29:16] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:29:16] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:29:16] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:29:16] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:29:16] [TYPING] πŸ“₯ Found 0 typing users in response
[11:29:16] [TYPING] πŸ“₯ Updating typing users SET: []
[11:29:16] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:29:16] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:29:16] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:29:16] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:29:16] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:29:16] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:29:16] [TYPING] πŸ”„ ========== POLL END ==========
[11:29:16] [EVT] get_events.php HTTP 200
── Response Headers ──
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:29:16 GMT
Content-Type: application/json; charset=utf-8
X-Powered-By: PHP/8.4.14
Keep-Alive: timeout=5, max=87
Content-Length: 56
Connection: Keep-Alive
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:29:16] Done
[11:29:16] Main
[11:29:17] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:29:17] [INFO_PAGE] Found 429 messages for session 'ILUIWU2'
[11:29:17] [INFO_PAGE] Total messages in database: 1195
[11:29:18] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:29:18] Will get events_php
[11:29:18] [TYPING] πŸ”„ ========== POLL START ==========
[11:29:18] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:29:18] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:29:18] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:29:18] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:29:18] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:29:18] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[{"senderId":"E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE","senderName":"LoloTest"}]}
[11:29:18] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSSingleObjectArrayI 0x155099090>(
{
    senderId = "E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE";
    senderName = LoloTest;
}
)
, "status": ok, "sessionId": ILUIWU2]
[11:29:18] [TYPING] πŸ“₯ Found 1 typing users in response
[11:29:18] [EVT] get_events.php HTTP 200
── Response Headers ──
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:29:18 GMT
Content-Type: application/json; charset=utf-8
X-Powered-By: PHP/8.4.14
Keep-Alive: timeout=5, max=85
Content-Length: 56
Connection: Keep-Alive
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:29:18] [TYPING] πŸ“₯ Processing user [1/1]: ["senderId": E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE, "senderName": LoloTest]
[11:29:18] [TYPING] πŸ“₯   senderId: 'E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE' (length: 36)
[11:29:18] Done
[11:29:18] [TYPING] πŸ“₯   senderName: 'LoloTest'
[11:29:18] [TYPING] πŸ“₯   myUserId: '3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF' (length: 36)
[11:29:18] [TYPING] πŸ“₯   Are they equal? false
[11:29:18] [TYPING] πŸ“₯ βœ… ADDED E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE (LoloTest) to currentTypingUsers
[11:29:18] [TYPING] πŸ“₯ Updating typing users SET: [Eye.TypingUser(userId: "E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE", displayName: "LoloTest")]
[11:29:18] [TYPING] πŸ“₯ About to set self.typingUsers from [] to [Eye.TypingUser(userId: "E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE", displayName: "LoloTest")]
[11:29:18] [TYPING] πŸ“₯ After update, self.typingUsers = [Eye.TypingUser(userId: "E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE", displayName: "LoloTest")]
[11:29:18] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=1, typingUsers=[Eye.TypingUser(userId: "E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE", displayName: "LoloTest")]
[11:29:18] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:29:18] [TYPING] πŸ”” ========== SHOWING TYPING INDICATOR ==========
[11:29:18] [TYPING] πŸ”” Text: "LoloTest is typing..."
[11:29:18] [TYPING] πŸ”” Frame: (16.0, 842.0, 408.0, 20.0)
[11:29:18] [TYPING] πŸ”” Bounds: (0.0, 0.0, 408.0, 20.0)
[11:29:18] [TYPING] πŸ”” isHidden: false
[11:29:18] [TYPING] πŸ”” alpha: 1.0
[11:29:18] [TYPING] πŸ”” backgroundColor: Optional(UIExtendedSRGBColorSpace 0.2 0.5 0.9 0.8)
[11:29:18] [TYPING] πŸ”” textColor: Optional(UIExtendedGrayColorSpace 1 1)
[11:29:18] [TYPING] πŸ”” font: Optional(<UICTFont: 0x15438d900> font-family: ".SFUI-Medium"; font-weight: normal; font-style: normal; font-size: 13.00pt)
[11:29:18] [TYPING] πŸ”” superview: YES
[11:29:18] [TYPING] πŸ”” superview.frame: (0.0, 0.0, 440.0, 956.0)
[11:29:18] [TYPING] πŸ”” superview.bounds: (0.0, 0.0, 440.0, 956.0)
[11:29:18] [TYPING] πŸ”” inputBar.frame: (0.0, 870.0, 440.0, 52.0)
[11:29:18] [TYPING] πŸ”” Number of subviews in view: 16
[11:29:18] [TYPING] πŸ”” ========================================
[11:29:18] [TYPING] πŸ“₯ βœ… POLL RESULT: 1 users typing
[11:29:18] [TYPING] πŸ”„ ========== POLL END ==========
[11:29:18] Main
[11:29:20] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:29:20] Will get events_php
[11:29:20] [TYPING] πŸ”„ ========== POLL START ==========
[11:29:20] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:29:20] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:29:20] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:29:20] [TYPING] πŸ”„ Current typingUsers.count: 1
[11:29:20] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:29:20] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[{"senderId":"E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE","senderName":"LoloTest"}]}
[11:29:20] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "status": ok, "typingUsers": <__NSSingleObjectArrayI 0x155098d60>(
{
    senderId = "E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE";
    senderName = LoloTest;
}
)
]
[11:29:20] [TYPING] πŸ“₯ Found 1 typing users in response
[11:29:20] [TYPING] πŸ“₯ Processing user [1/1]: ["senderId": E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE, "senderName": LoloTest]
[11:29:20] [TYPING] πŸ“₯   senderId: 'E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE' (length: 36)
[11:29:20] [TYPING] πŸ“₯   senderName: 'LoloTest'
[11:29:20] [TYPING] πŸ“₯   myUserId: '3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF' (length: 36)
[11:29:20] [TYPING] πŸ“₯   Are they equal? false
[11:29:20] [TYPING] πŸ“₯ βœ… ADDED E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE (LoloTest) to currentTypingUsers
[11:29:20] [TYPING] πŸ“₯ Updating typing users SET: [Eye.TypingUser(userId: "E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE", displayName: "LoloTest")]
[11:29:20] [TYPING] πŸ“₯ About to set self.typingUsers from [Eye.TypingUser(userId: "E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE", displayName: "LoloTest")] to [Eye.TypingUser(userId: "E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE", displayName: "LoloTest")]
[11:29:20] [TYPING] πŸ“₯ After update, self.typingUsers = [Eye.TypingUser(userId: "E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE", displayName: "LoloTest")]
[11:29:20] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=1, typingUsers=[Eye.TypingUser(userId: "E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE", displayName: "LoloTest")]
[11:29:20] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:29:20] [TYPING] πŸ”” ========== SHOWING TYPING INDICATOR ==========
[11:29:20] [TYPING] πŸ”” Text: "LoloTest is typing..."
[11:29:20] [TYPING] πŸ”” Frame: (16.0, 842.0, 408.0, 20.0)
[11:29:20] [TYPING] πŸ”” Bounds: (0.0, 0.0, 408.0, 20.0)
[11:29:20] [EVT] get_events.php HTTP 200
── Response Headers ──
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Content-Length: 56
X-Powered-By: PHP/8.4.14
Keep-Alive: timeout=5, max=84
Connection: Keep-Alive
Date: Sun, 16 Nov 2025 10:29:20 GMT
Content-Type: application/json; charset=utf-8
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:29:20] [TYPING] πŸ”” isHidden: false
[11:29:20] [TYPING] πŸ”” alpha: 1.0
[11:29:20] Done
[11:29:20] [TYPING] πŸ”” backgroundColor: Optional(UIExtendedSRGBColorSpace 0.2 0.5 0.9 0.8)
[11:29:20] [TYPING] πŸ”” textColor: Optional(UIExtendedGrayColorSpace 1 1)
[11:29:20] [TYPING] πŸ”” font: Optional(<UICTFont: 0x15438d900> font-family: ".SFUI-Medium"; font-weight: normal; font-style: normal; font-size: 13.00pt)
[11:29:20] [TYPING] πŸ”” superview: YES
[11:29:20] [TYPING] πŸ”” superview.frame: (0.0, 0.0, 440.0, 956.0)
[11:29:20] [TYPING] πŸ”” superview.bounds: (0.0, 0.0, 440.0, 956.0)
[11:29:20] [TYPING] πŸ”” inputBar.frame: (0.0, 870.0, 440.0, 52.0)
[11:29:20] [TYPING] πŸ”” Number of subviews in view: 16
[11:29:20] [TYPING] πŸ”” ========================================
[11:29:20] [TYPING] πŸ“₯ βœ… POLL RESULT: 1 users typing
[11:29:20] [TYPING] πŸ”„ ========== POLL END ==========
[11:29:20] Main
[11:29:22] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:29:22] [INFO_PAGE] Found 429 messages for session 'ILUIWU2'
[11:29:22] [INFO_PAGE] Total messages in database: 1195
[11:29:22] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_id"): 1615, AnyHashable("session_id"): ILUIWU2, AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("operation_type"): 0]
[11:29:22] [PUSH] Parsed message_id: 1615
[11:29:22] [PUSH] Parsed operation_type: 0
[11:29:22] [PUSH] Taking direct action: opType=0, messageId=1615
[11:29:22] [PUSH] TakeActionFromPush called: OperationType=0, MessageIds=1615
[11:29:22] [PUSH] Handling message fetch for opType=0, messageId=1615
[11:29:22] [PUSH] Requesting URL: http://crivello.dyndns.org:81/WebRTC/chat/chat_get_messages.php?session_id=ILUIWU2&viewer=1&messages=1615
[11:29:22] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:29:22] Will get events_php
[11:29:22] [TYPING] πŸ”„ ========== POLL START ==========
[11:29:22] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:29:22] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:29:22] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:29:22] [TYPING] πŸ”„ Current typingUsers.count: 1
[11:29:22] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:29:22] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:29:22] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2, "status": ok]
[11:29:22] [TYPING] πŸ“₯ Found 0 typing users in response
[11:29:22] [TYPING] πŸ“₯ Updating typing users SET: []
[11:29:22] [TYPING] πŸ“₯ About to set self.typingUsers from [Eye.TypingUser(userId: "E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE", displayName: "LoloTest")] to []
[11:29:22] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:29:22] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:29:22] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:29:22] [EVT] get_events.php HTTP 200
── Response Headers ──
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:29:22 GMT
Keep-Alive: timeout=5, max=82
X-Powered-By: PHP/8.4.14
Connection: Keep-Alive
Content-Length: 56
Content-Type: application/json; charset=utf-8
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:29:22] Done
[11:29:22] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:29:22] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:29:22] [TYPING] πŸ”„ ========== POLL END ==========
[11:29:22] Main
[11:29:23] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_id"): 1615, AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("session_id"): ILUIWU2, AnyHashable("operation_type"): 3]
[11:29:23] [PUSH] Parsed message_id: 1615
[11:29:23] [PUSH] Parsed operation_type: 3
[11:29:23] [PUSH] Taking direct action: opType=3, messageId=1615
[11:29:23] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=1615
[11:29:24] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_id"): 1615, AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("session_id"): ILUIWU2, AnyHashable("operation_type"): 3]
[11:29:24] [PUSH] Parsed message_id: 1615
[11:29:24] [PUSH] Parsed operation_type: 3
[11:29:24] [PUSH] Taking direct action: opType=3, messageId=1615
[11:29:24] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=1615
[11:29:24] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:29:24] Will get events_php
[11:29:24] [TYPING] πŸ”„ ========== POLL START ==========
[11:29:24] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:29:24] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:29:24] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:29:24] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:29:24] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:29:24] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:29:24] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2]
[11:29:24] [TYPING] πŸ“₯ Found 0 typing users in response
[11:29:24] [TYPING] πŸ“₯ Updating typing users SET: []
[11:29:24] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:29:24] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:29:24] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:29:24] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:29:24] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:29:24] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:29:24] [TYPING] πŸ”„ ========== POLL END ==========
[11:29:25] [PUSH] get_message response: HTTP 200, 512 bytes
[11:29:25] [PUSH] get_message response body: [{"message_type":0,"message_id":1615,"session_id":"ILUIWU2","message":"About to call autoPlayEvolutionForUnreadMessageIds","file_name":"","msgread":0,"datesent":"2025-11-16 10:29:21","timer":0,"timer_started_at":null,"sender_id":"E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE","sender_name":"LoloTest","distance":null,"link_url":null,"link_title":null,"link_description":null,"link_image_url":null,"reply_to_id":null,"replied_message":null,"replied_sender_id":null,"replied_sender_name":null,"ViewerMode":0,"read_by":[]}]
[11:29:25] [EVOLUTION] 🎬 Preparing message 1615 for evolution playback (starting from empty)
[11:29:25] [PUSH] Added new message 1615 to chatMessages with readBy: 0 readers
[11:29:25] [PUSH] Added new message 1615 to allMessagesWithReadBy with readBy: 0 readers
[11:29:25] [ANIMATION] πŸ“Œ PUSH: Added message 1615 to newlyAddedMessageIds (willPlayEvolution=true)
[11:29:25] [PUSH_DEBUG] After inserting message 1615, existing messages readBy status:
[11:29:25] [PUSH_DEBUG]   msg[0] id=1615, readBy.count=0
[11:29:25] [PUSH_DEBUG]   msg[1] id=1614, readBy.count=1
[11:29:54] [CRASH] Previous session did not exit cleanly - crash detected
[11:29:54] [GIPHY] SDK not available - using REST API fallback
[11:29:54] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:29:54] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:29:54] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:29:54] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:29:54] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:29:54] [SCENE] Launched directly to chat view with sessionId: ILUIWU2
[11:29:54] [PUSH] APNs token: 6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c
[11:29:54] [PUSH] APNs token: 6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c
[11:29:55] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:29:55] [PUSH] Device role updated to 'viewer': HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:29:55] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:29:55] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:29:55] Documents Directory: /var/mobile/Containers/Data/Application/99E50E02-72C6-420A-A726-B45A9E3AAB91/Documents
[11:29:55] [NOTIFICATION] πŸ”” Notification button created and added to topNavBar
[11:29:55] [NOTIFICATION] πŸ”” Button tintColor: grey (0.5, 0.5, 0.5)
[11:29:55] [NOTIFICATION] πŸ”” Button isUserInteractionEnabled: true
[11:29:55] [INFO_PAGE] InformationViewController viewDidLoad called
[11:29:55] [INFO_PAGE] Actions configured (bell button is external)
[11:29:55] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:29:55] [INFO_PAGE] Successfully opened database at /var/mobile/Containers/Data/Application/99E50E02-72C6-420A-A726-B45A9E3AAB91/Documents/chat_local_viewer.db
[11:29:55] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:29:55] [INFO_PAGE] Found 430 messages for session 'ILUIWU2'
[11:29:55] [INFO_PAGE] Total messages in database: 1196
[11:29:55] [INFO_PAGE] InformationViewController setup complete
[11:29:55] [INFO_PAGE] ℹ️ Information page added to tab 3
[11:29:55] [THEME] Applying current theme
[11:29:55] [CHAT] Applied day theme (mode: day)
[11:29:55] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:29:55] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:29:55] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:29:55] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:29:55] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:29:55] [SUMMARY] Already showed summary today (2025-11-16)
[11:29:55] Did transition
[11:29:55] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:29:55] [VIEWER] Screen lock enabled - normal idle behavior
[11:29:55] [QUERY] πŸ” Checking tab - currentTabIndex=0
[11:29:55] [QUERY] πŸ”΅ [TAB 0] No query connection needed
[11:29:55] [QUERY] βœ… [TAB 0] Initialized without query connection
[11:29:55] [LOCATION] Started location updates for distance calculation (already authorized)
[11:29:55] [TAB 0] Skipping reconnect polling - only needed for tab 1
[11:29:55] [VIEWER_INIT] Loading messages with read receipts from server
[11:29:55] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:29:55] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:29:55] [DB]   msg[0] id=1615, isMyMessage=false, readBy.count=0
[11:29:55] [DB]   msg[1] id=1614, isMyMessage=false, readBy.count=0
[11:29:55] [DB]   msg[2] id=1613, isMyMessage=false, readBy.count=0
[11:29:55] [EVOLUTION] πŸ” Found 1 NEW unread messages from local DB before fetching read receipts (lastSeenMessageId=1614): [1615]
[11:29:55] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1615, readBy=[]", "id=1614, readBy=[]", "id=1613, readBy=[]"]
[11:29:55] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:29:55] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:29:55] [DB]   msg[0] id=1615, isMyMessage=false, readBy.count=0
[11:29:55] [DB]   msg[1] id=1614, isMyMessage=false, readBy.count=0
[11:29:55] [DB]   msg[2] id=1613, isMyMessage=false, readBy.count=0
[11:29:55] [EVENT_POLL] Starting periodic event polling for viewer mode (5s interval)
[11:29:55] [ORIENTATION] Updated pagingScrollView height to 247.5 for width 440.0
[11:29:55] [SUMMARY] Already showed summary today (2025-11-16)
[11:29:55] Did transition
[11:29:55] [NOTIFICATION] πŸ”” Constraints activated for notification button
[11:29:55] [NOTIFICATION] πŸ”” topNavBar frame: (0.0, 0.0, 440.0, 50.0)
[11:29:55] [NOTIFICATION] πŸ”” menuButton frame: (0.0, 0.0, 39.0, 30.0)
[11:29:55] [NOTIFICATION] πŸ”” notificationButton frame: (0.0, 0.0, 56.333333333333336, 58.0)
[11:29:55] [NOTIFICATION] πŸ”” Notification button brought to front
[11:29:55] [NOTIFICATION] πŸ”„ Updating icon to: bell.slash.fill (muted=true)
[11:29:55] [NOTIFICATION] βœ… Icon updated successfully
[11:29:55] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[11:29:55] [MIGRATION] No messages need sender_name backfill
[11:29:55] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:29:55] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:29:55] [DB]   msg[0] id=1615, isMyMessage=false, readBy.count=0
[11:29:55] [DB]   msg[1] id=1614, isMyMessage=false, readBy.count=0
[11:29:55] [DB]   msg[2] id=1613, isMyMessage=false, readBy.count=0
[11:29:55] [INFO_PAGE] InformationViewController viewWillAppear - applying theme
[11:29:55] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:29:55] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:29:55] [PAGINATION_SCROLL] offset=-12.0, contentHeight=108.0, distFromBottom=120.0, dragging=false, decel=false, isLoading=false, cooldown=63899058595.88563s
[11:29:55] [PAGINATION_SCROLL] offset=0.0, contentHeight=108.0, distFromBottom=-650.0, dragging=false, decel=false, isLoading=false, cooldown=63899058595.88687s
[11:29:56] [LOCATION] Authorization changed: 4
[11:29:56] [NOTIFICATION] πŸ”” FINAL STATE after viewDidLoad:
[11:29:56] [NOTIFICATION] πŸ”” notificationButton.frame: (392.0, 67.0, 40.0, 40.0)
[11:29:56] [NOTIFICATION] πŸ”” notificationButton.isHidden: false
[11:29:56] [NOTIFICATION] πŸ”” notificationButton.alpha: 1.0
[11:29:56] [NOTIFICATION] πŸ”” notificationButton.superview: true
[11:29:56] [NOTIFICATION] πŸ”” topNavBar.isHidden: false
[11:29:56] [NOTIFICATION] πŸ”” topNavBar.subviews.count: 3
[11:29:56] [PUSH] Device role updated to 'viewer': HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:29:56] [USER] βœ… User registered successfully
[11:29:56] [USER] User registration successful
[11:29:56] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:29:56] [UNREAD_DEBUG]   FINAL msg[0] id=1615, readBy.count=0
[11:29:56] [UNREAD_DEBUG]   FINAL msg[1] id=1614, readBy.count=1
[11:29:56] [UNREAD_DEBUG]   FINAL msg[2] id=1613, readBy.count=1
[11:29:56] [VIEWER_INIT] Loaded 50 messages with read receipts, hasMore: true
[11:29:56] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:29:56] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:29:56] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:29:56] [EVOLUTION] πŸ“ Updated lastSeenMessageId: 1614 β†’ 1615
[11:29:56] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=51 =====
[11:29:56] [ROWS] 0: SEPARATOR
[11:29:56] [ROWS] 1: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:29:56] [ROWS] 2: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:56] [ROWS] 3: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:56] [ROWS] 4: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:56] [ROWS] 5: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:56] [ROWS] 6: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:29:56] [ROWS] 7: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:29:56] [ROWS] 8: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:56] [ROWS] 9: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:56] [ROWS] 10: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:29:56] [ROWS] 11: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:56] [ROWS] 12: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:56] [ROWS] 13: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:56] [ROWS] 14: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:56] [ROWS] 15: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:29:56] [ROWS] 16: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:56] [ROWS] 17: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:56] [ROWS] 18: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:56] [ROWS] 19: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:56] [ROWS] 20: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:56] [ROWS] 21: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:56] [ROWS] 22: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:29:56] [ROWS] 23: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:29:56] [ROWS] 24: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:56] [ROWS] 25: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:56] [ROWS] 26: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:56] [ROWS] 27: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:56] [ROWS] 28: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:56] [ROWS] 29: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:56] [ROWS] 30: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:56] [ROWS] 31: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:56] [ROWS] 32: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:56] [ROWS] 33: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:56] [ROWS] 34: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:56] [ROWS] 35: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:56] [ROWS] 36: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:56] [ROWS] 37: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:56] [ROWS] 38: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:29:56] [ROWS] 39: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:56] [ROWS] 40: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:56] [ROWS] 41: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:29:56] [ROWS] 42: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:56] [ROWS] 43: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:56] [ROWS] 44: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:56] [ROWS] 45: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:29:56] [ROWS] 46: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:29:56] [ROWS] 47: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:56] [ROWS] 48: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:56] [ROWS] 49: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:56] [ROWS] 50: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:56] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:29:56] [TAB_FILTER] πŸ“Š Reloading table with 51 rows
[11:29:56] [HEIGHT_DEBUG] Row 1 msg 1615: isPlayingEvolution=false, textLength=50, text='About to call autoPlayEvolutio...'
[11:29:56] [EMOJI] βœ… Loaded 451 emoji-to-GIF mappings
[11:29:56] [HEIGHT] Row 1 msg 1615: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:29:56] [HEIGHT_DEBUG] Row 2 msg 1614: isPlayingEvolution=false, textLength=4, text='CINQ...'
[11:29:56] [HEIGHT] Row 2 msg 1614: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:29:56] [HEIGHT_DEBUG] Row 1 msg 1615: isPlayingEvolution=false, textLength=50, text='About to call autoPlayEvolutio...'
[11:29:56] [HEIGHT] Row 1 msg 1615: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:29:56] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:29:56] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:29:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:56] [HEIGHT_DEBUG] Row 2 msg 1614: isPlayingEvolution=false, textLength=4, text='CINQ...'
[11:29:56] [HEIGHT] Row 2 msg 1614: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:29:56] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:56] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:56] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:56] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:56] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:56] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:56] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:56] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:56] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:56] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:29:56] ReloadData 18 (viewer init with read receipts)
[11:29:56] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:29:56] [UNREAD_DEBUG]   FINAL msg[0] id=1615, readBy.count=0
[11:29:56] [UNREAD_DEBUG]   FINAL msg[1] id=1614, readBy.count=1
[11:29:56] [UNREAD_DEBUG]   FINAL msg[2] id=1613, readBy.count=1
[11:29:56] [EVOLUTION_SEQ] πŸš€ FUNCTION CALLED with 1 message IDs: [1615]
[11:29:56] [EVOLUTION_SEQ] ⏱️ t=1763288996.706 πŸ“‹ Starting with 1 messages: [1615]
[11:29:56] [EVOLUTION_SEQ] πŸ“Š Message 1/1: id=1615, length=50 chars, estimated_duration=2.50s
[11:29:56] [EVOLUTION_SEQ] ⏱️ t=1763288996.706 πŸ”’ Marked 1 messages as pending (hidden from view)
[11:29:56] [EVOLUTION_SEQ] ⏱️ t=1763288996.706 πŸ“ Queued 1 messages for sequential playback
[11:29:56] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:29:56] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:29:56] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:29:56] [EVOLUTION_SEQ] ⏱️ t=1763288996.707 Filtered out 1 pending evolution messages
[11:29:56] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=50 =====
[11:29:56] [ROWS] 0: SEPARATOR
[11:29:56] [ROWS] 1: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:56] [ROWS] 2: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:56] [ROWS] 3: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:56] [ROWS] 4: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:56] [ROWS] 5: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:29:56] [ROWS] 6: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:29:56] [ROWS] 7: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:56] [ROWS] 8: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:56] [ROWS] 9: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:29:56] [ROWS] 10: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:56] [ROWS] 11: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:56] [ROWS] 12: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:56] [ROWS] 13: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:56] [CHAT] βœ… refreshAllFromServer - parsed 431 messages from server
[11:29:56] [ROWS] 14: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:29:56] [ROWS] 15: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:56] [ROWS] 16: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:56] [ROWS] 17: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:56] [ROWS] 18: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:56] [ROWS] 19: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:56] [ROWS] 20: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:56] [ROWS] 21: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:29:56] [ROWS] 22: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:29:56] [ROWS] 23: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:56] [ROWS] 24: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:56] [ROWS] 25: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:56] [ROWS] 26: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:56] [ROWS] 27: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:56] [ROWS] 28: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:56] [ROWS] 29: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:56] [ROWS] 30: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:56] [ROWS] 31: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:56] [ROWS] 32: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:56] [DB] clearDBForSession(ILUIWU2): deleted 430 messages, result=101
[11:29:56] [ROWS] 33: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:56] [ROWS] 34: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:56] [ROWS] 35: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:56] [ROWS] 36: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:56] [ROWS] 37: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:29:56] [ROWS] 38: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:56] [ROWS] 39: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:56] [ROWS] 40: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:29:56] [ROWS] 41: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:56] [ROWS] 42: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:56] [ROWS] 43: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:56] [ROWS] 44: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:29:56] [ROWS] 45: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:29:56] [ROWS] 46: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:56] [ROWS] 47: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:56] [ROWS] 48: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:56] [ROWS] 49: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:56] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:29:56] [TAB_FILTER] πŸ“Š Reloading table with 50 rows
[11:29:56] [HEIGHT_DEBUG] Row 1 msg 1614: isPlayingEvolution=false, textLength=4, text='CINQ...'
[11:29:56] [HEIGHT] Row 1 msg 1614: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:29:56] [HEIGHT_DEBUG] Row 2 msg 1613: isPlayingEvolution=false, textLength=6, text='QUATRE...'
[11:29:56] [HEIGHT] Row 2 msg 1613: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:29:56] [HEIGHT_DEBUG] Row 1 msg 1614: isPlayingEvolution=false, textLength=4, text='CINQ...'
[11:29:56] [HEIGHT] Row 1 msg 1614: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:29:56] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:29:56] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:29:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:56] [HEIGHT_DEBUG] Row 2 msg 1613: isPlayingEvolution=false, textLength=6, text='QUATRE...'
[11:29:56] [HEIGHT] Row 2 msg 1613: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:29:56] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:56] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:56] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:56] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:56] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:56] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:56] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:56] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:56] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:56] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:29:56] [EVOLUTION_SEQ] ⏱️ t=1763288996.773 πŸ“Š Table reloaded: 50 β†’ 49 visible messages
[11:29:56] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:29:56] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:29:56] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:29:56] [EVOLUTION_SEQ] ⏱️ t=1763288996.774 Filtered out 1 pending evolution messages
[11:29:56] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=50 =====
[11:29:56] [ROWS] 0: SEPARATOR
[11:29:56] [ROWS] 1: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:56] [ROWS] 2: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:56] [ROWS] 3: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:56] [ROWS] 4: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:56] [ROWS] 5: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:29:56] [ROWS] 6: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:29:56] [ROWS] 7: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:56] [ROWS] 8: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:56] [ROWS] 9: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:29:56] [ROWS] 10: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:56] [ROWS] 11: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:56] [ROWS] 12: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:56] [ROWS] 13: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:56] [ROWS] 14: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:29:56] [ROWS] 15: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:56] [ROWS] 16: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:56] [ROWS] 17: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:56] [ROWS] 18: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:56] [ROWS] 19: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:56] [ROWS] 20: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:56] [ROWS] 21: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:29:56] [ROWS] 22: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:29:56] [ROWS] 23: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:56] [ROWS] 24: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:56] [ROWS] 25: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:56] [ROWS] 26: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:56] [ROWS] 27: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:56] [ROWS] 28: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:56] [ROWS] 29: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:56] [ROWS] 30: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:56] [ROWS] 31: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:56] [ROWS] 32: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:56] [ROWS] 33: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:56] [ROWS] 34: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:56] [ROWS] 35: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:56] [ROWS] 36: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:56] [ROWS] 37: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:29:56] [ROWS] 38: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:56] [ROWS] 39: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:56] [ROWS] 40: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:29:56] [ROWS] 41: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:56] [ROWS] 42: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:56] [ROWS] 43: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:56] [ROWS] 44: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:29:56] [ROWS] 45: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:29:56] [ROWS] 46: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:56] [ROWS] 47: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:56] [ROWS] 48: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:56] [ROWS] 49: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:56] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:29:56] [TAB_FILTER] πŸ“Š Reloading table with 50 rows
[11:29:56] [HEIGHT_DEBUG] Row 1 msg 1614: isPlayingEvolution=false, textLength=4, text='CINQ...'
[11:29:56] [HEIGHT] Row 1 msg 1614: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:29:56] [HEIGHT_DEBUG] Row 2 msg 1613: isPlayingEvolution=false, textLength=6, text='QUATRE...'
[11:29:56] [HEIGHT] Row 2 msg 1613: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:29:56] [HEIGHT_DEBUG] Row 1 msg 1614: isPlayingEvolution=false, textLength=4, text='CINQ...'
[11:29:56] [HEIGHT] Row 1 msg 1614: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:29:56] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:29:56] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:29:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:56] [HEIGHT_DEBUG] Row 2 msg 1613: isPlayingEvolution=false, textLength=6, text='QUATRE...'
[11:29:56] [HEIGHT] Row 2 msg 1613: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:29:56] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:56] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:56] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:56] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:56] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:56] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:56] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:56] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:56] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:56] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:29:56] [INIT_PAGINATION] Loaded 50 total messages, displaying 49 for tab 0
[11:29:56] ReloadData 15 (431 messages loaded, 0 pending media)
[11:29:56] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:29:57] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:29:57] [DB]   msg[0] id=1616, isMyMessage=false, readBy.count=0
[11:29:57] [DB]   msg[1] id=1615, isMyMessage=false, readBy.count=0
[11:29:57] [DB]   msg[2] id=1614, isMyMessage=false, readBy.count=0
[11:29:57] [EVOLUTION] πŸ” Found 1 NEW unread messages after refreshAllFromServer (lastSeenMessageId=1615): [1616]
[11:29:57] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1616, readBy=[]", "id=1615, readBy=[]", "id=1614, readBy=[]"]
[11:29:57] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:29:57] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:29:57] [DB]   msg[0] id=1616, isMyMessage=false, readBy.count=0
[11:29:57] [DB]   msg[1] id=1615, isMyMessage=false, readBy.count=0
[11:29:57] [DB]   msg[2] id=1614, isMyMessage=false, readBy.count=0
[11:29:57] [EVOLUTION_SEQ] ⏱️ t=1763288997.042 🎬 Starting sequential playback
[11:29:57] [EVOLUTION_SEQ] ⏱️ t=1763288997.043 ▢️ Playing message 1615 - 0 remaining in queue
[11:29:57] [EVOLUTION_SEQ] ⏱️ t=1763288997.043 πŸ“ Message 1615: "About to call autoPlayEvolutionForUnreadMessageIds..." (50 chars)
[11:29:57] [EVOLUTION_SEQ] ⏱️ t=1763288997.043 πŸ”“ Removed message 1615 from pending set
[11:29:57] [EVOLUTION_SEQ] ⏱️ t=1763288997.043 🎬 Set evolution state for message 1615
[11:29:57] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:29:57] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:29:57] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:29:57] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=51 =====
[11:29:57] [ROWS] 0: SEPARATOR
[11:29:57] [ROWS] 1: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=50
[11:29:57] [ROWS] 2: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:57] [ROWS] 3: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:57] [ROWS] 4: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:57] [ROWS] 5: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:57] [ROWS] 6: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:29:57] [ROWS] 7: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:29:57] [ROWS] 8: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:57] [ROWS] 9: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:57] [ROWS] 10: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:29:57] [ROWS] 11: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:57] [ROWS] 12: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:57] [ROWS] 13: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:57] [ROWS] 14: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:57] [ROWS] 15: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:29:57] [ROWS] 16: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:57] [ROWS] 17: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:57] [ROWS] 18: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:57] [ROWS] 19: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:57] [ROWS] 20: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:57] [ROWS] 21: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:57] [ROWS] 22: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:29:57] [ROWS] 23: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:29:57] [ROWS] 24: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:57] [ROWS] 25: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:57] [ROWS] 26: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:57] [ROWS] 27: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:57] [ROWS] 28: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:57] [ROWS] 29: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:57] [ROWS] 30: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:57] [ROWS] 31: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:57] [ROWS] 32: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:57] [ROWS] 33: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:57] [ROWS] 34: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:57] [ROWS] 35: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:57] [ROWS] 36: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:57] [ROWS] 37: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:57] [ROWS] 38: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:29:57] [ROWS] 39: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:57] [ROWS] 40: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:57] [ROWS] 41: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:29:57] [ROWS] 42: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:57] [ROWS] 43: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:57] [ROWS] 44: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:57] [ROWS] 45: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:29:57] [ROWS] 46: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:29:57] [ROWS] 47: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:57] [ROWS] 48: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:57] [ROWS] 49: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:57] [ROWS] 50: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:57] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:29:57] [TAB_FILTER] πŸ“Š Reloading table with 51 rows
[11:29:57] [HEIGHT_DEBUG] Row 1 msg 1615: isPlayingEvolution=true, textLength=0, text='...'
[11:29:57] [HEIGHT] Row 1 msg 1615: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:29:57] [HEIGHT_DEBUG] Row 2 msg 1614: isPlayingEvolution=false, textLength=4, text='CINQ...'
[11:29:57] [HEIGHT] Row 2 msg 1614: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:29:57] [HEIGHT_DEBUG] Row 1 msg 1615: isPlayingEvolution=true, textLength=0, text='...'
[11:29:57] [HEIGHT] Row 1 msg 1615: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:29:57] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:29:57] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:29:57] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:29:57] [HEIGHT_DEBUG] Row 2 msg 1614: isPlayingEvolution=false, textLength=4, text='CINQ...'
[11:29:57] [HEIGHT] Row 2 msg 1614: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:29:57] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:57] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:57] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:57] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:57] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:57] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:57] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:57] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:57] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:57] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:57] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:57] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:57] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:57] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:57] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:57] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:57] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:57] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:57] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:57] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:57] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:57] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:57] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:57] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:57] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:57] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:57] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:57] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:29:57] [EVOLUTION_SEQ] ⏱️ t=1763288997.258 πŸ“± Table reloaded: 431 β†’ 50 messages (bubble for 1615 now visible)
[11:29:57] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU2, AnyHashable("message_id"): 1615]
[11:29:57] [PUSH] Parsed message_id: 1615
[11:29:57] [PUSH] Parsed operation_type: 3
[11:29:57] [PUSH] Taking direct action: opType=3, messageId=1615
[11:29:57] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=1615
[11:29:57] [EVOLUTION_SEQ] ⏱️ t=1763288997.615 ▢️ Starting animation for message 1615
[11:29:57] [EVOLUTION] πŸ“‘ Fetching evolution data for message 1615
[11:29:57] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU2, AnyHashable("message_id"): 1617]
[11:29:57] [PUSH] Parsed message_id: 1617
[11:29:57] [PUSH] Parsed operation_type: 0
[11:29:57] [PUSH] Taking direct action: opType=0, messageId=1617
[11:29:57] [PUSH] TakeActionFromPush called: OperationType=0, MessageIds=1617
[11:29:57] [PUSH] Handling message fetch for opType=0, messageId=1617
[11:29:57] [PUSH] Requesting URL: http://crivello.dyndns.org:81/WebRTC/chat/chat_get_messages.php?session_id=ILUIWU2&viewer=1&messages=1617
[11:29:57] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:29:57] Will get events_php
[11:29:57] [TYPING] πŸ”„ ========== POLL START ==========
[11:29:57] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:29:57] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:29:57] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:29:57] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:29:57] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:29:57] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:29:57] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok, "sessionId": ILUIWU2]
[11:29:57] [TYPING] πŸ“₯ Found 0 typing users in response
[11:29:57] [TYPING] πŸ“₯ Updating typing users SET: []
[11:29:57] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:29:57] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:29:57] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:29:57] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:29:57] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:29:57] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:29:57] [TYPING] πŸ”„ ========== POLL END ==========
[11:29:58] [EVT] get_events.php HTTP 200
── Response Headers ──
Connection: Keep-Alive
Content-Length: 430
X-Powered-By: PHP/8.4.14
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=100
Date: Sun, 16 Nov 2025 10:29:57 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":5,"events":[{"event_id":10702,"event_type":3,"message_id":1615,"session_id":"ILUIWU2"},{"event_id":10703,"event_type":3,"message_id":1615,"session_id":"ILUIWU2"},{"event_id":10705,"event_type":3,"message_id":1616,"session_id":"ILUIWU2"},{"event_id":10706,"event_type":3,"message_id":1615,"session_id":"ILUIWU2"},{"event_id":10708,"event_type":3,"message_id":1617,"session_id":"ILUIWU2"}]}
[11:29:58] Done
[11:29:58] [EVOLUTION] πŸ” Raw response (393 bytes): {"ok":true,"has_evolution":true,"message_id":1615,"evolution":{"events":[{"p":0,"c":"About to call autoPlayEvolutionForUnreadMessageIds","t":0,"op":"i"},{"c":" ","p":50,"op":"i","t":889},{"l":1,"t":12
[11:29:58] [EVOLUTION] πŸ” Parsed JSON keys: ["created_at", "evolution", "has_evolution", "message_id", "ok"]
[11:29:58] [EVOLUTION] πŸ” has_evolution: 1
[11:29:58] [EVOLUTION] βœ… Got 7 events for message 1615
[11:29:58] [OVERLAP_FIX] πŸš€ Starting evolution - forcing initial height recalculation
[11:29:58] [UPDATE] πŸ”„ updateMessageCell(for: 1615) β€” full safe reload
[11:29:58] [ROWS] ===== updateMessageCell for 1615 β€” chatRows.count=51 =====
[11:29:58] [ROWS] 0: SEPARATOR
[11:29:58] [ROWS] 1: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=50
[11:29:58] [ROWS] 2: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:58] [ROWS] 3: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:58] [ROWS] 4: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:58] [ROWS] 5: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:58] [ROWS] 6: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:29:58] [ROWS] 7: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:29:58] [ROWS] 8: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:58] [ROWS] 9: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:58] [ROWS] 10: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:29:58] [ROWS] 11: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:58] [ROWS] 12: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:58] [ROWS] 13: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:58] [ROWS] 14: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:58] [ROWS] 15: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:29:58] [ROWS] 16: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:58] [ROWS] 17: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:58] [ROWS] 18: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:58] [ROWS] 19: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:58] [ROWS] 20: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:58] [ROWS] 21: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:58] [ROWS] 22: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:29:58] [ROWS] 23: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:29:58] [ROWS] 24: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:58] [ROWS] 25: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:58] [ROWS] 26: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:58] [ROWS] 27: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:58] [ROWS] 28: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:58] [ROWS] 29: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:58] [ROWS] 30: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:58] [ROWS] 31: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:58] [ROWS] 32: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:58] [ROWS] 33: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:58] [ROWS] 34: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:58] [ROWS] 35: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:58] [ROWS] 36: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:58] [ROWS] 37: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:58] [ROWS] 38: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:29:58] [ROWS] 39: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:58] [ROWS] 40: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:58] [ROWS] 41: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:29:58] [ROWS] 42: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:58] [ROWS] 43: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:58] [ROWS] 44: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:58] [ROWS] 45: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:29:58] [ROWS] 46: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:29:58] [ROWS] 47: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:58] [ROWS] 48: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:58] [ROWS] 49: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:58] [ROWS] 50: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:58] [ROWS] ===== END (updateMessageCell for 1615) =====
[11:29:58] [HEIGHT_DEBUG] Row 1 msg 1615: isPlayingEvolution=true, textLength=0, text='...'
[11:29:58] [HEIGHT] Row 1 msg 1615: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:29:58] [HEIGHT_DEBUG] Row 2 msg 1614: isPlayingEvolution=false, textLength=4, text='CINQ...'
[11:29:58] [HEIGHT] Row 2 msg 1614: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:29:58] [HEIGHT_DEBUG] Row 1 msg 1615: isPlayingEvolution=true, textLength=0, text='...'
[11:29:58] [HEIGHT] Row 1 msg 1615: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:29:58] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:29:58] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:29:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:29:58] [HEIGHT_DEBUG] Row 2 msg 1614: isPlayingEvolution=false, textLength=4, text='CINQ...'
[11:29:58] [HEIGHT] Row 2 msg 1614: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:29:58] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:58] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:58] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:58] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:58] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:58] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:58] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:58] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:58] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:58] [EVOLUTION] ▢️ Starting inline playback for message 1615 with 7 events
[11:29:58] [EVOLUTION] πŸ“ Event 0/7 - Text now: "About to call autoPlayEvolutio..."
[11:29:58] [UPDATE] πŸ”„ updateMessageCell(for: 1615) β€” full safe reload
[11:29:58] [ROWS] ===== updateMessageCell for 1615 β€” chatRows.count=51 =====
[11:29:58] [ROWS] 0: SEPARATOR
[11:29:58] [ROWS] 1: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=50 textLen=50
[11:29:58] [ROWS] 2: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:58] [ROWS] 3: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:58] [ROWS] 4: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:58] [ROWS] 5: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:58] [ROWS] 6: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:29:58] [ROWS] 7: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:29:58] [ROWS] 8: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:58] [ROWS] 9: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:58] [ROWS] 10: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:29:58] [ROWS] 11: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:58] [ROWS] 12: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:58] [ROWS] 13: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:58] [ROWS] 14: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:58] [ROWS] 15: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:29:58] [ROWS] 16: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:58] [ROWS] 17: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:58] [ROWS] 18: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:58] [ROWS] 19: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:58] [ROWS] 20: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:58] [ROWS] 21: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:58] [ROWS] 22: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:29:58] [ROWS] 23: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:29:58] [ROWS] 24: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:58] [ROWS] 25: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:58] [ROWS] 26: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:58] [ROWS] 27: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:58] [ROWS] 28: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:58] [ROWS] 29: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:58] [ROWS] 30: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:58] [ROWS] 31: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:58] [ROWS] 32: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:58] [ROWS] 33: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:29:58] [ROWS] 34: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:58] [ROWS] 35: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:29:58] [ROWS] 36: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:58] [ROWS] 37: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:29:58] [ROWS] 38: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:29:58] [ROWS] 39: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:58] [ROWS] 40: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:29:58] [ROWS] 41: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:29:58] [ROWS] 42: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:58] [ROWS] 43: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:29:58] [ROWS] 44: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:58] [ROWS] 45: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:29:58] [ROWS] 46: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:29:58] [ROWS] 47: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:29:58] [ROWS] 48: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:58] [ROWS] 49: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:58] [ROWS] 50: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:29:58] [ROWS] ===== END (updateMessageCell for 1615) =====
[11:29:58] [HEIGHT_DEBUG] Row 1 msg 1615: isPlayingEvolution=true, textLength=50, text='About to call autoPlayEvolutio...'
[11:29:58] [HEIGHT] Row 1 msg 1615: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:29:58] [HEIGHT_DEBUG] Row 2 msg 1614: isPlayingEvolution=false, textLength=4, text='CINQ...'
[11:29:58] [HEIGHT] Row 2 msg 1614: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:29:58] [HEIGHT_DEBUG] Row 1 msg 1615: isPlayingEvolution=true, textLength=50, text='About to call autoPlayEvolutio...'
[11:29:58] [HEIGHT] Row 1 msg 1615: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:29:58] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:29:58] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:29:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:58] [HEIGHT_DEBUG] Row 2 msg 1614: isPlayingEvolution=false, textLength=4, text='CINQ...'
[11:29:58] [HEIGHT] Row 2 msg 1614: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:29:58] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:58] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:58] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:58] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:58] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:58] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:58] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:58] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:58] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:29:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:29:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:29:59] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("session_id"): ILUIWU2, AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 1617]
[11:29:59] [PUSH] Parsed message_id: 1617
[11:29:59] [PUSH] Parsed operation_type: 3
[11:29:59] [PUSH] Taking direct action: opType=3, messageId=1617
[11:29:59] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=1617
[11:29:59] [LOCATION] Failed to get location: The operation couldn’t be completed. (kCLErrorDomain error 1.)
[11:30:00] [EVOLUTION] πŸ“ Event 1/7 - Text now: "About to call autoPlayEvolutio..."
[11:30:00] [UPDATE] πŸ”„ updateMessageCell(for: 1615) β€” full safe reload
[11:30:00] [ROWS] ===== updateMessageCell for 1615 β€” chatRows.count=51 =====
[11:30:00] [ROWS] 0: SEPARATOR
[11:30:00] [ROWS] 1: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=51 textLen=50
[11:30:00] [ROWS] 2: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:00] [ROWS] 3: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:00] [ROWS] 4: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:00] [ROWS] 5: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:00] [ROWS] 6: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:00] [ROWS] 7: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:00] [ROWS] 8: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:00] [ROWS] 9: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:00] [ROWS] 10: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:00] [ROWS] 11: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:00] [PUSH] get_message error: Error Domain=NSURLErrorDomain Code=-1005 "The network connection was lost." UserInfo={_kCFStreamErrorCodeKey=-4, NSUnderlyingError=0x121ca5a70 {Error Domain=kCFErrorDomainCFNetwork Code=-1005 "(null)" UserInfo={NSErrorPeerAddressKey=<CFData 0x121d83250 [0x1f43240d8]>{length = 16, capacity = 16, bytes = 0x1002005154e34b220000000000000000}, _kCFStreamErrorCodeKey=-4, _kCFStreamErrorDomainKey=4}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <7CCE3A25-5B23-4AD1-9139-C7A7959F8A8F>.<20>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
    "LocalDataTask <7CCE3A25-5B23-4AD1-9139-C7A7959F8A8F>.<20>"
), NSLocalizedDescription=The network connection was lost., NSErrorFailingURLStringKey=http://crivello.dyndns.org:81/WebRTC/chat/chat_get_messages.php?session_id=ILUIWU2&viewer=1&messages=1617, NSErrorFailingURLKey=http://crivello.dyndns.org:81/WebRTC/chat/chat_get_messages.php?session_id=ILUIWU2&viewer=1&messages=1617, _kCFStreamErrorDomainKey=4}
[11:30:00] [ROWS] 12: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:00] [ROWS] 13: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:00] [ROWS] 14: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:00] [ROWS] 15: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:30:00] [ROWS] 16: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:00] [ROWS] 17: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:00] [ROWS] 18: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:00] [ROWS] 19: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:00] [ROWS] 20: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:00] [ROWS] 21: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:00] [ROWS] 22: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:30:00] [ROWS] 23: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:00] [ROWS] 24: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:00] [ROWS] 25: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:00] [ROWS] 26: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:00] [ROWS] 27: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:00] [ROWS] 28: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:00] [ROWS] 29: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:00] [ROWS] 30: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:00] [ROWS] 31: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:00] [ROWS] 32: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:00] [ROWS] 33: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:00] [ROWS] 34: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:00] [ROWS] 35: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:00] [ROWS] 36: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:00] [ROWS] 37: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:00] [ROWS] 38: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:00] [ROWS] 39: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:00] [ROWS] 40: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:00] [ROWS] 41: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:30:00] [ROWS] 42: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:00] [ROWS] 43: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:00] [ROWS] 44: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:00] [ROWS] 45: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:00] [ROWS] 46: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:30:00] [ROWS] 47: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:00] [ROWS] 48: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:00] [ROWS] 49: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:00] [ROWS] 50: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:00] [ROWS] ===== END (updateMessageCell for 1615) =====
[11:30:00] [HEIGHT_DEBUG] Row 1 msg 1615: isPlayingEvolution=true, textLength=51, text='About to call autoPlayEvolutio...'
[11:30:00] [HEIGHT] Row 1 msg 1615: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:00] [HEIGHT_DEBUG] Row 2 msg 1614: isPlayingEvolution=false, textLength=4, text='CINQ...'
[11:30:00] [HEIGHT] Row 2 msg 1614: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:00] [HEIGHT_DEBUG] Row 1 msg 1615: isPlayingEvolution=true, textLength=51, text='About to call autoPlayEvolutio...'
[11:30:00] [HEIGHT] Row 1 msg 1615: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:00] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:30:00] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:30:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:00] [HEIGHT_DEBUG] Row 2 msg 1614: isPlayingEvolution=false, textLength=4, text='CINQ...'
[11:30:00] [HEIGHT] Row 2 msg 1614: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:00] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:00] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:00] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:00] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:00] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:00] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:00] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:00] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:00] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:00] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:30:00] Will get events_php
[11:30:00] [TYPING] πŸ”„ ========== POLL START ==========
[11:30:00] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:30:00] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:30:00] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:30:00] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:30:00] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:30:00] [UNREAD_DEBUG]   FINAL msg[0] id=1616, readBy.count=0
[11:30:00] [UNREAD_DEBUG]   FINAL msg[1] id=1615, readBy.count=0
[11:30:00] [UNREAD_DEBUG]   FINAL msg[2] id=1614, readBy.count=0
[11:30:00] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:30:00] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:30:00] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:30:00] [EVOLUTION] πŸ“ Updated lastSeenMessageId: 1615 β†’ 1616
[11:30:00] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=51 =====
[11:30:00] [ROWS] 0: SEPARATOR
[11:30:00] [ROWS] 1: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:30:00] [ROWS] 2: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:30:00] [ROWS] 3: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:00] [ROWS] 4: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:00] [ROWS] 5: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:00] [ROWS] 6: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:00] [ROWS] 7: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:00] [ROWS] 8: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:00] [ROWS] 9: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:00] [ROWS] 10: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:00] [ROWS] 11: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:00] [ROWS] 12: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:00] [ROWS] 13: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:00] [ROWS] 14: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:00] [ROWS] 15: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:00] [ROWS] 16: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:30:00] [ROWS] 17: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:00] [ROWS] 18: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:00] [ROWS] 19: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:00] [ROWS] 20: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:00] [ROWS] 21: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:00] [ROWS] 22: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:00] [ROWS] 23: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:30:00] [ROWS] 24: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:00] [ROWS] 25: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:00] [ROWS] 26: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:00] [ROWS] 27: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:00] [ROWS] 28: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:00] [ROWS] 29: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:00] [ROWS] 30: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:00] [ROWS] 31: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:00] [ROWS] 32: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:00] [ROWS] 33: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:00] [ROWS] 34: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:00] [ROWS] 35: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:00] [ROWS] 36: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:00] [ROWS] 37: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:00] [ROWS] 38: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:00] [ROWS] 39: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:00] [ROWS] 40: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:00] [ROWS] 41: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:00] [ROWS] 42: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:30:00] [ROWS] 43: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:00] [ROWS] 44: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:00] [ROWS] 45: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:00] [ROWS] 46: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:00] [ROWS] 47: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:30:00] [ROWS] 48: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:00] [ROWS] 49: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:00] [ROWS] 50: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:00] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:30:00] [TAB_FILTER] πŸ“Š Reloading table with 51 rows
[11:30:00] [HEIGHT_DEBUG] Row 1 msg 1616: isPlayingEvolution=false, textLength=14, text='Messi football...'
[11:30:00] [HEIGHT] Row 1 msg 1616: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:00] [HEIGHT_DEBUG] Row 2 msg 1615: isPlayingEvolution=false, textLength=50, text='About to call autoPlayEvolutio...'
[11:30:00] [HEIGHT] Row 2 msg 1615: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:00] [HEIGHT_DEBUG] Row 1 msg 1616: isPlayingEvolution=false, textLength=14, text='Messi football...'
[11:30:00] [HEIGHT] Row 1 msg 1616: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:00] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:30:00] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:30:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:00] [HEIGHT_DEBUG] Row 2 msg 1615: isPlayingEvolution=false, textLength=50, text='About to call autoPlayEvolutio...'
[11:30:00] [HEIGHT] Row 2 msg 1615: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:00] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:00] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:00] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:00] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:00] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:00] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:00] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:00] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:00] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:00] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:30:00] [INITIAL_LOAD] Loaded 50 messages (first page), displaying 50 for tab 0, hasMore: true
[11:30:00] ReloadData 1
[11:30:00] [PURGE] Deleted 0 unused media files:

[11:30:00] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:30:00] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("session_id"): ILUIWU2, AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 1617]
[11:30:00] [PUSH] Parsed message_id: 1617
[11:30:00] [PUSH] Parsed operation_type: 3
[11:30:00] [PUSH] Taking direct action: opType=3, messageId=1617
[11:30:00] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=1617
[11:30:00] [EVOLUTION_SEQ] πŸš€ FUNCTION CALLED with 1 message IDs: [1616]
[11:30:00] [EVOLUTION_SEQ] ⏱️ t=1763289000.424 πŸ“‹ Starting with 1 messages: [1616]
[11:30:00] [EVOLUTION_SEQ] πŸ“Š Message 1/1: id=1616, length=14 chars, estimated_duration=0.70s
[11:30:00] [EVOLUTION_SEQ] ⏱️ t=1763289000.425 πŸ”’ Marked 1 messages as pending (hidden from view)
[11:30:00] [EVOLUTION_SEQ] ⏱️ t=1763289000.425 πŸ“ Queued 1 messages for sequential playback
[11:30:00] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:30:00] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:30:00] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:30:00] [EVOLUTION_SEQ] ⏱️ t=1763289000.426 Filtered out 1 pending evolution messages
[11:30:00] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=50 =====
[11:30:00] [ROWS] 0: SEPARATOR
[11:30:00] [ROWS] 1: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:30:00] [ROWS] 2: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:00] [ROWS] 3: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:00] [ROWS] 4: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:00] [ROWS] 5: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:00] [ROWS] 6: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:00] [ROWS] 7: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:00] [ROWS] 8: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:00] [ROWS] 9: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:00] [ROWS] 10: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:00] [ROWS] 11: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:00] [ROWS] 12: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:00] [ROWS] 13: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:00] [ROWS] 14: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:00] [ROWS] 15: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:30:00] [ROWS] 16: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:00] [ROWS] 17: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:00] [ROWS] 18: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:00] [ROWS] 19: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:00] [ROWS] 20: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:00] [ROWS] 21: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:00] [ROWS] 22: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:30:00] [ROWS] 23: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:00] [ROWS] 24: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:00] [ROWS] 25: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:00] [ROWS] 26: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:00] [ROWS] 27: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:00] [ROWS] 28: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:00] [ROWS] 29: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:00] [ROWS] 30: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:00] [ROWS] 31: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:00] [ROWS] 32: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:00] [ROWS] 33: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:00] [ROWS] 34: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:00] [ROWS] 35: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:00] [ROWS] 36: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:00] [ROWS] 37: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:00] [ROWS] 38: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:00] [ROWS] 39: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:00] [ROWS] 40: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:00] [ROWS] 41: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:30:00] [ROWS] 42: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:00] [ROWS] 43: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:00] [ROWS] 44: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:00] [ROWS] 45: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:00] [ROWS] 46: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:30:00] [ROWS] 47: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:00] [ROWS] 48: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:00] [ROWS] 49: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:00] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:30:00] [TAB_FILTER] πŸ“Š Reloading table with 50 rows
[11:30:00] [HEIGHT_DEBUG] Row 1 msg 1615: isPlayingEvolution=false, textLength=50, text='About to call autoPlayEvolutio...'
[11:30:00] [HEIGHT] Row 1 msg 1615: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:00] [HEIGHT_DEBUG] Row 2 msg 1614: isPlayingEvolution=false, textLength=4, text='CINQ...'
[11:30:00] [HEIGHT] Row 2 msg 1614: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:00] [HEIGHT_DEBUG] Row 1 msg 1615: isPlayingEvolution=false, textLength=50, text='About to call autoPlayEvolutio...'
[11:30:00] [HEIGHT] Row 1 msg 1615: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:00] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:30:00] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:30:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:00] [HEIGHT_DEBUG] Row 2 msg 1614: isPlayingEvolution=false, textLength=4, text='CINQ...'
[11:30:00] [HEIGHT] Row 2 msg 1614: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:00] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:00] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:00] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:00] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:00] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:00] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:00] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:00] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:00] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:00] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:30:00] [EVOLUTION_SEQ] ⏱️ t=1763289000.475 πŸ“Š Table reloaded: 50 β†’ 49 visible messages
[11:30:00] [EVOLUTION_SEQ] ⏱️ t=1763289000.677 🎬 Starting sequential playback
[11:30:00] [EVOLUTION] ⏸️ Already playing queued evolution, will retry when current finishes
[11:30:00] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:30:00] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:30:00] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok, "sessionId": ILUIWU2]
[11:30:00] [TYPING] πŸ“₯ Found 0 typing users in response
[11:30:00] [TYPING] πŸ“₯ Updating typing users SET: []
[11:30:00] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:30:00] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:30:00] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:30:00] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:30:00] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:30:00] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:30:00] [TYPING] πŸ”„ ========== POLL END ==========
[11:30:00] [EVOLUTION] πŸ“ Event 2/7 - Text now: "About to call autoPlayEvolutio..."
[11:30:00] [UPDATE] πŸ”„ updateMessageCell(for: 1615) β€” full safe reload
[11:30:00] [ROWS] ===== updateMessageCell for 1615 β€” chatRows.count=50 =====
[11:30:00] [ROWS] 0: SEPARATOR
[11:30:00] [ROWS] 1: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=50 textLen=50
[11:30:00] [ROWS] 2: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:00] [ROWS] 3: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:00] [ROWS] 4: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:00] [ROWS] 5: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:00] [ROWS] 6: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:00] [ROWS] 7: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:00] [ROWS] 8: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:00] [ROWS] 9: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:00] [ROWS] 10: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:00] [ROWS] 11: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:00] [ROWS] 12: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:00] [ROWS] 13: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:00] [ROWS] 14: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:00] [ROWS] 15: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:30:00] [ROWS] 16: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:00] [ROWS] 17: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:00] [ROWS] 18: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:00] [ROWS] 19: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:00] [ROWS] 20: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:00] [ROWS] 21: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:00] [ROWS] 22: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:30:00] [ROWS] 23: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:00] [ROWS] 24: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:00] [ROWS] 25: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:00] [ROWS] 26: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:00] [ROWS] 27: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:00] [ROWS] 28: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:00] [ROWS] 29: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:00] [ROWS] 30: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:00] [ROWS] 31: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:00] [ROWS] 32: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:00] [ROWS] 33: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:00] [ROWS] 34: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:00] [ROWS] 35: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:00] [ROWS] 36: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:00] [ROWS] 37: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:00] [ROWS] 38: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:00] [ROWS] 39: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:00] [ROWS] 40: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:00] [ROWS] 41: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:30:00] [ROWS] 42: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:00] [ROWS] 43: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:00] [ROWS] 44: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:00] [ROWS] 45: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:00] [ROWS] 46: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:30:00] [ROWS] 47: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:00] [ROWS] 48: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:00] [ROWS] 49: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:00] [ROWS] ===== END (updateMessageCell for 1615) =====
[11:30:00] [HEIGHT_DEBUG] Row 1 msg 1615: isPlayingEvolution=false, textLength=50, text='About to call autoPlayEvolutio...'
[11:30:00] [HEIGHT] Row 1 msg 1615: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:00] [HEIGHT_DEBUG] Row 2 msg 1614: isPlayingEvolution=false, textLength=4, text='CINQ...'
[11:30:00] [HEIGHT] Row 2 msg 1614: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:00] [HEIGHT_DEBUG] Row 1 msg 1615: isPlayingEvolution=false, textLength=50, text='About to call autoPlayEvolutio...'
[11:30:00] [HEIGHT] Row 1 msg 1615: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:00] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:30:00] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:30:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:00] [HEIGHT_DEBUG] Row 2 msg 1614: isPlayingEvolution=false, textLength=4, text='CINQ...'
[11:30:00] [HEIGHT] Row 2 msg 1614: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:00] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:00] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:00] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:00] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:00] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:00] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:00] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:00] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:00] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:00] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:00] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:00] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:30:00] [INFO_PAGE] Found 432 messages for session 'ILUIWU2'
[11:30:00] [INFO_PAGE] Total messages in database: 1198
[11:30:01] [EVOLUTION] πŸ“ Event 3/7 - Text now: "About to call autoPlayEvolutio..."
[11:30:01] [UPDATE] πŸ”„ updateMessageCell(for: 1615) β€” full safe reload
[11:30:01] [ROWS] ===== updateMessageCell for 1615 β€” chatRows.count=50 =====
[11:30:01] [ROWS] 0: SEPARATOR
[11:30:01] [ROWS] 1: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=49 textLen=50
[11:30:01] [ROWS] 2: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:01] [ROWS] 3: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:01] [ROWS] 4: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:01] [ROWS] 5: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:01] [ROWS] 6: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:01] [ROWS] 7: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:01] [ROWS] 8: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:01] [ROWS] 9: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:01] [ROWS] 10: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:01] [ROWS] 11: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:01] [ROWS] 12: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:01] [ROWS] 13: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:01] [ROWS] 14: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:01] [ROWS] 15: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:30:01] [ROWS] 16: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:01] [ROWS] 17: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:01] [ROWS] 18: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:01] [ROWS] 19: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:01] [ROWS] 20: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:01] [ROWS] 21: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:01] [ROWS] 22: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:30:01] [ROWS] 23: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:01] [ROWS] 24: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:01] [ROWS] 25: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:01] [ROWS] 26: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:01] [ROWS] 27: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:01] [ROWS] 28: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:01] [ROWS] 29: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:01] [ROWS] 30: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:01] [ROWS] 31: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:01] [ROWS] 32: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:01] [ROWS] 33: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:01] [ROWS] 34: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:01] [ROWS] 35: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:01] [ROWS] 36: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:01] [ROWS] 37: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:01] [ROWS] 38: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:01] [ROWS] 39: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:01] [ROWS] 40: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:01] [ROWS] 41: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:30:01] [ROWS] 42: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:01] [ROWS] 43: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:01] [ROWS] 44: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:01] [ROWS] 45: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:01] [ROWS] 46: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:30:01] [ROWS] 47: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:01] [ROWS] 48: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:01] [ROWS] 49: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:01] [ROWS] ===== END (updateMessageCell for 1615) =====
[11:30:01] [HEIGHT_DEBUG] Row 1 msg 1615: isPlayingEvolution=false, textLength=50, text='About to call autoPlayEvolutio...'
[11:30:01] [HEIGHT] Row 1 msg 1615: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:01] [HEIGHT_DEBUG] Row 2 msg 1614: isPlayingEvolution=false, textLength=4, text='CINQ...'
[11:30:01] [HEIGHT] Row 2 msg 1614: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:01] [HEIGHT_DEBUG] Row 1 msg 1615: isPlayingEvolution=false, textLength=50, text='About to call autoPlayEvolutio...'
[11:30:01] [HEIGHT] Row 1 msg 1615: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:01] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:30:01] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:30:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:01] [HEIGHT_DEBUG] Row 2 msg 1614: isPlayingEvolution=false, textLength=4, text='CINQ...'
[11:30:01] [HEIGHT] Row 2 msg 1614: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:01] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:01] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:01] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:01] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:01] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:01] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:01] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:01] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:01] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:01] [EVOLUTION] πŸ“ Event 4/7 - Text now: "About to call autoPlayEvolutio..."
[11:30:01] [UPDATE] πŸ”„ updateMessageCell(for: 1615) β€” full safe reload
[11:30:01] [ROWS] ===== updateMessageCell for 1615 β€” chatRows.count=50 =====
[11:30:01] [ROWS] 0: SEPARATOR
[11:30:01] [ROWS] 1: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=48 textLen=50
[11:30:01] [ROWS] 2: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:01] [ROWS] 3: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:01] [ROWS] 4: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:01] [ROWS] 5: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:01] [ROWS] 6: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:01] [ROWS] 7: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:01] [ROWS] 8: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:01] [ROWS] 9: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:01] [ROWS] 10: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:01] [ROWS] 11: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:01] [ROWS] 12: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:01] [ROWS] 13: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:01] [ROWS] 14: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:01] [ROWS] 15: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:30:01] [ROWS] 16: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:01] [ROWS] 17: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:01] [ROWS] 18: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:01] [ROWS] 19: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:01] [ROWS] 20: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:01] [ROWS] 21: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:01] [ROWS] 22: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:30:01] [ROWS] 23: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:01] [ROWS] 24: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:01] [ROWS] 25: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:01] [ROWS] 26: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:01] [ROWS] 27: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:01] [ROWS] 28: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:01] [ROWS] 29: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:01] [ROWS] 30: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:01] [ROWS] 31: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:01] [ROWS] 32: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:01] [ROWS] 33: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:01] [ROWS] 34: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:01] [ROWS] 35: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:01] [ROWS] 36: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:01] [ROWS] 37: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:01] [ROWS] 38: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:01] [ROWS] 39: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:01] [ROWS] 40: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:01] [ROWS] 41: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:30:01] [ROWS] 42: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:01] [ROWS] 43: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:01] [ROWS] 44: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:01] [ROWS] 45: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:01] [ROWS] 46: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:30:01] [ROWS] 47: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:01] [ROWS] 48: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:01] [ROWS] 49: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:01] [ROWS] ===== END (updateMessageCell for 1615) =====
[11:30:01] [HEIGHT_DEBUG] Row 1 msg 1615: isPlayingEvolution=false, textLength=50, text='About to call autoPlayEvolutio...'
[11:30:01] [HEIGHT] Row 1 msg 1615: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:01] [HEIGHT_DEBUG] Row 2 msg 1614: isPlayingEvolution=false, textLength=4, text='CINQ...'
[11:30:01] [HEIGHT] Row 2 msg 1614: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:01] [HEIGHT_DEBUG] Row 1 msg 1615: isPlayingEvolution=false, textLength=50, text='About to call autoPlayEvolutio...'
[11:30:01] [HEIGHT] Row 1 msg 1615: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:01] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:30:01] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:30:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:01] [HEIGHT_DEBUG] Row 2 msg 1614: isPlayingEvolution=false, textLength=4, text='CINQ...'
[11:30:01] [HEIGHT] Row 2 msg 1614: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:01] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:01] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:01] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:01] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:01] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:01] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:01] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:01] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:01] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:01] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("session_id"): ILUIWU2, AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 1617]
[11:30:01] [PUSH] Parsed message_id: 1617
[11:30:01] [PUSH] Parsed operation_type: 3
[11:30:01] [PUSH] Taking direct action: opType=3, messageId=1617
[11:30:01] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=1617
[11:30:01] [EVT] get_events error: Error Domain=NSURLErrorDomain Code=-1005 "The network connection was lost." UserInfo={_kCFStreamErrorCodeKey=-4, NSUnderlyingError=0x113ffa490 {Error Domain=kCFErrorDomainCFNetwork Code=-1005 "(null)" UserInfo={NSErrorPeerAddressKey=<CFData 0x121d82ee0 [0x1f43240d8]>{length = 16, capacity = 16, bytes = 0x1002005154e34b220000000000000000}, _kCFStreamErrorCodeKey=-4, _kCFStreamErrorDomainKey=4}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <A049A9F0-6EB8-45DB-BCC9-50487E9251F0>.<25>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
    "LocalDataTask <A049A9F0-6EB8-45DB-BCC9-50487E9251F0>.<25>"
), NSLocalizedDescription=The network connection was lost., NSErrorFailingURLStringKey=http://crivello.dyndns.org:81/WebRTC/chat/get_events.php?session_id=ILUIWU2&viewer=1&since=10708, NSErrorFailingURLKey=http://crivello.dyndns.org:81/WebRTC/chat/get_events.php?session_id=ILUIWU2&viewer=1&since=10708, _kCFStreamErrorDomainKey=4}
[11:30:01] [EVT] fetch by ids error: Error Domain=NSURLErrorDomain Code=-1005 "The network connection was lost." UserInfo={_kCFStreamErrorCodeKey=-4, NSUnderlyingError=0x113ffbd80 {Error Domain=kCFErrorDomainCFNetwork Code=-1005 "(null)" UserInfo={NSErrorPeerAddressKey=<CFData 0x121d82c10 [0x1f43240d8]>{length = 16, capacity = 16, bytes = 0x1002005154e34b220000000000000000}, _kCFStreamErrorCodeKey=-4, _kCFStreamErrorDomainKey=4}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <97B26FFC-D8A7-4BB5-A556-01C9A33757C7>.<24>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
    "LocalDataTask <97B26FFC-D8A7-4BB5-A556-01C9A33757C7>.<24>"
), NSLocalizedDescription=The network connection was lost., NSErrorFailingURLStringKey=http://crivello.dyndns.org:81/WebRTC/chat/chat_get_messages.php?viewer=1&session_id=ILUIWU2&messages=1617&mark_read=0, NSErrorFailingURLKey=http://crivello.dyndns.org:81/WebRTC/chat/chat_get_messages.php?viewer=1&session_id=ILUIWU2&messages=1617&mark_read=0, _kCFStreamErrorDomainKey=4}
[11:30:02] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:30:02] Will get events_php
[11:30:02] [TYPING] πŸ”„ ========== POLL START ==========
[11:30:02] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:30:02] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:30:02] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:30:02] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:30:02] [EVOLUTION] πŸ“ Event 5/7 - Text now: "About to call autoPlayEvolutio..."
[11:30:02] [UPDATE] πŸ”„ updateMessageCell(for: 1615) β€” full safe reload
[11:30:02] [ROWS] ===== updateMessageCell for 1615 β€” chatRows.count=50 =====
[11:30:02] [ROWS] 0: SEPARATOR
[11:30:02] [ROWS] 1: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=49 textLen=50
[11:30:02] [ROWS] 2: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:02] [ROWS] 3: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:02] [ROWS] 4: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:02] [ROWS] 5: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:02] [ROWS] 6: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:02] [ROWS] 7: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:02] [ROWS] 8: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:02] [ROWS] 9: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:02] [ROWS] 10: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:02] [ROWS] 11: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:02] [ROWS] 12: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:02] [ROWS] 13: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:02] [ROWS] 14: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:02] [ROWS] 15: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:30:02] [ROWS] 16: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:02] [ROWS] 17: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:02] [ROWS] 18: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:02] [ROWS] 19: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:02] [ROWS] 20: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:02] [ROWS] 21: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:02] [ROWS] 22: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:30:02] [ROWS] 23: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:02] [ROWS] 24: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:02] [ROWS] 25: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:02] [ROWS] 26: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:02] [ROWS] 27: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:02] [ROWS] 28: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:02] [ROWS] 29: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:02] [ROWS] 30: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:02] [ROWS] 31: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:02] [ROWS] 32: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:02] [ROWS] 33: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:02] [ROWS] 34: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:02] [ROWS] 35: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:02] [ROWS] 36: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:02] [ROWS] 37: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:02] [ROWS] 38: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:02] [ROWS] 39: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:02] [ROWS] 40: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:02] [ROWS] 41: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:30:02] [ROWS] 42: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:02] [ROWS] 43: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:02] [ROWS] 44: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:02] [ROWS] 45: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:02] [ROWS] 46: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:30:02] [ROWS] 47: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:02] [ROWS] 48: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:02] [ROWS] 49: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:02] [ROWS] ===== END (updateMessageCell for 1615) =====
[11:30:02] [HEIGHT_DEBUG] Row 1 msg 1615: isPlayingEvolution=false, textLength=50, text='About to call autoPlayEvolutio...'
[11:30:02] [HEIGHT] Row 1 msg 1615: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:02] [HEIGHT_DEBUG] Row 2 msg 1614: isPlayingEvolution=false, textLength=4, text='CINQ...'
[11:30:02] [HEIGHT] Row 2 msg 1614: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:02] [HEIGHT_DEBUG] Row 1 msg 1615: isPlayingEvolution=false, textLength=50, text='About to call autoPlayEvolutio...'
[11:30:02] [HEIGHT] Row 1 msg 1615: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:02] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:30:02] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:30:02] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:02] [HEIGHT_DEBUG] Row 2 msg 1614: isPlayingEvolution=false, textLength=4, text='CINQ...'
[11:30:02] [HEIGHT] Row 2 msg 1614: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:02] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:02] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:02] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:02] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:02] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:02] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:02] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:02] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:02] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:02] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:02] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:02] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:02] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:02] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:02] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:02] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:02] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:02] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:02] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:02] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:02] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:02] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:02] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:02] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:02] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:02] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:02] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:02] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:30:02] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:30:02] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:30:02] [TYPING] πŸ“₯ Found 0 typing users in response
[11:30:02] [TYPING] πŸ“₯ Updating typing users SET: []
[11:30:02] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:30:02] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:30:02] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:30:02] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:30:02] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:30:02] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:30:02] [TYPING] πŸ”„ ========== POLL END ==========
[11:30:02] [EVOLUTION] πŸ“ Event 6/7 - Text now: "About to call autoPlayEvolutio..."
[11:30:02] [UPDATE] πŸ”„ updateMessageCell(for: 1615) β€” full safe reload
[11:30:02] [ROWS] ===== updateMessageCell for 1615 β€” chatRows.count=50 =====
[11:30:02] [ROWS] 0: SEPARATOR
[11:30:02] [ROWS] 1: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=50 textLen=50
[11:30:02] [ROWS] 2: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:02] [ROWS] 3: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:02] [ROWS] 4: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:02] [ROWS] 5: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:02] [ROWS] 6: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:02] [ROWS] 7: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:02] [ROWS] 8: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:02] [ROWS] 9: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:02] [ROWS] 10: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:02] [ROWS] 11: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:02] [ROWS] 12: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:02] [ROWS] 13: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:02] [ROWS] 14: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:02] [ROWS] 15: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:30:02] [ROWS] 16: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:02] [ROWS] 17: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:02] [ROWS] 18: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:02] [ROWS] 19: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:02] [ROWS] 20: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:02] [ROWS] 21: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:02] [ROWS] 22: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:30:02] [ROWS] 23: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:02] [ROWS] 24: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:02] [ROWS] 25: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:02] [ROWS] 26: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:02] [ROWS] 27: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:02] [ROWS] 28: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:02] [ROWS] 29: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:02] [ROWS] 30: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:02] [ROWS] 31: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:02] [ROWS] 32: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:02] [ROWS] 33: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:02] [ROWS] 34: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:02] [ROWS] 35: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:02] [ROWS] 36: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:02] [ROWS] 37: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:02] [ROWS] 38: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:02] [ROWS] 39: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:02] [ROWS] 40: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:02] [ROWS] 41: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:30:02] [ROWS] 42: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:02] [ROWS] 43: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:02] [ROWS] 44: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:02] [ROWS] 45: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:02] [ROWS] 46: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:30:02] [ROWS] 47: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:02] [ROWS] 48: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:02] [ROWS] 49: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:02] [ROWS] ===== END (updateMessageCell for 1615) =====
[11:30:02] [HEIGHT_DEBUG] Row 1 msg 1615: isPlayingEvolution=false, textLength=50, text='About to call autoPlayEvolutio...'
[11:30:02] [HEIGHT] Row 1 msg 1615: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:02] [HEIGHT_DEBUG] Row 2 msg 1614: isPlayingEvolution=false, textLength=4, text='CINQ...'
[11:30:02] [HEIGHT] Row 2 msg 1614: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:02] [HEIGHT_DEBUG] Row 1 msg 1615: isPlayingEvolution=false, textLength=50, text='About to call autoPlayEvolutio...'
[11:30:02] [HEIGHT] Row 1 msg 1615: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:02] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:30:02] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:30:02] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:02] [HEIGHT_DEBUG] Row 2 msg 1614: isPlayingEvolution=false, textLength=4, text='CINQ...'
[11:30:02] [HEIGHT] Row 2 msg 1614: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:02] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:02] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:02] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:02] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:02] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:02] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:02] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:02] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:02] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:02] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:02] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:02] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:02] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:02] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:02] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:02] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:02] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:02] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:02] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:02] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:02] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:02] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:02] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:02] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:02] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:02] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:02] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:02] [EVOLUTION_SEQ] ⏱️ t=1763289002.622 βœ… Finished message 1615 - duration=5.36s, length=50 chars, speed=9 chars/s
[11:30:02] [UPDATE] πŸ”„ updateMessageCell(for: 1615) β€” full safe reload
[11:30:02] [ROWS] ===== updateMessageCell for 1615 β€” chatRows.count=50 =====
[11:30:02] [ROWS] 0: SEPARATOR
[11:30:02] [ROWS] 1: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=50 textLen=50
[11:30:02] [ROWS] 2: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:02] [ROWS] 3: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:02] [ROWS] 4: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:02] [ROWS] 5: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:02] [ROWS] 6: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:02] [ROWS] 7: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:02] [ROWS] 8: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:02] [ROWS] 9: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:02] [ROWS] 10: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:02] [ROWS] 11: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:02] [ROWS] 12: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:02] [ROWS] 13: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:02] [ROWS] 14: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:02] [ROWS] 15: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:30:02] [ROWS] 16: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:02] [ROWS] 17: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:02] [ROWS] 18: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:02] [ROWS] 19: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:02] [ROWS] 20: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:02] [ROWS] 21: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:02] [ROWS] 22: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:30:02] [ROWS] 23: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:02] [ROWS] 24: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:02] [ROWS] 25: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:02] [ROWS] 26: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:02] [ROWS] 27: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:02] [ROWS] 28: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:02] [ROWS] 29: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:02] [ROWS] 30: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:02] [ROWS] 31: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:02] [ROWS] 32: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:02] [ROWS] 33: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:02] [ROWS] 34: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:02] [ROWS] 35: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:02] [ROWS] 36: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:02] [ROWS] 37: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:02] [ROWS] 38: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:02] [ROWS] 39: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:02] [ROWS] 40: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:02] [ROWS] 41: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:30:02] [ROWS] 42: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:02] [ROWS] 43: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:02] [ROWS] 44: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:02] [ROWS] 45: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:02] [ROWS] 46: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:30:02] [ROWS] 47: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:02] [ROWS] 48: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:02] [ROWS] 49: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:02] [ROWS] ===== END (updateMessageCell for 1615) =====
[11:30:02] [HEIGHT_DEBUG] Row 1 msg 1615: isPlayingEvolution=false, textLength=50, text='About to call autoPlayEvolutio...'
[11:30:02] [HEIGHT] Row 1 msg 1615: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:02] [HEIGHT_DEBUG] Row 2 msg 1614: isPlayingEvolution=false, textLength=4, text='CINQ...'
[11:30:02] [HEIGHT] Row 2 msg 1614: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:02] [HEIGHT_DEBUG] Row 1 msg 1615: isPlayingEvolution=false, textLength=50, text='About to call autoPlayEvolutio...'
[11:30:02] [HEIGHT] Row 1 msg 1615: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:02] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:30:02] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:30:02] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:02] [HEIGHT_DEBUG] Row 2 msg 1614: isPlayingEvolution=false, textLength=4, text='CINQ...'
[11:30:02] [HEIGHT] Row 2 msg 1614: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:02] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:02] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:02] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:02] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:02] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:02] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:02] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:02] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:02] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:02] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:02] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:02] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:02] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:02] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:02] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:02] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:02] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:02] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:02] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:02] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:02] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:02] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:02] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:02] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:02] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:02] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:02] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:02] [EVOLUTION_SEQ] ⏱️ t=1763289002.675 🎬 1 messages remaining, playing next after 0.5s delay
[11:30:02] [EVT] get_events.php HTTP 200
── Response Headers ──
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Keep-Alive: timeout=5, max=100
Date: Sun, 16 Nov 2025 10:30:02 GMT
Content-Length: 205
Content-Type: application/json; charset=utf-8
Server: Apache/2.4.65 (Unix) PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":2,"events":[{"event_id":10709,"event_type":3,"message_id":1617,"session_id":"ILUIWU2"},{"event_id":10710,"event_type":3,"message_id":1617,"session_id":"ILUIWU2"}]}
[11:30:02] Done
[11:30:03] [EVOLUTION_SEQ] ⏱️ t=1763289003.271 ▢️ Playing message 1616 - 0 remaining in queue
[11:30:03] [EVOLUTION_SEQ] ⏱️ t=1763289003.271 πŸ“ Message 1616: "Messi football..." (14 chars)
[11:30:03] [EVOLUTION_SEQ] ⏱️ t=1763289003.271 πŸ”“ Removed message 1616 from pending set
[11:30:03] [EVOLUTION_SEQ] ⏱️ t=1763289003.272 🎬 Set evolution state for message 1616
[11:30:03] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:30:03] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:30:03] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:30:03] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=51 =====
[11:30:03] [ROWS] 0: SEPARATOR
[11:30:03] [ROWS] 1: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=14
[11:30:03] [ROWS] 2: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=50 textLen=50
[11:30:03] [ROWS] 3: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:03] [ROWS] 4: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:03] [ROWS] 5: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:03] [ROWS] 6: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:03] [ROWS] 7: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:03] [ROWS] 8: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:03] [ROWS] 9: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:03] [ROWS] 10: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:03] [ROWS] 11: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:03] [ROWS] 12: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:03] [ROWS] 13: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:03] [ROWS] 14: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:03] [ROWS] 15: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:03] [ROWS] 16: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:30:03] [ROWS] 17: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:03] [ROWS] 18: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:03] [ROWS] 19: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:03] [ROWS] 20: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:03] [ROWS] 21: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:03] [ROWS] 22: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:03] [ROWS] 23: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:30:03] [ROWS] 24: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:03] [ROWS] 25: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:03] [ROWS] 26: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:03] [ROWS] 27: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:03] [ROWS] 28: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:03] [ROWS] 29: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:03] [ROWS] 30: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:03] [ROWS] 31: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:03] [ROWS] 32: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:03] [ROWS] 33: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:03] [ROWS] 34: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:03] [ROWS] 35: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:03] [ROWS] 36: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:03] [ROWS] 37: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:03] [ROWS] 38: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:03] [ROWS] 39: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:03] [ROWS] 40: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:03] [ROWS] 41: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:03] [ROWS] 42: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:30:03] [ROWS] 43: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:03] [ROWS] 44: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:03] [ROWS] 45: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:03] [ROWS] 46: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:03] [ROWS] 47: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:30:03] [ROWS] 48: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:03] [ROWS] 49: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:03] [ROWS] 50: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:03] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:30:03] [TAB_FILTER] πŸ“Š Reloading table with 51 rows
[11:30:03] [HEIGHT_DEBUG] Row 1 msg 1616: isPlayingEvolution=true, textLength=0, text='...'
[11:30:03] [HEIGHT] Row 1 msg 1616: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:03] [HEIGHT_DEBUG] Row 2 msg 1615: isPlayingEvolution=false, textLength=50, text='About to call autoPlayEvolutio...'
[11:30:03] [HEIGHT] Row 2 msg 1615: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:03] [HEIGHT_DEBUG] Row 1 msg 1616: isPlayingEvolution=true, textLength=0, text='...'
[11:30:03] [HEIGHT] Row 1 msg 1616: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:03] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:30:03] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:30:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:30:03] [HEIGHT_DEBUG] Row 2 msg 1615: isPlayingEvolution=false, textLength=50, text='About to call autoPlayEvolutio...'
[11:30:03] [HEIGHT] Row 2 msg 1615: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:03] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:03] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:03] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:03] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:03] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:03] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:03] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:03] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:03] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:03] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:30:03] [EVOLUTION_SEQ] ⏱️ t=1763289003.322 πŸ“± Table reloaded: 49 β†’ 50 messages (bubble for 1616 now visible)
[11:30:03] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("session_id"): ILUIWU2, AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 1616]
[11:30:03] [PUSH] Parsed message_id: 1616
[11:30:03] [PUSH] Parsed operation_type: 3
[11:30:03] [PUSH] Taking direct action: opType=3, messageId=1616
[11:30:03] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=1616
[11:30:03] [EVOLUTION_SEQ] ⏱️ t=1763289003.647 ▢️ Starting animation for message 1616
[11:30:03] [EVOLUTION] πŸ“‘ Fetching evolution data for message 1616
[11:30:03] [EVOLUTION] πŸ” Raw response (924 bytes): {"ok":true,"has_evolution":true,"message_id":1616,"evolution":{"events":[{"t":0,"op":"i","c":"M","p":0},{"op":"i","t":156,"p":1,"c":"e"},{"t":346,"c":"s","p":2,"op":"i"},{"p":3,"c":"s","t":500,"op":"i
[11:30:03] [EVOLUTION] πŸ” Parsed JSON keys: ["created_at", "evolution", "has_evolution", "message_id", "ok"]
[11:30:03] [EVOLUTION] πŸ” has_evolution: 1
[11:30:03] [EVOLUTION] βœ… Got 24 events for message 1616
[11:30:03] [OVERLAP_FIX] πŸš€ Starting evolution - forcing initial height recalculation
[11:30:03] [UPDATE] πŸ”„ updateMessageCell(for: 1616) β€” full safe reload
[11:30:03] [ROWS] ===== updateMessageCell for 1616 β€” chatRows.count=51 =====
[11:30:03] [ROWS] 0: SEPARATOR
[11:30:03] [ROWS] 1: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=14
[11:30:03] [ROWS] 2: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=50 textLen=50
[11:30:03] [ROWS] 3: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:03] [ROWS] 4: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:03] [ROWS] 5: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:03] [ROWS] 6: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:03] [ROWS] 7: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:03] [ROWS] 8: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:03] [ROWS] 9: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:03] [ROWS] 10: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:03] [ROWS] 11: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:03] [ROWS] 12: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:03] [ROWS] 13: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:03] [ROWS] 14: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:03] [ROWS] 15: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:03] [ROWS] 16: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:30:03] [ROWS] 17: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:03] [ROWS] 18: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:03] [ROWS] 19: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:03] [ROWS] 20: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:03] [ROWS] 21: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:03] [ROWS] 22: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:03] [ROWS] 23: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:30:03] [ROWS] 24: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:03] [ROWS] 25: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:03] [ROWS] 26: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:03] [ROWS] 27: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:03] [ROWS] 28: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:03] [ROWS] 29: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:03] [ROWS] 30: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:03] [ROWS] 31: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:03] [ROWS] 32: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:03] [ROWS] 33: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:03] [ROWS] 34: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:03] [ROWS] 35: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:03] [ROWS] 36: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:03] [ROWS] 37: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:03] [ROWS] 38: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:03] [ROWS] 39: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:03] [ROWS] 40: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:03] [ROWS] 41: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:03] [ROWS] 42: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:30:03] [ROWS] 43: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:03] [ROWS] 44: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:03] [ROWS] 45: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:03] [ROWS] 46: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:03] [ROWS] 47: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:30:03] [ROWS] 48: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:03] [ROWS] 49: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:03] [ROWS] 50: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:03] [ROWS] ===== END (updateMessageCell for 1616) =====
[11:30:03] [HEIGHT_DEBUG] Row 1 msg 1616: isPlayingEvolution=true, textLength=0, text='...'
[11:30:03] [HEIGHT] Row 1 msg 1616: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:03] [HEIGHT_DEBUG] Row 2 msg 1615: isPlayingEvolution=false, textLength=50, text='About to call autoPlayEvolutio...'
[11:30:03] [HEIGHT] Row 2 msg 1615: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:03] [HEIGHT_DEBUG] Row 1 msg 1616: isPlayingEvolution=true, textLength=0, text='...'
[11:30:03] [HEIGHT] Row 1 msg 1616: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:03] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:30:03] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:30:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:30:03] [HEIGHT_DEBUG] Row 2 msg 1615: isPlayingEvolution=false, textLength=50, text='About to call autoPlayEvolutio...'
[11:30:03] [HEIGHT] Row 2 msg 1615: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:03] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:03] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:03] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:03] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:03] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:03] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:03] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:03] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:03] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:03] [EVOLUTION] ▢️ Starting inline playback for message 1616 with 24 events
[11:30:03] [EVOLUTION] πŸ“ Event 0/24 - Text now: "M..."
[11:30:03] [UPDATE] πŸ”„ updateMessageCell(for: 1616) β€” full safe reload
[11:30:03] [ROWS] ===== updateMessageCell for 1616 β€” chatRows.count=51 =====
[11:30:03] [ROWS] 0: SEPARATOR
[11:30:03] [ROWS] 1: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=1 textLen=14
[11:30:03] [ROWS] 2: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=50 textLen=50
[11:30:03] [ROWS] 3: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:03] [ROWS] 4: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:03] [ROWS] 5: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:03] [ROWS] 6: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:03] [ROWS] 7: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:03] [ROWS] 8: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:03] [ROWS] 9: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:03] [ROWS] 10: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:03] [ROWS] 11: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:03] [ROWS] 12: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:03] [ROWS] 13: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:03] [ROWS] 14: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:03] [ROWS] 15: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:03] [ROWS] 16: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:30:03] [ROWS] 17: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:03] [ROWS] 18: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:03] [ROWS] 19: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:03] [ROWS] 20: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:03] [ROWS] 21: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:03] [ROWS] 22: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:03] [ROWS] 23: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:30:03] [ROWS] 24: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:03] [ROWS] 25: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:03] [ROWS] 26: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:03] [ROWS] 27: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:03] [ROWS] 28: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:03] [ROWS] 29: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:03] [ROWS] 30: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:03] [ROWS] 31: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:03] [ROWS] 32: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:03] [ROWS] 33: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:03] [ROWS] 34: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:03] [ROWS] 35: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:03] [ROWS] 36: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:03] [ROWS] 37: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:03] [ROWS] 38: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:03] [ROWS] 39: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:03] [ROWS] 40: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:03] [ROWS] 41: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:03] [ROWS] 42: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:30:03] [ROWS] 43: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:03] [ROWS] 44: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:03] [ROWS] 45: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:03] [ROWS] 46: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:03] [ROWS] 47: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:30:03] [ROWS] 48: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:03] [ROWS] 49: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:03] [ROWS] 50: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:03] [ROWS] ===== END (updateMessageCell for 1616) =====
[11:30:03] [HEIGHT_DEBUG] Row 1 msg 1616: isPlayingEvolution=true, textLength=1, text='M...'
[11:30:03] [HEIGHT] Row 1 msg 1616: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:03] [HEIGHT_DEBUG] Row 2 msg 1615: isPlayingEvolution=false, textLength=50, text='About to call autoPlayEvolutio...'
[11:30:03] [HEIGHT] Row 2 msg 1615: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:03] [HEIGHT_DEBUG] Row 1 msg 1616: isPlayingEvolution=true, textLength=1, text='M...'
[11:30:03] [HEIGHT] Row 1 msg 1616: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:03] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:30:03] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:30:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:03] [HEIGHT_DEBUG] Row 2 msg 1615: isPlayingEvolution=false, textLength=50, text='About to call autoPlayEvolutio...'
[11:30:03] [HEIGHT] Row 2 msg 1615: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:03] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:03] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:03] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:03] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:03] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:03] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:03] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:03] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:03] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:03] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:03] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:03] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:30:03] Will get events_php
[11:30:03] [TYPING] πŸ”„ ========== POLL START ==========
[11:30:03] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:30:03] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:30:03] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:30:03] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:30:03] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:30:03] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:30:03] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok, "sessionId": ILUIWU2]
[11:30:03] [TYPING] πŸ“₯ Found 0 typing users in response
[11:30:03] [TYPING] πŸ“₯ Updating typing users SET: []
[11:30:03] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:30:03] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:30:03] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:30:03] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:30:03] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:30:03] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:30:03] [TYPING] πŸ”„ ========== POLL END ==========
[11:30:03] [EVT] get_events.php HTTP 200
── Response Headers ──
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Keep-Alive: timeout=5, max=97
Date: Sun, 16 Nov 2025 10:30:03 GMT
Content-Length: 130
Content-Type: application/json; charset=utf-8
Server: Apache/2.4.65 (Unix) PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":1,"events":[{"event_id":10711,"event_type":3,"message_id":1616,"session_id":"ILUIWU2"}]}
[11:30:03] Done
[11:30:03] [LOCATION] Failed to get location: The operation couldn’t be completed. (kCLErrorDomain error 1.)
[11:30:04] [EVOLUTION] πŸ“ Event 1/24 - Text now: "Me..."
[11:30:04] [UPDATE] πŸ”„ updateMessageCell(for: 1616) β€” full safe reload
[11:30:04] [ROWS] ===== updateMessageCell for 1616 β€” chatRows.count=51 =====
[11:30:04] [ROWS] 0: SEPARATOR
[11:30:04] [ROWS] 1: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=2 textLen=14
[11:30:04] [ROWS] 2: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=50 textLen=50
[11:30:04] [ROWS] 3: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:04] [ROWS] 4: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:04] [ROWS] 5: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:04] [ROWS] 6: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:04] [ROWS] 7: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:04] [ROWS] 8: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:04] [ROWS] 9: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:04] [ROWS] 10: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:04] [ROWS] 11: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:04] [ROWS] 12: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:04] [ROWS] 13: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:04] [ROWS] 14: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:04] [ROWS] 15: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:04] [ROWS] 16: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:30:04] [ROWS] 17: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:04] [ROWS] 18: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:04] [ROWS] 19: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:04] [ROWS] 20: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:04] [ROWS] 21: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:04] [ROWS] 22: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:04] [ROWS] 23: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:30:04] [ROWS] 24: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:04] [ROWS] 25: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:04] [ROWS] 26: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:04] [ROWS] 27: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:04] [ROWS] 28: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:04] [ROWS] 29: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:04] [ROWS] 30: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:04] [ROWS] 31: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:04] [ROWS] 32: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:04] [ROWS] 33: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:04] [ROWS] 34: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:04] [ROWS] 35: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:04] [ROWS] 36: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:04] [ROWS] 37: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:04] [ROWS] 38: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:04] [ROWS] 39: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:04] [ROWS] 40: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:04] [ROWS] 41: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:04] [ROWS] 42: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:30:04] [ROWS] 43: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:04] [ROWS] 44: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:04] [ROWS] 45: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:04] [ROWS] 46: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:04] [ROWS] 47: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:30:04] [ROWS] 48: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:04] [ROWS] 49: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:04] [ROWS] 50: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:04] [ROWS] ===== END (updateMessageCell for 1616) =====
[11:30:04] [HEIGHT_DEBUG] Row 1 msg 1616: isPlayingEvolution=true, textLength=2, text='Me...'
[11:30:04] [HEIGHT] Row 1 msg 1616: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:04] [HEIGHT_DEBUG] Row 2 msg 1615: isPlayingEvolution=false, textLength=50, text='About to call autoPlayEvolutio...'
[11:30:04] [HEIGHT] Row 2 msg 1615: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:04] [HEIGHT_DEBUG] Row 1 msg 1616: isPlayingEvolution=true, textLength=2, text='Me...'
[11:30:04] [HEIGHT] Row 1 msg 1616: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:04] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:30:04] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:30:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:04] [HEIGHT_DEBUG] Row 2 msg 1615: isPlayingEvolution=false, textLength=50, text='About to call autoPlayEvolutio...'
[11:30:04] [HEIGHT] Row 2 msg 1615: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:04] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:04] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:04] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:04] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:04] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:04] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:04] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:04] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:04] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:04] [EVOLUTION] πŸ“ Event 2/24 - Text now: "Mes..."
[11:30:04] [UPDATE] πŸ”„ updateMessageCell(for: 1616) β€” full safe reload
[11:30:04] [ROWS] ===== updateMessageCell for 1616 β€” chatRows.count=51 =====
[11:30:04] [ROWS] 0: SEPARATOR
[11:30:04] [ROWS] 1: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=3 textLen=14
[11:30:04] [ROWS] 2: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=50 textLen=50
[11:30:04] [ROWS] 3: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:04] [ROWS] 4: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:04] [ROWS] 5: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:04] [ROWS] 6: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:04] [ROWS] 7: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:04] [ROWS] 8: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:04] [ROWS] 9: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:04] [ROWS] 10: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:04] [ROWS] 11: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:04] [ROWS] 12: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:04] [ROWS] 13: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:04] [ROWS] 14: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:04] [ROWS] 15: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:04] [ROWS] 16: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:30:04] [ROWS] 17: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:04] [ROWS] 18: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:04] [ROWS] 19: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:04] [ROWS] 20: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:04] [ROWS] 21: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:04] [ROWS] 22: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:04] [ROWS] 23: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:30:04] [ROWS] 24: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:04] [ROWS] 25: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:04] [ROWS] 26: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:04] [ROWS] 27: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:04] [ROWS] 28: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:04] [ROWS] 29: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:04] [ROWS] 30: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:04] [ROWS] 31: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:04] [ROWS] 32: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:04] [ROWS] 33: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:04] [ROWS] 34: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:04] [ROWS] 35: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:04] [ROWS] 36: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:04] [ROWS] 37: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:04] [ROWS] 38: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:04] [ROWS] 39: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:04] [ROWS] 40: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:04] [ROWS] 41: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:04] [ROWS] 42: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:30:04] [ROWS] 43: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:04] [ROWS] 44: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:04] [ROWS] 45: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:04] [ROWS] 46: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:04] [ROWS] 47: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:30:04] [ROWS] 48: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:04] [ROWS] 49: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:04] [ROWS] 50: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:04] [ROWS] ===== END (updateMessageCell for 1616) =====
[11:30:04] [HEIGHT_DEBUG] Row 1 msg 1616: isPlayingEvolution=true, textLength=3, text='Mes...'
[11:30:04] [HEIGHT] Row 1 msg 1616: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:04] [HEIGHT_DEBUG] Row 2 msg 1615: isPlayingEvolution=false, textLength=50, text='About to call autoPlayEvolutio...'
[11:30:04] [HEIGHT] Row 2 msg 1615: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:04] [HEIGHT_DEBUG] Row 1 msg 1616: isPlayingEvolution=true, textLength=3, text='Mes...'
[11:30:04] [HEIGHT] Row 1 msg 1616: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:04] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:30:04] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:30:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:04] [HEIGHT_DEBUG] Row 2 msg 1615: isPlayingEvolution=false, textLength=50, text='About to call autoPlayEvolutio...'
[11:30:04] [HEIGHT] Row 2 msg 1615: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:04] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:04] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:04] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:04] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:04] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:04] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:04] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:04] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:04] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:04] [EVOLUTION] πŸ“ Event 3/24 - Text now: "Mess..."
[11:30:04] [UPDATE] πŸ”„ updateMessageCell(for: 1616) β€” full safe reload
[11:30:04] [ROWS] ===== updateMessageCell for 1616 β€” chatRows.count=51 =====
[11:30:04] [ROWS] 0: SEPARATOR
[11:30:04] [ROWS] 1: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=4 textLen=14
[11:30:04] [ROWS] 2: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=50 textLen=50
[11:30:04] [ROWS] 3: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:04] [ROWS] 4: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:04] [ROWS] 5: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:04] [ROWS] 6: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:04] [ROWS] 7: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:04] [ROWS] 8: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:04] [ROWS] 9: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:04] [ROWS] 10: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:04] [ROWS] 11: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:04] [ROWS] 12: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:04] [ROWS] 13: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:04] [ROWS] 14: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:04] [ROWS] 15: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:04] [ROWS] 16: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:30:04] [ROWS] 17: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:04] [ROWS] 18: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:04] [ROWS] 19: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:04] [ROWS] 20: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:04] [ROWS] 21: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:04] [ROWS] 22: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:04] [ROWS] 23: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:30:04] [ROWS] 24: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:04] [ROWS] 25: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:04] [ROWS] 26: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:04] [ROWS] 27: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:04] [ROWS] 28: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:04] [ROWS] 29: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:04] [ROWS] 30: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:04] [ROWS] 31: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:04] [ROWS] 32: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:04] [ROWS] 33: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:04] [ROWS] 34: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:04] [ROWS] 35: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:04] [ROWS] 36: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:04] [ROWS] 37: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:04] [ROWS] 38: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:04] [ROWS] 39: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:04] [ROWS] 40: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:04] [ROWS] 41: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:04] [ROWS] 42: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:30:04] [ROWS] 43: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:04] [ROWS] 44: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:04] [ROWS] 45: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:04] [ROWS] 46: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:04] [ROWS] 47: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:30:04] [ROWS] 48: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:04] [ROWS] 49: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:04] [ROWS] 50: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:04] [ROWS] ===== END (updateMessageCell for 1616) =====
[11:30:04] [HEIGHT_DEBUG] Row 1 msg 1616: isPlayingEvolution=true, textLength=4, text='Mess...'
[11:30:04] [HEIGHT] Row 1 msg 1616: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:04] [HEIGHT_DEBUG] Row 2 msg 1615: isPlayingEvolution=false, textLength=50, text='About to call autoPlayEvolutio...'
[11:30:04] [HEIGHT] Row 2 msg 1615: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:04] [HEIGHT_DEBUG] Row 1 msg 1616: isPlayingEvolution=true, textLength=4, text='Mess...'
[11:30:04] [HEIGHT] Row 1 msg 1616: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:04] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:30:04] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:30:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:04] [HEIGHT_DEBUG] Row 2 msg 1615: isPlayingEvolution=false, textLength=50, text='About to call autoPlayEvolutio...'
[11:30:04] [HEIGHT] Row 2 msg 1615: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:04] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:04] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:04] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:04] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:04] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:04] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:04] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:04] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:04] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:04] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:04] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:51] [CRASH] Previous session did not exit cleanly - crash detected
[11:30:51] [GIPHY] SDK not available - using REST API fallback
[11:30:51] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:30:51] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:30:51] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:30:51] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:30:51] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:30:51] [SCENE] Launched directly to chat view with sessionId: ILUIWU2
[11:30:51] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:30:51] Documents Directory: /var/mobile/Containers/Data/Application/36CCA1A7-92B9-4B55-8315-50DEA376D97D/Documents
[11:30:51] [NOTIFICATION] πŸ”” Notification button created and added to topNavBar
[11:30:51] [NOTIFICATION] πŸ”” Button tintColor: grey (0.5, 0.5, 0.5)
[11:30:51] [NOTIFICATION] πŸ”” Button isUserInteractionEnabled: true
[11:30:51] [INFO_PAGE] InformationViewController viewDidLoad called
[11:30:51] [INFO_PAGE] Actions configured (bell button is external)
[11:30:51] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:30:51] [INFO_PAGE] Successfully opened database at /var/mobile/Containers/Data/Application/36CCA1A7-92B9-4B55-8315-50DEA376D97D/Documents/chat_local_viewer.db
[11:30:51] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:30:51] [INFO_PAGE] Found 432 messages for session 'ILUIWU2'
[11:30:51] [INFO_PAGE] Total messages in database: 1198
[11:30:51] [INFO_PAGE] InformationViewController setup complete
[11:30:51] [INFO_PAGE] ℹ️ Information page added to tab 3
[11:30:51] [THEME] Applying current theme
[11:30:51] [CHAT] Applied day theme (mode: day)
[11:30:51] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:30:51] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:30:51] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:30:51] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:30:51] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:30:51] [SUMMARY] Already showed summary today (2025-11-16)
[11:30:51] Did transition
[11:30:51] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:30:51] [VIEWER] Screen lock enabled - normal idle behavior
[11:30:51] [QUERY] πŸ” Checking tab - currentTabIndex=0
[11:30:51] [QUERY] πŸ”΅ [TAB 0] No query connection needed
[11:30:51] [QUERY] βœ… [TAB 0] Initialized without query connection
[11:30:51] [LOCATION] Started location updates for distance calculation (already authorized)
[11:30:51] [TAB 0] Skipping reconnect polling - only needed for tab 1
[11:30:51] [VIEWER_INIT] Loading messages with read receipts from server
[11:30:51] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:30:51] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:30:51] [DB]   msg[0] id=1617, isMyMessage=false, readBy.count=0
[11:30:51] [DB]   msg[1] id=1616, isMyMessage=false, readBy.count=0
[11:30:51] [DB]   msg[2] id=1615, isMyMessage=false, readBy.count=0
[11:30:51] [EVOLUTION] πŸ” Found 1 NEW unread messages from local DB before fetching read receipts (lastSeenMessageId=1616): [1617]
[11:30:51] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1617, readBy=[]", "id=1616, readBy=[]", "id=1615, readBy=[]"]
[11:30:51] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:30:51] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:30:51] [DB]   msg[0] id=1617, isMyMessage=false, readBy.count=0
[11:30:51] [DB]   msg[1] id=1616, isMyMessage=false, readBy.count=0
[11:30:51] [DB]   msg[2] id=1615, isMyMessage=false, readBy.count=0
[11:30:51] [EVENT_POLL] Starting periodic event polling for viewer mode (5s interval)
[11:30:51] [ORIENTATION] Updated pagingScrollView height to 247.5 for width 440.0
[11:30:51] [SUMMARY] Already showed summary today (2025-11-16)
[11:30:51] Did transition
[11:30:51] [NOTIFICATION] πŸ”” Constraints activated for notification button
[11:30:51] [NOTIFICATION] πŸ”” topNavBar frame: (0.0, 0.0, 440.0, 50.0)
[11:30:51] [NOTIFICATION] πŸ”” menuButton frame: (0.0, 0.0, 39.0, 30.0)
[11:30:51] [NOTIFICATION] πŸ”” notificationButton frame: (0.0, 0.0, 56.333333333333336, 58.0)
[11:30:51] [NOTIFICATION] πŸ”” Notification button brought to front
[11:30:51] [NOTIFICATION] πŸ”„ Updating icon to: bell.slash.fill (muted=true)
[11:30:51] [NOTIFICATION] βœ… Icon updated successfully
[11:30:51] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[11:30:51] [MIGRATION] No messages need sender_name backfill
[11:30:51] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:30:51] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:30:51] [DB]   msg[0] id=1617, isMyMessage=false, readBy.count=0
[11:30:51] [DB]   msg[1] id=1616, isMyMessage=false, readBy.count=0
[11:30:51] [DB]   msg[2] id=1615, isMyMessage=false, readBy.count=0
[11:30:51] [INFO_PAGE] InformationViewController viewWillAppear - applying theme
[11:30:51] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:30:51] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:30:51] [PAGINATION_SCROLL] offset=-12.0, contentHeight=108.0, distFromBottom=120.0, dragging=false, decel=false, isLoading=false, cooldown=63899058651.68196s
[11:30:51] [PAGINATION_SCROLL] offset=0.0, contentHeight=108.0, distFromBottom=-650.0, dragging=false, decel=false, isLoading=false, cooldown=63899058651.68392s
[11:30:51] [LOCATION] Authorization changed: 4
[11:30:51] [LOCATION] Updated location: 46.50141058943937, 6.722693751863506
[11:30:51] [LOCATION] Updated location: 46.50141058943937, 6.722693751863506
[11:30:51] [NOTIFICATION] πŸ”” FINAL STATE after viewDidLoad:
[11:30:51] [NOTIFICATION] πŸ”” notificationButton.frame: (392.0, 67.0, 40.0, 40.0)
[11:30:51] [NOTIFICATION] πŸ”” notificationButton.isHidden: false
[11:30:51] [NOTIFICATION] πŸ”” notificationButton.alpha: 1.0
[11:30:51] [NOTIFICATION] πŸ”” notificationButton.superview: true
[11:30:51] [NOTIFICATION] πŸ”” topNavBar.isHidden: false
[11:30:51] [NOTIFICATION] πŸ”” topNavBar.subviews.count: 3
[11:30:51] [PUSH] APNs token: 6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c
[11:30:51] [PUSH] handlePollEventsNotification userInfo: [:]
[11:30:51] [PUSH] No message_id in userInfo
[11:30:51] [PUSH] No operation_type in userInfo
[11:30:51] [PUSH] Performing full refresh to catch up on any missed messages
[11:30:51] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:30:51] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:30:51] [DB]   msg[0] id=1617, isMyMessage=false, readBy.count=0
[11:30:51] [DB]   msg[1] id=1616, isMyMessage=false, readBy.count=0
[11:30:51] [DB]   msg[2] id=1615, isMyMessage=false, readBy.count=0
[11:30:51] [PUSH] Device role updated to 'viewer': HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:30:51] [PUSH] Device role updated to 'viewer': HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:30:51] [USER] βœ… User registered successfully
[11:30:51] [USER] User registration successful
[11:30:51] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:30:51] [CHAT] βœ… refreshAllFromServer - parsed 432 messages from server
[11:30:51] [DB] clearDBForSession(ILUIWU2): deleted 432 messages, result=101
[11:30:52] ReloadData 15 (432 messages loaded, 0 pending media)
[11:30:52] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:30:52] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:30:52] [DB]   msg[0] id=1617, isMyMessage=false, readBy.count=0
[11:30:52] [DB]   msg[1] id=1616, isMyMessage=false, readBy.count=0
[11:30:52] [DB]   msg[2] id=1615, isMyMessage=false, readBy.count=0
[11:30:52] [EVOLUTION] πŸ” Found 1 NEW unread messages after refreshAllFromServer (lastSeenMessageId=1616): [1617]
[11:30:52] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1617, readBy=[]", "id=1616, readBy=[]", "id=1615, readBy=[]"]
[11:30:52] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:30:52] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:30:52] [DB]   msg[0] id=1617, isMyMessage=false, readBy.count=0
[11:30:52] [DB]   msg[1] id=1616, isMyMessage=false, readBy.count=0
[11:30:52] [DB]   msg[2] id=1615, isMyMessage=false, readBy.count=0
[11:30:52] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:30:52] [UNREAD_DEBUG]   FINAL msg[0] id=1617, readBy.count=0
[11:30:52] [UNREAD_DEBUG]   FINAL msg[1] id=1616, readBy.count=1
[11:30:52] [UNREAD_DEBUG]   FINAL msg[2] id=1615, readBy.count=1
[11:30:52] [VIEWER_INIT] Loaded 50 messages with read receipts, hasMore: true
[11:30:52] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:30:52] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:30:52] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:30:52] [EVOLUTION] πŸ“ Updated lastSeenMessageId: 1616 β†’ 1617
[11:30:52] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=51 =====
[11:30:52] [ROWS] 0: SEPARATOR
[11:30:52] [ROWS] 1: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 2: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:30:52] [ROWS] 3: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:30:52] [ROWS] 4: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 5: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:52] [ROWS] 6: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 7: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 8: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:52] [ROWS] 9: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:52] [ROWS] 10: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:52] [ROWS] 11: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 12: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:52] [ROWS] 13: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:52] [ROWS] 14: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 15: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:52] [ROWS] 16: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:52] [ROWS] 17: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:30:52] [ROWS] 18: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 19: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:52] [ROWS] 20: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:52] [ROWS] 21: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:52] [ROWS] 22: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:52] [ROWS] 23: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:52] [ROWS] 24: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:30:52] [ROWS] 25: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:52] [ROWS] 26: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:52] [ROWS] 27: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:52] [ROWS] 28: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 29: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:52] [ROWS] 30: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 31: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:52] [ROWS] 32: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:52] [ROWS] 33: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 34: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 35: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:52] [ROWS] 36: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 37: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 38: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 39: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:52] [ROWS] 40: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:52] [ROWS] 41: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 42: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 43: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:30:52] [ROWS] 44: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:52] [ROWS] 45: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:52] [ROWS] 46: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:52] [ROWS] 47: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:52] [ROWS] 48: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:30:52] [ROWS] 49: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:52] [ROWS] 50: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:52] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:30:52] [TAB_FILTER] πŸ“Š Reloading table with 51 rows
[11:30:52] [HEIGHT_DEBUG] Row 1 msg 1617: isPlayingEvolution=false, textLength=5, text='Balle...'
[11:30:52] [EMOJI] βœ… Loaded 451 emoji-to-GIF mappings
[11:30:52] [HEIGHT] Row 1 msg 1617: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:52] [HEIGHT_DEBUG] Row 2 msg 1616: isPlayingEvolution=false, textLength=14, text='Messi football...'
[11:30:52] [HEIGHT] Row 2 msg 1616: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:52] [HEIGHT_DEBUG] Row 1 msg 1617: isPlayingEvolution=false, textLength=5, text='Balle...'
[11:30:52] [HEIGHT] Row 1 msg 1617: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:52] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:30:52] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [HEIGHT_DEBUG] Row 2 msg 1616: isPlayingEvolution=false, textLength=14, text='Messi football...'
[11:30:52] [HEIGHT] Row 2 msg 1616: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:52] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:30:52] ReloadData 18 (viewer init with read receipts)
[11:30:52] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:30:52] [UNREAD_DEBUG]   FINAL msg[0] id=1617, readBy.count=0
[11:30:52] [UNREAD_DEBUG]   FINAL msg[1] id=1616, readBy.count=1
[11:30:52] [UNREAD_DEBUG]   FINAL msg[2] id=1615, readBy.count=1
[11:30:52] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:30:52] [UNREAD_DEBUG]   FINAL msg[0] id=1617, readBy.count=0
[11:30:52] [UNREAD_DEBUG]   FINAL msg[1] id=1616, readBy.count=1
[11:30:52] [UNREAD_DEBUG]   FINAL msg[2] id=1615, readBy.count=1
[11:30:52] [FOREGROUND_REFRESH] Loaded 50 messages
[11:30:52] [EVOLUTION] πŸ” [FOREGROUND] Found 0 NEW unread messages (lastSeenMessageId=1617): []
[11:30:52] [FOREGROUND_REFRESH] About to call autoPlayEvolutionForUnreadMessageIds with 0 IDs: []
[11:30:52] [FOREGROUND_REFRESH] No unread messages to play evolution for - reloading table normally
[11:30:52] [EVOLUTION_SEQ] πŸš€ FUNCTION CALLED with 1 message IDs: [1617]
[11:30:52] [EVOLUTION_SEQ] ⏱️ t=1763289052.079 πŸ“‹ Starting with 1 messages: [1617]
[11:30:52] [EVOLUTION_SEQ] πŸ“Š Message 1/1: id=1617, length=5 chars, estimated_duration=0.25s
[11:30:52] [EVOLUTION_SEQ] ⏱️ t=1763289052.079 πŸ”’ Marked 1 messages as pending (hidden from view)
[11:30:52] [EVOLUTION_SEQ] ⏱️ t=1763289052.079 πŸ“ Queued 1 messages for sequential playback
[11:30:52] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:30:52] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:30:52] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:30:52] [EVOLUTION_SEQ] ⏱️ t=1763289052.080 Filtered out 1 pending evolution messages
[11:30:52] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=50 =====
[11:30:52] [ROWS] 0: SEPARATOR
[11:30:52] [ROWS] 1: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:30:52] [ROWS] 2: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:30:52] [ROWS] 3: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 4: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:52] [ROWS] 5: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 6: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 7: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:52] [ROWS] 8: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:52] [ROWS] 9: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:52] [ROWS] 10: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 11: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:52] [ROWS] 12: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:52] [ROWS] 13: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 14: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:52] [ROWS] 15: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:52] [ROWS] 16: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:30:52] [ROWS] 17: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 18: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:52] [ROWS] 19: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:52] [ROWS] 20: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:52] [ROWS] 21: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:52] [ROWS] 22: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:52] [ROWS] 23: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:30:52] [ROWS] 24: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:52] [ROWS] 25: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:52] [ROWS] 26: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:52] [ROWS] 27: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 28: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:52] [ROWS] 29: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 30: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:52] [ROWS] 31: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:52] [ROWS] 32: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 33: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 34: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:52] [ROWS] 35: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 36: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 37: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 38: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:52] [ROWS] 39: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:52] [ROWS] 40: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 41: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 42: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:30:52] [ROWS] 43: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:52] [ROWS] 44: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:52] [ROWS] 45: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:52] [ROWS] 46: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:52] [ROWS] 47: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:30:52] [ROWS] 48: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:52] [ROWS] 49: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:52] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:30:52] [TAB_FILTER] πŸ“Š Reloading table with 50 rows
[11:30:52] [HEIGHT_DEBUG] Row 1 msg 1616: isPlayingEvolution=false, textLength=14, text='Messi football...'
[11:30:52] [HEIGHT] Row 1 msg 1616: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:52] [HEIGHT_DEBUG] Row 2 msg 1615: isPlayingEvolution=false, textLength=50, text='About to call autoPlayEvolutio...'
[11:30:52] [HEIGHT] Row 2 msg 1615: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:52] [HEIGHT_DEBUG] Row 1 msg 1616: isPlayingEvolution=false, textLength=14, text='Messi football...'
[11:30:52] [HEIGHT] Row 1 msg 1616: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:52] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:30:52] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [HEIGHT_DEBUG] Row 2 msg 1615: isPlayingEvolution=false, textLength=50, text='About to call autoPlayEvolutio...'
[11:30:52] [HEIGHT] Row 2 msg 1615: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:52] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:30:52] [EVOLUTION_SEQ] ⏱️ t=1763289052.086 πŸ“Š Table reloaded: 50 β†’ 49 visible messages
[11:30:52] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:30:52] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:30:52] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:30:52] [EVOLUTION_SEQ] ⏱️ t=1763289052.086 Filtered out 1 pending evolution messages
[11:30:52] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=50 =====
[11:30:52] [ROWS] 0: SEPARATOR
[11:30:52] [ROWS] 1: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:30:52] [ROWS] 2: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:30:52] [ROWS] 3: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 4: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:52] [ROWS] 5: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 6: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 7: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:52] [ROWS] 8: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:52] [ROWS] 9: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:52] [ROWS] 10: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 11: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:52] [ROWS] 12: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:52] [ROWS] 13: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 14: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:52] [ROWS] 15: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:52] [ROWS] 16: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:30:52] [ROWS] 17: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 18: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:52] [ROWS] 19: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:52] [ROWS] 20: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:52] [ROWS] 21: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:52] [ROWS] 22: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:52] [ROWS] 23: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:30:52] [ROWS] 24: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:52] [ROWS] 25: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:52] [ROWS] 26: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:52] [ROWS] 27: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 28: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:52] [ROWS] 29: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 30: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:52] [ROWS] 31: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:52] [ROWS] 32: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 33: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 34: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:52] [ROWS] 35: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 36: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 37: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 38: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:52] [ROWS] 39: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:52] [ROWS] 40: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 41: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 42: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:30:52] [ROWS] 43: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:52] [ROWS] 44: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:52] [ROWS] 45: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:52] [ROWS] 46: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:52] [ROWS] 47: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:30:52] [ROWS] 48: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:52] [ROWS] 49: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:52] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:30:52] [TAB_FILTER] πŸ“Š Reloading table with 50 rows
[11:30:52] [HEIGHT_DEBUG] Row 1 msg 1616: isPlayingEvolution=false, textLength=14, text='Messi football...'
[11:30:52] [HEIGHT] Row 1 msg 1616: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:52] [HEIGHT_DEBUG] Row 2 msg 1615: isPlayingEvolution=false, textLength=50, text='About to call autoPlayEvolutio...'
[11:30:52] [HEIGHT] Row 2 msg 1615: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:52] [HEIGHT_DEBUG] Row 1 msg 1616: isPlayingEvolution=false, textLength=14, text='Messi football...'
[11:30:52] [HEIGHT] Row 1 msg 1616: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:52] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:30:52] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [HEIGHT_DEBUG] Row 2 msg 1615: isPlayingEvolution=false, textLength=50, text='About to call autoPlayEvolutio...'
[11:30:52] [HEIGHT] Row 2 msg 1615: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:52] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:30:52] [INIT_PAGINATION] Loaded 50 total messages, displaying 49 for tab 0
[11:30:52] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:30:52] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:30:52] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:30:52] [EVOLUTION_SEQ] ⏱️ t=1763289052.092 Filtered out 1 pending evolution messages
[11:30:52] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=50 =====
[11:30:52] [ROWS] 0: SEPARATOR
[11:30:52] [ROWS] 1: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:30:52] [ROWS] 2: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:30:52] [ROWS] 3: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 4: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:52] [ROWS] 5: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 6: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 7: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:52] [ROWS] 8: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:52] [ROWS] 9: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:52] [ROWS] 10: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 11: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:52] [ROWS] 12: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:52] [ROWS] 13: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 14: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:52] [ROWS] 15: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:52] [ROWS] 16: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:30:52] [ROWS] 17: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 18: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:52] [ROWS] 19: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:52] [ROWS] 20: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:52] [ROWS] 21: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:52] [ROWS] 22: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:52] [ROWS] 23: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:30:52] [ROWS] 24: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:52] [ROWS] 25: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:52] [ROWS] 26: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:52] [ROWS] 27: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 28: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:52] [ROWS] 29: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 30: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:52] [ROWS] 31: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:52] [ROWS] 32: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 33: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 34: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:52] [ROWS] 35: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 36: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 37: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 38: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:52] [ROWS] 39: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:52] [ROWS] 40: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 41: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 42: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:30:52] [ROWS] 43: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:52] [ROWS] 44: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:52] [ROWS] 45: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:52] [ROWS] 46: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:52] [ROWS] 47: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:30:52] [ROWS] 48: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:52] [ROWS] 49: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:52] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:30:52] [TAB_FILTER] πŸ“Š Reloading table with 50 rows
[11:30:52] [HEIGHT_DEBUG] Row 1 msg 1616: isPlayingEvolution=false, textLength=14, text='Messi football...'
[11:30:52] [HEIGHT] Row 1 msg 1616: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:52] [HEIGHT_DEBUG] Row 2 msg 1615: isPlayingEvolution=false, textLength=50, text='About to call autoPlayEvolutio...'
[11:30:52] [HEIGHT] Row 2 msg 1615: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:52] [HEIGHT_DEBUG] Row 1 msg 1616: isPlayingEvolution=false, textLength=14, text='Messi football...'
[11:30:52] [HEIGHT] Row 1 msg 1616: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:52] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:30:52] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [HEIGHT_DEBUG] Row 2 msg 1615: isPlayingEvolution=false, textLength=50, text='About to call autoPlayEvolutio...'
[11:30:52] [HEIGHT] Row 2 msg 1615: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:52] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:30:52] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:30:52] [UNREAD_DEBUG]   FINAL msg[0] id=1617, readBy.count=1
[11:30:52] [UNREAD_DEBUG]   FINAL msg[1] id=1616, readBy.count=1
[11:30:52] [UNREAD_DEBUG]   FINAL msg[2] id=1615, readBy.count=1
[11:30:52] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:30:52] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:30:52] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:30:52] [EVOLUTION_SEQ] ⏱️ t=1763289052.117 Filtered out 1 pending evolution messages
[11:30:52] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=50 =====
[11:30:52] [ROWS] 0: SEPARATOR
[11:30:52] [ROWS] 1: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:30:52] [ROWS] 2: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:30:52] [ROWS] 3: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 4: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:52] [ROWS] 5: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 6: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 7: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:52] [ROWS] 8: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:52] [ROWS] 9: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:52] [ROWS] 10: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 11: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:52] [ROWS] 12: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:52] [ROWS] 13: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 14: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:52] [ROWS] 15: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:52] [ROWS] 16: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:30:52] [ROWS] 17: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 18: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:52] [ROWS] 19: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:52] [ROWS] 20: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:52] [ROWS] 21: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:52] [ROWS] 22: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:52] [ROWS] 23: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:30:52] [ROWS] 24: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:52] [ROWS] 25: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:52] [ROWS] 26: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:52] [ROWS] 27: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 28: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:52] [ROWS] 29: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 30: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:52] [ROWS] 31: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:52] [ROWS] 32: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 33: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 34: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:52] [ROWS] 35: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 36: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 37: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 38: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:52] [ROWS] 39: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:52] [ROWS] 40: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 41: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 42: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:30:52] [ROWS] 43: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:52] [ROWS] 44: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:52] [ROWS] 45: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:52] [ROWS] 46: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:52] [ROWS] 47: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:30:52] [ROWS] 48: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:52] [ROWS] 49: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:52] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:30:52] [TAB_FILTER] πŸ“Š Reloading table with 50 rows
[11:30:52] [HEIGHT_DEBUG] Row 1 msg 1616: isPlayingEvolution=false, textLength=14, text='Messi football...'
[11:30:52] [HEIGHT] Row 1 msg 1616: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:52] [HEIGHT_DEBUG] Row 2 msg 1615: isPlayingEvolution=false, textLength=50, text='About to call autoPlayEvolutio...'
[11:30:52] [HEIGHT] Row 2 msg 1615: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:52] [HEIGHT_DEBUG] Row 1 msg 1616: isPlayingEvolution=false, textLength=14, text='Messi football...'
[11:30:52] [HEIGHT] Row 1 msg 1616: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:52] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:30:52] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [HEIGHT_DEBUG] Row 2 msg 1615: isPlayingEvolution=false, textLength=50, text='About to call autoPlayEvolutio...'
[11:30:52] [HEIGHT] Row 2 msg 1615: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:52] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:30:52] [INITIAL_LOAD] Loaded 50 messages (first page), displaying 49 for tab 0, hasMore: true
[11:30:52] ReloadData 1
[11:30:52] [PURGE] Deleted 0 unused media files:

[11:30:52] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:30:52] [EVOLUTION_SEQ] πŸš€ FUNCTION CALLED with 1 message IDs: [1617]
[11:30:52] [EVOLUTION_SEQ] ⏱️ t=1763289052.124 πŸ“‹ Starting with 1 messages: [1617]
[11:30:52] [EVOLUTION_SEQ] πŸ“Š Message 1/1: id=1617, length=5 chars, estimated_duration=0.25s
[11:30:52] [EVOLUTION_SEQ] ⏱️ t=1763289052.124 πŸ”’ Marked 1 messages as pending (hidden from view)
[11:30:52] [EVOLUTION_SEQ] ⏱️ t=1763289052.124 πŸ“ Queued 1 messages for sequential playback
[11:30:52] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:30:52] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:30:52] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:30:52] [EVOLUTION_SEQ] ⏱️ t=1763289052.124 Filtered out 1 pending evolution messages
[11:30:52] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=50 =====
[11:30:52] [ROWS] 0: SEPARATOR
[11:30:52] [ROWS] 1: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:30:52] [ROWS] 2: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:30:52] [ROWS] 3: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 4: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:52] [ROWS] 5: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 6: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 7: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:52] [ROWS] 8: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:52] [ROWS] 9: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:52] [ROWS] 10: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 11: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:52] [ROWS] 12: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:52] [ROWS] 13: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 14: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:52] [ROWS] 15: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:52] [ROWS] 16: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:30:52] [ROWS] 17: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 18: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:52] [ROWS] 19: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:52] [ROWS] 20: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:52] [ROWS] 21: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:52] [ROWS] 22: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:52] [ROWS] 23: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:30:52] [ROWS] 24: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:52] [ROWS] 25: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:52] [ROWS] 26: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:52] [ROWS] 27: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 28: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:52] [ROWS] 29: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 30: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:52] [ROWS] 31: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:52] [ROWS] 32: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 33: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 34: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:52] [ROWS] 35: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 36: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 37: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 38: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:52] [ROWS] 39: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:52] [ROWS] 40: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 41: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 42: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:30:52] [ROWS] 43: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:52] [ROWS] 44: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:52] [ROWS] 45: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:52] [ROWS] 46: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:52] [ROWS] 47: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:30:52] [ROWS] 48: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:52] [ROWS] 49: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:52] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:30:52] [TAB_FILTER] πŸ“Š Reloading table with 50 rows
[11:30:52] [HEIGHT_DEBUG] Row 1 msg 1616: isPlayingEvolution=false, textLength=14, text='Messi football...'
[11:30:52] [HEIGHT] Row 1 msg 1616: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:52] [HEIGHT_DEBUG] Row 2 msg 1615: isPlayingEvolution=false, textLength=50, text='About to call autoPlayEvolutio...'
[11:30:52] [HEIGHT] Row 2 msg 1615: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:52] [HEIGHT_DEBUG] Row 1 msg 1616: isPlayingEvolution=false, textLength=14, text='Messi football...'
[11:30:52] [HEIGHT] Row 1 msg 1616: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:52] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:30:52] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [HEIGHT_DEBUG] Row 2 msg 1615: isPlayingEvolution=false, textLength=50, text='About to call autoPlayEvolutio...'
[11:30:52] [HEIGHT] Row 2 msg 1615: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:52] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:30:52] [EVOLUTION_SEQ] ⏱️ t=1763289052.130 πŸ“Š Table reloaded: 49 β†’ 49 visible messages
[11:30:52] [EVOLUTION_SEQ] ⏱️ t=1763289052.293 🎬 Starting sequential playback
[11:30:52] [EVOLUTION_SEQ] ⏱️ t=1763289052.293 ▢️ Playing message 1617 - 0 remaining in queue
[11:30:52] [EVOLUTION_SEQ] ⏱️ t=1763289052.293 πŸ“ Message 1617: "Balle..." (5 chars)
[11:30:52] [EVOLUTION_SEQ] ⏱️ t=1763289052.293 πŸ”“ Removed message 1617 from pending set
[11:30:52] [EVOLUTION_SEQ] ⏱️ t=1763289052.293 🎬 Set evolution state for message 1617
[11:30:52] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:30:52] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:30:52] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:30:52] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=51 =====
[11:30:52] [ROWS] 0: SEPARATOR
[11:30:52] [ROWS] 1: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=5
[11:30:52] [ROWS] 2: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:30:52] [ROWS] 3: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:30:52] [ROWS] 4: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 5: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:52] [ROWS] 6: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 7: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 8: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:52] [ROWS] 9: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:52] [ROWS] 10: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:52] [ROWS] 11: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 12: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:52] [ROWS] 13: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:52] [ROWS] 14: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 15: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:52] [ROWS] 16: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:52] [ROWS] 17: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:30:52] [ROWS] 18: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 19: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:52] [ROWS] 20: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:52] [ROWS] 21: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:52] [ROWS] 22: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:52] [ROWS] 23: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:52] [ROWS] 24: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:30:52] [ROWS] 25: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:52] [ROWS] 26: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:52] [ROWS] 27: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:52] [ROWS] 28: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 29: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:52] [ROWS] 30: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 31: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:52] [ROWS] 32: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:52] [ROWS] 33: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 34: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 35: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:52] [ROWS] 36: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 37: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 38: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 39: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:52] [ROWS] 40: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:52] [ROWS] 41: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 42: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 43: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:30:52] [ROWS] 44: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:52] [ROWS] 45: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:52] [ROWS] 46: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:52] [ROWS] 47: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:52] [ROWS] 48: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:30:52] [ROWS] 49: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:52] [ROWS] 50: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:52] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:30:52] [TAB_FILTER] πŸ“Š Reloading table with 51 rows
[11:30:52] [HEIGHT_DEBUG] Row 1 msg 1617: isPlayingEvolution=true, textLength=0, text='...'
[11:30:52] [HEIGHT] Row 1 msg 1617: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:52] [HEIGHT_DEBUG] Row 2 msg 1616: isPlayingEvolution=false, textLength=14, text='Messi football...'
[11:30:52] [HEIGHT] Row 2 msg 1616: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:52] [HEIGHT_DEBUG] Row 1 msg 1617: isPlayingEvolution=true, textLength=0, text='...'
[11:30:52] [HEIGHT] Row 1 msg 1617: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:52] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:30:52] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:30:52] [HEIGHT_DEBUG] Row 2 msg 1616: isPlayingEvolution=false, textLength=14, text='Messi football...'
[11:30:52] [HEIGHT] Row 2 msg 1616: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:52] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:30:52] [EVOLUTION_SEQ] ⏱️ t=1763289052.293 πŸ“± Table reloaded: 49 β†’ 50 messages (bubble for 1617 now visible)
[11:30:52] [EVOLUTION_SEQ] ⏱️ t=1763289052.335 🎬 Starting sequential playback
[11:30:52] [EVOLUTION] ⏸️ Already playing queued evolution, will retry when current finishes
[11:30:52] [EVOLUTION_SEQ] ⏱️ t=1763289052.610 ▢️ Starting animation for message 1617
[11:30:52] [EVOLUTION] πŸ“‘ Fetching evolution data for message 1617
[11:30:52] [EVOLUTION] πŸ” Raw response (274 bytes): {"ok":true,"has_evolution":true,"message_id":1617,"evolution":{"events":[{"op":"i","c":"B","t":0,"p":0},{"t":406,"p":1,"op":"i","c":"a"},{"p":2,"c":"l","op":"i","t":634},{"t":762,"op":"i","p":3,"c":"l
[11:30:52] [EVOLUTION] πŸ” Parsed JSON keys: ["created_at", "evolution", "has_evolution", "message_id", "ok"]
[11:30:52] [EVOLUTION] πŸ” has_evolution: 1
[11:30:52] [EVOLUTION] βœ… Got 5 events for message 1617
[11:30:52] [OVERLAP_FIX] πŸš€ Starting evolution - forcing initial height recalculation
[11:30:52] [UPDATE] πŸ”„ updateMessageCell(for: 1617) β€” full safe reload
[11:30:52] [ROWS] ===== updateMessageCell for 1617 β€” chatRows.count=51 =====
[11:30:52] [ROWS] 0: SEPARATOR
[11:30:52] [ROWS] 1: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=5
[11:30:52] [ROWS] 2: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:30:52] [ROWS] 3: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:30:52] [ROWS] 4: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 5: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:52] [ROWS] 6: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 7: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 8: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:52] [ROWS] 9: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:52] [ROWS] 10: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:52] [ROWS] 11: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 12: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:52] [ROWS] 13: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:52] [ROWS] 14: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 15: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:52] [ROWS] 16: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:52] [ROWS] 17: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:30:52] [ROWS] 18: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 19: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:52] [ROWS] 20: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:52] [ROWS] 21: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:52] [ROWS] 22: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:52] [ROWS] 23: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:52] [ROWS] 24: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:30:52] [ROWS] 25: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:52] [ROWS] 26: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:52] [ROWS] 27: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:52] [ROWS] 28: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 29: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:52] [ROWS] 30: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 31: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:52] [ROWS] 32: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:52] [ROWS] 33: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 34: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 35: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:52] [ROWS] 36: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 37: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 38: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 39: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:52] [ROWS] 40: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:52] [ROWS] 41: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 42: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 43: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:30:52] [ROWS] 44: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:52] [ROWS] 45: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:52] [ROWS] 46: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:52] [ROWS] 47: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:52] [ROWS] 48: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:30:52] [ROWS] 49: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:52] [ROWS] 50: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:52] [ROWS] ===== END (updateMessageCell for 1617) =====
[11:30:52] [HEIGHT_DEBUG] Row 1 msg 1617: isPlayingEvolution=true, textLength=0, text='...'
[11:30:52] [HEIGHT] Row 1 msg 1617: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:52] [HEIGHT_DEBUG] Row 2 msg 1616: isPlayingEvolution=false, textLength=14, text='Messi football...'
[11:30:52] [HEIGHT] Row 2 msg 1616: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:52] [HEIGHT_DEBUG] Row 1 msg 1617: isPlayingEvolution=true, textLength=0, text='...'
[11:30:52] [HEIGHT] Row 1 msg 1617: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:52] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:30:52] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:30:52] [HEIGHT_DEBUG] Row 2 msg 1616: isPlayingEvolution=false, textLength=14, text='Messi football...'
[11:30:52] [HEIGHT] Row 2 msg 1616: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:52] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [EVOLUTION] ▢️ Starting inline playback for message 1617 with 5 events
[11:30:52] [EVOLUTION] πŸ“ Event 0/5 - Text now: "B..."
[11:30:52] [UPDATE] πŸ”„ updateMessageCell(for: 1617) β€” full safe reload
[11:30:52] [ROWS] ===== updateMessageCell for 1617 β€” chatRows.count=51 =====
[11:30:52] [ROWS] 0: SEPARATOR
[11:30:52] [ROWS] 1: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=1 textLen=5
[11:30:52] [ROWS] 2: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:30:52] [ROWS] 3: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:30:52] [ROWS] 4: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 5: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:52] [ROWS] 6: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 7: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 8: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:52] [ROWS] 9: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:52] [ROWS] 10: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:52] [ROWS] 11: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 12: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:52] [ROWS] 13: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:52] [ROWS] 14: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 15: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:52] [ROWS] 16: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:52] [ROWS] 17: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:30:52] [ROWS] 18: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 19: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:52] [ROWS] 20: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:52] [ROWS] 21: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:52] [ROWS] 22: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:52] [ROWS] 23: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:52] [ROWS] 24: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:30:52] [ROWS] 25: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:52] [ROWS] 26: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:52] [ROWS] 27: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:52] [ROWS] 28: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 29: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:52] [ROWS] 30: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 31: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:52] [ROWS] 32: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:52] [ROWS] 33: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 34: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 35: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:52] [ROWS] 36: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 37: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:52] [ROWS] 38: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 39: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:52] [ROWS] 40: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:52] [ROWS] 41: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 42: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:52] [ROWS] 43: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:30:52] [ROWS] 44: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:52] [ROWS] 45: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:52] [ROWS] 46: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:52] [ROWS] 47: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:52] [ROWS] 48: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:30:52] [ROWS] 49: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:52] [ROWS] 50: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:52] [ROWS] ===== END (updateMessageCell for 1617) =====
[11:30:52] [HEIGHT_DEBUG] Row 1 msg 1617: isPlayingEvolution=true, textLength=1, text='B...'
[11:30:52] [HEIGHT] Row 1 msg 1617: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:52] [HEIGHT_DEBUG] Row 2 msg 1616: isPlayingEvolution=false, textLength=14, text='Messi football...'
[11:30:52] [HEIGHT] Row 2 msg 1616: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:52] [HEIGHT_DEBUG] Row 1 msg 1617: isPlayingEvolution=true, textLength=1, text='B...'
[11:30:52] [HEIGHT] Row 1 msg 1617: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:52] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:30:52] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [HEIGHT_DEBUG] Row 2 msg 1616: isPlayingEvolution=false, textLength=14, text='Messi football...'
[11:30:52] [HEIGHT] Row 2 msg 1616: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:52] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:52] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:52] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:52] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:53] [EVOLUTION] πŸ“ Event 1/5 - Text now: "Ba..."
[11:30:53] [UPDATE] πŸ”„ updateMessageCell(for: 1617) β€” full safe reload
[11:30:53] [ROWS] ===== updateMessageCell for 1617 β€” chatRows.count=51 =====
[11:30:53] [ROWS] 0: SEPARATOR
[11:30:53] [ROWS] 1: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=2 textLen=5
[11:30:53] [ROWS] 2: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:30:53] [ROWS] 3: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:30:53] [ROWS] 4: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:53] [ROWS] 5: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:53] [ROWS] 6: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:53] [ROWS] 7: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:53] [ROWS] 8: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:53] [ROWS] 9: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:53] [ROWS] 10: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:53] [ROWS] 11: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:53] [ROWS] 12: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:53] [ROWS] 13: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:53] [ROWS] 14: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:53] [ROWS] 15: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:53] [ROWS] 16: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:53] [ROWS] 17: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:30:53] [ROWS] 18: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:53] [ROWS] 19: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:53] [ROWS] 20: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:53] [ROWS] 21: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:53] [ROWS] 22: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:53] [ROWS] 23: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:53] [ROWS] 24: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:30:53] [ROWS] 25: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:53] [ROWS] 26: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:53] [ROWS] 27: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:53] [ROWS] 28: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:53] [ROWS] 29: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:53] [ROWS] 30: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:53] [ROWS] 31: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:53] [ROWS] 32: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:53] [ROWS] 33: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:53] [ROWS] 34: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:53] [ROWS] 35: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:53] [ROWS] 36: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:53] [ROWS] 37: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:53] [ROWS] 38: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:53] [ROWS] 39: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:53] [ROWS] 40: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:53] [ROWS] 41: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:53] [ROWS] 42: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:53] [ROWS] 43: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:30:53] [ROWS] 44: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:53] [ROWS] 45: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:53] [ROWS] 46: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:53] [ROWS] 47: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:53] [ROWS] 48: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:30:53] [ROWS] 49: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:53] [ROWS] 50: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:53] [ROWS] ===== END (updateMessageCell for 1617) =====
[11:30:53] [HEIGHT_DEBUG] Row 1 msg 1617: isPlayingEvolution=true, textLength=2, text='Ba...'
[11:30:53] [HEIGHT] Row 1 msg 1617: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:53] [HEIGHT_DEBUG] Row 2 msg 1616: isPlayingEvolution=false, textLength=14, text='Messi football...'
[11:30:53] [HEIGHT] Row 2 msg 1616: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:53] [HEIGHT_DEBUG] Row 1 msg 1617: isPlayingEvolution=true, textLength=2, text='Ba...'
[11:30:53] [HEIGHT] Row 1 msg 1617: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:53] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:30:53] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:30:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:53] [HEIGHT_DEBUG] Row 2 msg 1616: isPlayingEvolution=false, textLength=14, text='Messi football...'
[11:30:53] [HEIGHT] Row 2 msg 1616: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:53] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:53] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:53] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:53] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:53] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:53] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:53] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:53] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:53] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:53] [EVOLUTION] πŸ“ Event 2/5 - Text now: "Bal..."
[11:30:53] [UPDATE] πŸ”„ updateMessageCell(for: 1617) β€” full safe reload
[11:30:53] [ROWS] ===== updateMessageCell for 1617 β€” chatRows.count=51 =====
[11:30:53] [ROWS] 0: SEPARATOR
[11:30:53] [ROWS] 1: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=3 textLen=5
[11:30:53] [ROWS] 2: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:30:53] [ROWS] 3: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:30:53] [ROWS] 4: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:53] [ROWS] 5: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:53] [ROWS] 6: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:53] [ROWS] 7: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:53] [ROWS] 8: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:53] [ROWS] 9: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:53] [ROWS] 10: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:53] [ROWS] 11: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:53] [ROWS] 12: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:53] [ROWS] 13: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:53] [ROWS] 14: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:53] [ROWS] 15: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:53] [ROWS] 16: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:53] [ROWS] 17: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:30:53] [ROWS] 18: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:53] [ROWS] 19: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:53] [ROWS] 20: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:53] [ROWS] 21: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:53] [ROWS] 22: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:53] [ROWS] 23: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:53] [ROWS] 24: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:30:53] [ROWS] 25: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:53] [ROWS] 26: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:53] [ROWS] 27: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:53] [ROWS] 28: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:53] [ROWS] 29: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:53] [ROWS] 30: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:53] [ROWS] 31: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:53] [ROWS] 32: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:53] [ROWS] 33: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:53] [ROWS] 34: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:53] [ROWS] 35: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:53] [ROWS] 36: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:53] [ROWS] 37: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:53] [ROWS] 38: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:53] [ROWS] 39: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:53] [ROWS] 40: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:53] [ROWS] 41: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:53] [ROWS] 42: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:53] [ROWS] 43: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:30:53] [ROWS] 44: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:53] [ROWS] 45: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:53] [ROWS] 46: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:53] [ROWS] 47: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:53] [ROWS] 48: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:30:53] [ROWS] 49: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:53] [ROWS] 50: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:53] [ROWS] ===== END (updateMessageCell for 1617) =====
[11:30:53] [HEIGHT_DEBUG] Row 1 msg 1617: isPlayingEvolution=true, textLength=3, text='Bal...'
[11:30:53] [HEIGHT] Row 1 msg 1617: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:53] [HEIGHT_DEBUG] Row 2 msg 1616: isPlayingEvolution=false, textLength=14, text='Messi football...'
[11:30:53] [HEIGHT] Row 2 msg 1616: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:53] [HEIGHT_DEBUG] Row 1 msg 1617: isPlayingEvolution=true, textLength=3, text='Bal...'
[11:30:53] [HEIGHT] Row 1 msg 1617: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:53] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:30:53] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:30:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:53] [HEIGHT_DEBUG] Row 2 msg 1616: isPlayingEvolution=false, textLength=14, text='Messi football...'
[11:30:53] [HEIGHT] Row 2 msg 1616: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:53] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:53] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:53] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:53] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:53] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:53] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:53] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:53] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:53] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:53] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_id"): 1617, AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU2]
[11:30:53] [PUSH] Parsed message_id: 1617
[11:30:53] [PUSH] Parsed operation_type: 3
[11:30:53] [PUSH] Taking direct action: opType=3, messageId=1617
[11:30:53] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=1617
[11:30:53] [EVOLUTION] πŸ“ Event 3/5 - Text now: "Ball..."
[11:30:53] [UPDATE] πŸ”„ updateMessageCell(for: 1617) β€” full safe reload
[11:30:53] [ROWS] ===== updateMessageCell for 1617 β€” chatRows.count=51 =====
[11:30:53] [ROWS] 0: SEPARATOR
[11:30:53] [ROWS] 1: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=4 textLen=5
[11:30:53] [ROWS] 2: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:30:53] [ROWS] 3: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:30:53] [ROWS] 4: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:53] [ROWS] 5: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:53] [ROWS] 6: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:53] [ROWS] 7: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:53] [ROWS] 8: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:53] [ROWS] 9: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:53] [ROWS] 10: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:53] [ROWS] 11: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:53] [ROWS] 12: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:53] [ROWS] 13: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:53] [ROWS] 14: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:53] [ROWS] 15: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:53] [ROWS] 16: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:53] [ROWS] 17: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:30:53] [ROWS] 18: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:53] [ROWS] 19: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:53] [ROWS] 20: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:53] [ROWS] 21: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:53] [ROWS] 22: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:53] [ROWS] 23: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:53] [ROWS] 24: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:30:53] [ROWS] 25: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:53] [ROWS] 26: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:53] [ROWS] 27: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:53] [ROWS] 28: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:53] [ROWS] 29: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:53] [ROWS] 30: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:53] [ROWS] 31: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:53] [ROWS] 32: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:53] [ROWS] 33: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:53] [ROWS] 34: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:53] [ROWS] 35: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:53] [ROWS] 36: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:53] [ROWS] 37: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:53] [ROWS] 38: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:53] [ROWS] 39: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:53] [ROWS] 40: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:53] [ROWS] 41: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:53] [ROWS] 42: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:53] [ROWS] 43: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:30:53] [ROWS] 44: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:53] [ROWS] 45: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:53] [ROWS] 46: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:53] [ROWS] 47: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:53] [ROWS] 48: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:30:53] [ROWS] 49: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:53] [ROWS] 50: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:53] [ROWS] ===== END (updateMessageCell for 1617) =====
[11:30:53] [HEIGHT_DEBUG] Row 1 msg 1617: isPlayingEvolution=true, textLength=4, text='Ball...'
[11:30:53] [HEIGHT] Row 1 msg 1617: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:53] [HEIGHT_DEBUG] Row 2 msg 1616: isPlayingEvolution=false, textLength=14, text='Messi football...'
[11:30:53] [HEIGHT] Row 2 msg 1616: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:53] [HEIGHT_DEBUG] Row 1 msg 1617: isPlayingEvolution=true, textLength=4, text='Ball...'
[11:30:53] [HEIGHT] Row 1 msg 1617: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:53] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:30:53] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:30:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:53] [HEIGHT_DEBUG] Row 2 msg 1616: isPlayingEvolution=false, textLength=14, text='Messi football...'
[11:30:53] [HEIGHT] Row 2 msg 1616: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:53] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:53] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:53] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:53] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:53] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:53] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:53] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:53] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:53] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:53] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:30:53] Will get events_php
[11:30:53] [TYPING] πŸ”„ ========== POLL START ==========
[11:30:53] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:30:53] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:30:53] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:30:53] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:30:53] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:30:53] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:30:53] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:30:53] [TYPING] πŸ“₯ Found 0 typing users in response
[11:30:53] [TYPING] πŸ“₯ Updating typing users SET: []
[11:30:53] [EVT] get_events.php HTTP 200
── Response Headers ──
X-Powered-By: PHP/8.4.14
Keep-Alive: timeout=5, max=93
Date: Sun, 16 Nov 2025 10:30:53 GMT
Content-Type: application/json; charset=utf-8
Connection: Keep-Alive
Content-Length: 130
Server: Apache/2.4.65 (Unix) PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":1,"events":[{"event_id":10712,"event_type":3,"message_id":1617,"session_id":"ILUIWU2"}]}
[11:30:53] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:30:53] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:30:53] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:30:53] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:30:53] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:30:53] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:30:53] [TYPING] πŸ”„ ========== POLL END ==========
[11:30:53] Done
[11:30:53] [EVOLUTION] πŸ“ Event 4/5 - Text now: "Balle..."
[11:30:53] [UPDATE] πŸ”„ updateMessageCell(for: 1617) β€” full safe reload
[11:30:53] [ROWS] ===== updateMessageCell for 1617 β€” chatRows.count=51 =====
[11:30:53] [ROWS] 0: SEPARATOR
[11:30:53] [ROWS] 1: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=5 textLen=5
[11:30:53] [ROWS] 2: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:30:53] [ROWS] 3: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:30:53] [ROWS] 4: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:53] [ROWS] 5: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:53] [ROWS] 6: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:53] [ROWS] 7: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:53] [ROWS] 8: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:53] [ROWS] 9: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:53] [ROWS] 10: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:53] [ROWS] 11: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:53] [ROWS] 12: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:53] [ROWS] 13: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:53] [ROWS] 14: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:53] [ROWS] 15: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:53] [ROWS] 16: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:53] [ROWS] 17: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:30:53] [ROWS] 18: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:53] [ROWS] 19: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:53] [ROWS] 20: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:53] [ROWS] 21: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:53] [ROWS] 22: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:53] [ROWS] 23: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:53] [ROWS] 24: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:30:53] [ROWS] 25: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:53] [ROWS] 26: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:53] [ROWS] 27: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:53] [ROWS] 28: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:53] [ROWS] 29: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:53] [ROWS] 30: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:53] [ROWS] 31: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:53] [ROWS] 32: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:53] [ROWS] 33: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:53] [ROWS] 34: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:53] [ROWS] 35: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:53] [ROWS] 36: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:53] [ROWS] 37: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:53] [ROWS] 38: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:53] [ROWS] 39: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:53] [ROWS] 40: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:53] [ROWS] 41: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:53] [ROWS] 42: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:53] [ROWS] 43: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:30:53] [ROWS] 44: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:53] [ROWS] 45: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:53] [ROWS] 46: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:53] [ROWS] 47: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:53] [ROWS] 48: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:30:53] [ROWS] 49: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:53] [ROWS] 50: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:53] [ROWS] ===== END (updateMessageCell for 1617) =====
[11:30:53] [HEIGHT_DEBUG] Row 1 msg 1617: isPlayingEvolution=true, textLength=5, text='Balle...'
[11:30:53] [HEIGHT] Row 1 msg 1617: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:53] [HEIGHT_DEBUG] Row 2 msg 1616: isPlayingEvolution=false, textLength=14, text='Messi football...'
[11:30:53] [HEIGHT] Row 2 msg 1616: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:53] [HEIGHT_DEBUG] Row 1 msg 1617: isPlayingEvolution=true, textLength=5, text='Balle...'
[11:30:53] [HEIGHT] Row 1 msg 1617: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:53] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:30:53] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:30:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:53] [HEIGHT_DEBUG] Row 2 msg 1616: isPlayingEvolution=false, textLength=14, text='Messi football...'
[11:30:53] [HEIGHT] Row 2 msg 1616: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:53] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:53] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:53] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:53] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:53] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:53] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:53] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:53] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:53] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:53] [EVOLUTION_SEQ] ⏱️ t=1763289053.936 βœ… Finished message 1617 - duration=1.64s, length=5 chars, speed=3 chars/s
[11:30:53] [UPDATE] πŸ”„ updateMessageCell(for: 1617) β€” full safe reload
[11:30:53] [ROWS] ===== updateMessageCell for 1617 β€” chatRows.count=51 =====
[11:30:53] [ROWS] 0: SEPARATOR
[11:30:53] [ROWS] 1: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=5 textLen=5
[11:30:53] [ROWS] 2: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:30:53] [ROWS] 3: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:30:53] [ROWS] 4: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:53] [ROWS] 5: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:53] [ROWS] 6: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:53] [ROWS] 7: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:53] [ROWS] 8: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:53] [ROWS] 9: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:30:53] [ROWS] 10: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:53] [ROWS] 11: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:53] [ROWS] 12: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:53] [ROWS] 13: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:53] [ROWS] 14: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:53] [ROWS] 15: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:53] [ROWS] 16: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:53] [ROWS] 17: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:30:53] [ROWS] 18: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:53] [ROWS] 19: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:53] [ROWS] 20: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:53] [ROWS] 21: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:53] [ROWS] 22: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:53] [ROWS] 23: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:53] [ROWS] 24: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:30:53] [ROWS] 25: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:53] [ROWS] 26: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:53] [ROWS] 27: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:53] [ROWS] 28: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:53] [ROWS] 29: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:53] [ROWS] 30: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:53] [ROWS] 31: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:53] [ROWS] 32: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:53] [ROWS] 33: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:53] [ROWS] 34: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:53] [ROWS] 35: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:30:53] [ROWS] 36: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:53] [ROWS] 37: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:30:53] [ROWS] 38: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:53] [ROWS] 39: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:30:53] [ROWS] 40: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:30:53] [ROWS] 41: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:53] [ROWS] 42: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:30:53] [ROWS] 43: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:30:53] [ROWS] 44: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:53] [ROWS] 45: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:30:53] [ROWS] 46: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:53] [ROWS] 47: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:30:53] [ROWS] 48: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:30:53] [ROWS] 49: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:30:53] [ROWS] 50: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:30:53] [ROWS] ===== END (updateMessageCell for 1617) =====
[11:30:53] [HEIGHT_DEBUG] Row 1 msg 1617: isPlayingEvolution=false, textLength=5, text='Balle...'
[11:30:53] [HEIGHT] Row 1 msg 1617: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:53] [HEIGHT_DEBUG] Row 2 msg 1616: isPlayingEvolution=false, textLength=14, text='Messi football...'
[11:30:53] [HEIGHT] Row 2 msg 1616: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:53] [HEIGHT_DEBUG] Row 1 msg 1617: isPlayingEvolution=false, textLength=5, text='Balle...'
[11:30:53] [HEIGHT] Row 1 msg 1617: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:30:53] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:30:53] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:30:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:53] [HEIGHT_DEBUG] Row 2 msg 1616: isPlayingEvolution=false, textLength=14, text='Messi football...'
[11:30:53] [HEIGHT] Row 2 msg 1616: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:30:53] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:53] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:53] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:53] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:53] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:53] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:53] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:53] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:53] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:30:53] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:30:53] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:30:53] [EVOLUTION_SEQ] ⏱️ t=1763289053.952 βœ… All queued messages have been played
[11:30:55] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:30:55] Will get events_php
[11:30:55] [TYPING] πŸ”„ ========== POLL START ==========
[11:30:55] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:30:55] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:30:55] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:30:55] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:30:55] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:30:55] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:30:55] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok, "sessionId": ILUIWU2]
[11:30:55] [TYPING] πŸ“₯ Found 0 typing users in response
[11:30:55] [TYPING] πŸ“₯ Updating typing users SET: []
[11:30:55] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:30:55] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:30:55] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:30:55] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:30:55] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:30:55] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:30:55] [TYPING] πŸ”„ ========== POLL END ==========
[11:30:55] [EVT] get_events.php HTTP 200
── Response Headers ──
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:30:55 GMT
Content-Type: application/json; charset=utf-8
Content-Length: 56
Connection: Keep-Alive
Keep-Alive: timeout=5, max=91
X-Powered-By: PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:30:55] Done
[11:30:55] Main
[11:30:56] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:30:56] [INFO_PAGE] Found 432 messages for session 'ILUIWU2'
[11:30:56] [INFO_PAGE] Total messages in database: 1198
[11:30:57] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:30:57] Will get events_php
[11:30:57] [TYPING] πŸ”„ ========== POLL START ==========
[11:30:57] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:30:57] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:30:57] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:30:57] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:30:57] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:30:57] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:30:57] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok, "sessionId": ILUIWU2]
[11:30:57] [TYPING] πŸ“₯ Found 0 typing users in response
[11:30:57] [TYPING] πŸ“₯ Updating typing users SET: []
[11:30:57] [EVT] get_events.php HTTP 200
── Response Headers ──
X-Powered-By: PHP/8.4.14
Keep-Alive: timeout=5, max=89
Date: Sun, 16 Nov 2025 10:30:57 GMT
Content-Type: application/json; charset=utf-8
Connection: Keep-Alive
Content-Length: 56
Server: Apache/2.4.65 (Unix) PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:30:57] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:30:57] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:30:57] Done
[11:30:57] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:30:57] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:30:57] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:30:57] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:30:57] [TYPING] πŸ”„ ========== POLL END ==========
[11:30:57] Main
[11:30:59] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:30:59] Will get events_php
[11:30:59] [TYPING] πŸ”„ ========== POLL START ==========
[11:30:59] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:30:59] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:30:59] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:30:59] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:30:59] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:30:59] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:30:59] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok, "sessionId": ILUIWU2]
[11:30:59] [TYPING] πŸ“₯ Found 0 typing users in response
[11:30:59] [TYPING] πŸ“₯ Updating typing users SET: []
[11:30:59] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:30:59] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:30:59] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:30:59] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:30:59] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:30:59] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:30:59] [TYPING] πŸ”„ ========== POLL END ==========
[11:30:59] [EVT] get_events.php HTTP 200
── Response Headers ──
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:30:59 GMT
Content-Type: application/json; charset=utf-8
Content-Length: 56
Connection: Keep-Alive
Keep-Alive: timeout=5, max=88
X-Powered-By: PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:30:59] Done
[11:30:59] Main
[11:31:08] [CRASH] Previous session did not exit cleanly - crash detected
[11:31:08] [GIPHY] SDK not available - using REST API fallback
[11:31:08] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:31:08] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:31:08] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:31:08] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:31:08] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:31:08] [SCENE] Launched directly to chat view with sessionId: ILUIWU2
[11:31:08] [PUSH] APNs token: 6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c
[11:31:08] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:31:08] Documents Directory: /var/mobile/Containers/Data/Application/36CCA1A7-92B9-4B55-8315-50DEA376D97D/Documents
[11:31:08] [NOTIFICATION] πŸ”” Notification button created and added to topNavBar
[11:31:08] [NOTIFICATION] πŸ”” Button tintColor: grey (0.5, 0.5, 0.5)
[11:31:08] [NOTIFICATION] πŸ”” Button isUserInteractionEnabled: true
[11:31:08] [INFO_PAGE] InformationViewController viewDidLoad called
[11:31:08] [INFO_PAGE] Actions configured (bell button is external)
[11:31:08] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:31:08] [INFO_PAGE] Successfully opened database at /var/mobile/Containers/Data/Application/36CCA1A7-92B9-4B55-8315-50DEA376D97D/Documents/chat_local_viewer.db
[11:31:08] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:31:08] [INFO_PAGE] Found 432 messages for session 'ILUIWU2'
[11:31:08] [INFO_PAGE] Total messages in database: 1198
[11:31:08] [INFO_PAGE] InformationViewController setup complete
[11:31:08] [INFO_PAGE] ℹ️ Information page added to tab 3
[11:31:08] [THEME] Applying current theme
[11:31:08] [CHAT] Applied day theme (mode: day)
[11:31:08] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:31:08] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:31:08] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:31:08] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:31:08] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:31:08] [SUMMARY] Already showed summary today (2025-11-16)
[11:31:08] Did transition
[11:31:08] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:31:08] [VIEWER] Screen lock enabled - normal idle behavior
[11:31:08] [QUERY] πŸ” Checking tab - currentTabIndex=0
[11:31:08] [QUERY] πŸ”΅ [TAB 0] No query connection needed
[11:31:08] [QUERY] βœ… [TAB 0] Initialized without query connection
[11:31:08] [LOCATION] Started location updates for distance calculation (already authorized)
[11:31:08] [TAB 0] Skipping reconnect polling - only needed for tab 1
[11:31:08] [VIEWER_INIT] Loading messages with read receipts from server
[11:31:08] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:31:08] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:31:08] [DB]   msg[0] id=1617, isMyMessage=false, readBy.count=0
[11:31:08] [DB]   msg[1] id=1616, isMyMessage=false, readBy.count=0
[11:31:08] [DB]   msg[2] id=1615, isMyMessage=false, readBy.count=0
[11:31:08] [EVOLUTION] πŸ” Found 0 NEW unread messages from local DB before fetching read receipts (lastSeenMessageId=1617): []
[11:31:08] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1617, readBy=[]", "id=1616, readBy=[]", "id=1615, readBy=[]"]
[11:31:08] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:31:08] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:31:08] [DB]   msg[0] id=1617, isMyMessage=false, readBy.count=0
[11:31:08] [DB]   msg[1] id=1616, isMyMessage=false, readBy.count=0
[11:31:08] [DB]   msg[2] id=1615, isMyMessage=false, readBy.count=0
[11:31:08] [EVENT_POLL] Starting periodic event polling for viewer mode (5s interval)
[11:31:08] [ORIENTATION] Updated pagingScrollView height to 247.5 for width 440.0
[11:31:08] [SUMMARY] Already showed summary today (2025-11-16)
[11:31:08] Did transition
[11:31:08] [NOTIFICATION] πŸ”” Constraints activated for notification button
[11:31:08] [NOTIFICATION] πŸ”” topNavBar frame: (0.0, 0.0, 440.0, 50.0)
[11:31:08] [NOTIFICATION] πŸ”” menuButton frame: (0.0, 0.0, 39.0, 30.0)
[11:31:08] [NOTIFICATION] πŸ”” notificationButton frame: (0.0, 0.0, 56.333333333333336, 58.0)
[11:31:08] [NOTIFICATION] πŸ”” Notification button brought to front
[11:31:08] [NOTIFICATION] πŸ”„ Updating icon to: bell.slash.fill (muted=true)
[11:31:08] [NOTIFICATION] βœ… Icon updated successfully
[11:31:08] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[11:31:08] [MIGRATION] No messages need sender_name backfill
[11:31:08] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:31:08] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:31:08] [DB]   msg[0] id=1617, isMyMessage=false, readBy.count=0
[11:31:08] [DB]   msg[1] id=1616, isMyMessage=false, readBy.count=0
[11:31:08] [DB]   msg[2] id=1615, isMyMessage=false, readBy.count=0
[11:31:08] [INFO_PAGE] InformationViewController viewWillAppear - applying theme
[11:31:08] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:31:08] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:31:08] [PAGINATION_SCROLL] offset=-12.0, contentHeight=108.0, distFromBottom=120.0, dragging=false, decel=false, isLoading=false, cooldown=63899058668.58829s
[11:31:08] [PAGINATION_SCROLL] offset=0.0, contentHeight=108.0, distFromBottom=-650.0, dragging=false, decel=false, isLoading=false, cooldown=63899058668.589516s
[11:31:08] [LOCATION] Authorization changed: 4
[11:31:08] [NOTIFICATION] πŸ”” FINAL STATE after viewDidLoad:
[11:31:08] [NOTIFICATION] πŸ”” notificationButton.frame: (392.0, 67.0, 40.0, 40.0)
[11:31:08] [NOTIFICATION] πŸ”” notificationButton.isHidden: false
[11:31:08] [NOTIFICATION] πŸ”” notificationButton.alpha: 1.0
[11:31:08] [NOTIFICATION] πŸ”” notificationButton.superview: true
[11:31:08] [NOTIFICATION] πŸ”” topNavBar.isHidden: false
[11:31:08] [NOTIFICATION] πŸ”” topNavBar.subviews.count: 3
[11:31:09] [PUSH] Device role updated to 'viewer': HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:31:09] [USER] βœ… User registered successfully
[11:31:09] [USER] User registration successful
[11:31:09] [CHAT] βœ… refreshAllFromServer - parsed 433 messages from server
[11:31:09] [DB] clearDBForSession(ILUIWU2): deleted 432 messages, result=101
[11:31:09] ReloadData 15 (433 messages loaded, 0 pending media)
[11:31:09] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:31:09] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:31:09] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:31:09] [DB]   msg[0] id=1618, isMyMessage=false, readBy.count=0
[11:31:09] [DB]   msg[1] id=1617, isMyMessage=false, readBy.count=0
[11:31:09] [DB]   msg[2] id=1616, isMyMessage=false, readBy.count=0
[11:31:09] [EVOLUTION] πŸ” Found 1 NEW unread messages after refreshAllFromServer (lastSeenMessageId=1617): [1618]
[11:31:09] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1618, readBy=[]", "id=1617, readBy=[]", "id=1616, readBy=[]"]
[11:31:09] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:31:09] [PUSH] Device role updated to 'viewer': HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:31:09] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:31:09] [DB]   msg[0] id=1618, isMyMessage=false, readBy.count=0
[11:31:09] [DB]   msg[1] id=1617, isMyMessage=false, readBy.count=0
[11:31:09] [DB]   msg[2] id=1616, isMyMessage=false, readBy.count=0
[11:31:09] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:31:09] [UNREAD_DEBUG]   FINAL msg[0] id=1617, readBy.count=1
[11:31:09] [UNREAD_DEBUG]   FINAL msg[1] id=1616, readBy.count=1
[11:31:09] [UNREAD_DEBUG]   FINAL msg[2] id=1615, readBy.count=1
[11:31:09] [VIEWER_INIT] Loaded 50 messages with read receipts, hasMore: true
[11:31:09] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:31:09] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:31:09] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:31:09] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=51 =====
[11:31:09] [ROWS] 0: SEPARATOR
[11:31:09] [ROWS] 1: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:09] [ROWS] 2: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:31:09] [ROWS] 3: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:31:09] [ROWS] 4: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:09] [ROWS] 5: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:09] [ROWS] 6: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:09] [ROWS] 7: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:09] [ROWS] 8: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:31:09] [ROWS] 9: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:31:09] [ROWS] 10: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:09] [ROWS] 11: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:09] [ROWS] 12: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:31:09] [ROWS] 13: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:09] [ROWS] 14: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:09] [ROWS] 15: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:09] [ROWS] 16: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:09] [ROWS] 17: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:31:09] [ROWS] 18: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:09] [ROWS] 19: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:09] [ROWS] 20: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:09] [ROWS] 21: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:09] [ROWS] 22: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:31:09] [ROWS] 23: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:31:09] [ROWS] 24: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:31:09] [ROWS] 25: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:31:09] [ROWS] 26: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:09] [ROWS] 27: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:09] [ROWS] 28: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:09] [ROWS] 29: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:09] [ROWS] 30: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:09] [ROWS] 31: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:09] [ROWS] 32: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:09] [ROWS] 33: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:09] [ROWS] 34: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:09] [ROWS] 35: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:09] [ROWS] 36: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:09] [ROWS] 37: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:09] [ROWS] 38: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:09] [ROWS] 39: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:09] [ROWS] 40: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:31:09] [ROWS] 41: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:09] [ROWS] 42: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:09] [ROWS] 43: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:31:09] [ROWS] 44: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:09] [ROWS] 45: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:09] [ROWS] 46: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:09] [ROWS] 47: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:31:09] [ROWS] 48: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:31:09] [ROWS] 49: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:31:09] [ROWS] 50: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:09] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:31:09] [TAB_FILTER] πŸ“Š Reloading table with 51 rows
[11:31:09] [HEIGHT_DEBUG] Row 1 msg 1617: isPlayingEvolution=false, textLength=5, text='Balle...'
[11:31:09] [EMOJI] βœ… Loaded 451 emoji-to-GIF mappings
[11:31:09] [HEIGHT] Row 1 msg 1617: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:31:09] [HEIGHT_DEBUG] Row 2 msg 1616: isPlayingEvolution=false, textLength=14, text='Messi football...'
[11:31:09] [HEIGHT] Row 2 msg 1616: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:31:09] [HEIGHT_DEBUG] Row 1 msg 1617: isPlayingEvolution=false, textLength=5, text='Balle...'
[11:31:09] [HEIGHT] Row 1 msg 1617: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:31:09] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:31:09] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:31:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:09] [HEIGHT_DEBUG] Row 2 msg 1616: isPlayingEvolution=false, textLength=14, text='Messi football...'
[11:31:09] [HEIGHT] Row 2 msg 1616: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:31:09] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:09] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:09] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:09] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:09] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:09] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:09] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:09] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:09] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:09] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:09] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:09] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:09] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:09] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:09] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:09] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:09] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:09] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:09] [BADGES] Chat tab unread: 1, Slave tab unread: 0, current tab: 0
[11:31:09] ReloadData 18 (viewer init with read receipts)
[11:31:09] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:31:09] [UNREAD_DEBUG]   FINAL msg[0] id=1617, readBy.count=1
[11:31:09] [UNREAD_DEBUG]   FINAL msg[1] id=1616, readBy.count=1
[11:31:09] [UNREAD_DEBUG]   FINAL msg[2] id=1615, readBy.count=1
[11:31:09] [EVOLUTION_SEQ] πŸš€ FUNCTION CALLED with 0 message IDs: []
[11:31:09] [EVOLUTION_SEQ] πŸ“­ No unread message IDs provided for evolution playback
[11:31:09] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:31:09] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:31:09] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:31:09] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=51 =====
[11:31:09] [ROWS] 0: SEPARATOR
[11:31:09] [ROWS] 1: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:09] [ROWS] 2: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:31:09] [ROWS] 3: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:31:09] [ROWS] 4: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:09] [ROWS] 5: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:09] [ROWS] 6: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:09] [ROWS] 7: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:09] [ROWS] 8: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:31:09] [ROWS] 9: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:31:09] [ROWS] 10: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:09] [ROWS] 11: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:09] [ROWS] 12: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:31:09] [ROWS] 13: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:09] [ROWS] 14: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:09] [ROWS] 15: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:09] [ROWS] 16: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:09] [ROWS] 17: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:31:09] [ROWS] 18: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:09] [ROWS] 19: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:09] [ROWS] 20: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:09] [ROWS] 21: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:09] [ROWS] 22: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:31:09] [ROWS] 23: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:31:09] [ROWS] 24: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:31:09] [ROWS] 25: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:31:09] [ROWS] 26: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:09] [ROWS] 27: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:09] [ROWS] 28: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:09] [ROWS] 29: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:09] [ROWS] 30: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:09] [ROWS] 31: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:09] [ROWS] 32: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:09] [ROWS] 33: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:09] [ROWS] 34: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:09] [ROWS] 35: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:09] [ROWS] 36: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:09] [ROWS] 37: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:09] [ROWS] 38: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:09] [ROWS] 39: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:09] [ROWS] 40: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:31:09] [ROWS] 41: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:09] [ROWS] 42: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:09] [ROWS] 43: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:31:09] [ROWS] 44: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:09] [ROWS] 45: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:09] [ROWS] 46: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:09] [ROWS] 47: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:31:09] [ROWS] 48: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:31:09] [ROWS] 49: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:31:09] [ROWS] 50: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:09] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:31:09] [TAB_FILTER] πŸ“Š Reloading table with 51 rows
[11:31:09] [HEIGHT_DEBUG] Row 1 msg 1617: isPlayingEvolution=false, textLength=5, text='Balle...'
[11:31:09] [HEIGHT] Row 1 msg 1617: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:31:09] [HEIGHT_DEBUG] Row 2 msg 1616: isPlayingEvolution=false, textLength=14, text='Messi football...'
[11:31:09] [HEIGHT] Row 2 msg 1616: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:31:09] [HEIGHT_DEBUG] Row 1 msg 1617: isPlayingEvolution=false, textLength=5, text='Balle...'
[11:31:09] [HEIGHT] Row 1 msg 1617: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:31:09] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:31:09] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:31:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:09] [HEIGHT_DEBUG] Row 2 msg 1616: isPlayingEvolution=false, textLength=14, text='Messi football...'
[11:31:09] [HEIGHT] Row 2 msg 1616: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:31:09] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:09] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:09] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:09] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:09] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:09] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:09] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:09] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:09] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:09] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:09] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:09] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:09] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:09] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:09] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:09] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:09] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:09] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:09] [BADGES] Chat tab unread: 1, Slave tab unread: 0, current tab: 0
[11:31:09] [INIT_PAGINATION] Loaded 50 total messages, displaying 50 for tab 0
[11:31:09] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:31:09] [UNREAD_DEBUG]   FINAL msg[0] id=1618, readBy.count=0
[11:31:09] [UNREAD_DEBUG]   FINAL msg[1] id=1617, readBy.count=1
[11:31:09] [UNREAD_DEBUG]   FINAL msg[2] id=1616, readBy.count=1
[11:31:09] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:31:09] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:31:09] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:31:09] [EVOLUTION] πŸ“ Updated lastSeenMessageId: 1617 β†’ 1618
[11:31:09] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=51 =====
[11:31:09] [ROWS] 0: SEPARATOR
[11:31:09] [ROWS] 1: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:09] [ROWS] 2: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:09] [ROWS] 3: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:31:09] [ROWS] 4: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:31:09] [ROWS] 5: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:09] [ROWS] 6: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:09] [ROWS] 7: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:09] [ROWS] 8: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:09] [ROWS] 9: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:31:09] [ROWS] 10: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:31:09] [ROWS] 11: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:09] [ROWS] 12: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:09] [ROWS] 13: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:31:09] [ROWS] 14: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:09] [ROWS] 15: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:09] [ROWS] 16: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:09] [ROWS] 17: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:09] [ROWS] 18: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:31:09] [ROWS] 19: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:09] [ROWS] 20: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:09] [ROWS] 21: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:09] [ROWS] 22: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:09] [ROWS] 23: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:31:09] [ROWS] 24: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:31:09] [ROWS] 25: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:31:09] [ROWS] 26: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:31:09] [ROWS] 27: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:09] [ROWS] 28: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:09] [ROWS] 29: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:09] [ROWS] 30: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:09] [ROWS] 31: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:09] [ROWS] 32: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:09] [ROWS] 33: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:09] [ROWS] 34: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:09] [ROWS] 35: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:09] [ROWS] 36: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:09] [ROWS] 37: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:09] [ROWS] 38: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:09] [ROWS] 39: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:09] [ROWS] 40: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:09] [ROWS] 41: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:31:09] [ROWS] 42: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:09] [ROWS] 43: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:09] [ROWS] 44: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:31:09] [ROWS] 45: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:09] [ROWS] 46: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:09] [ROWS] 47: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:09] [ROWS] 48: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:31:09] [ROWS] 49: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:31:09] [ROWS] 50: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:31:09] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:31:09] [TAB_FILTER] πŸ“Š Reloading table with 51 rows
[11:31:09] [HEIGHT_DEBUG] Row 1 msg 1618: isPlayingEvolution=false, textLength=7, text='Mmmmmme...'
[11:31:09] [HEIGHT] Row 1 msg 1618: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:31:09] [HEIGHT_DEBUG] Row 2 msg 1617: isPlayingEvolution=false, textLength=5, text='Balle...'
[11:31:09] [HEIGHT] Row 2 msg 1617: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:31:09] [HEIGHT_DEBUG] Row 1 msg 1618: isPlayingEvolution=false, textLength=7, text='Mmmmmme...'
[11:31:09] [HEIGHT] Row 1 msg 1618: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:31:09] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:31:09] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:31:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:09] [HEIGHT_DEBUG] Row 2 msg 1617: isPlayingEvolution=false, textLength=5, text='Balle...'
[11:31:09] [HEIGHT] Row 2 msg 1617: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:31:09] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:09] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:09] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:09] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:09] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:09] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:09] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:09] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:09] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:09] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:09] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:09] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:09] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:09] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:09] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:09] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:09] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:09] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:09] [BADGES] Chat tab unread: 1, Slave tab unread: 0, current tab: 0
[11:31:09] [INITIAL_LOAD] Loaded 50 messages (first page), displaying 50 for tab 0, hasMore: true
[11:31:09] ReloadData 1
[11:31:09] [PURGE] Deleted 0 unused media files:

[11:31:09] [BADGES] Chat tab unread: 1, Slave tab unread: 0, current tab: 0
[11:31:09] [EVOLUTION_SEQ] πŸš€ FUNCTION CALLED with 1 message IDs: [1618]
[11:31:09] [EVOLUTION_SEQ] ⏱️ t=1763289069.827 πŸ“‹ Starting with 1 messages: [1618]
[11:31:09] [EVOLUTION_SEQ] πŸ“Š Message 1/1: id=1618, length=7 chars, estimated_duration=0.35s
[11:31:09] [EVOLUTION_SEQ] ⏱️ t=1763289069.828 πŸ”’ Marked 1 messages as pending (hidden from view)
[11:31:09] [EVOLUTION_SEQ] ⏱️ t=1763289069.828 πŸ“ Queued 1 messages for sequential playback
[11:31:09] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:31:09] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:31:09] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:31:09] [EVOLUTION_SEQ] ⏱️ t=1763289069.829 Filtered out 1 pending evolution messages
[11:31:09] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=50 =====
[11:31:09] [ROWS] 0: SEPARATOR
[11:31:09] [ROWS] 1: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:09] [ROWS] 2: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:31:09] [ROWS] 3: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:31:09] [ROWS] 4: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:09] [ROWS] 5: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:09] [ROWS] 6: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:09] [ROWS] 7: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:09] [ROWS] 8: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:31:09] [ROWS] 9: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:31:09] [ROWS] 10: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:09] [ROWS] 11: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:09] [ROWS] 12: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:31:09] [ROWS] 13: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:09] [ROWS] 14: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:09] [ROWS] 15: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:09] [ROWS] 16: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:09] [ROWS] 17: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:31:09] [ROWS] 18: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:09] [ROWS] 19: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:09] [ROWS] 20: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:09] [ROWS] 21: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:09] [ROWS] 22: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:31:09] [ROWS] 23: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:31:09] [ROWS] 24: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:31:09] [ROWS] 25: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:31:09] [ROWS] 26: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:09] [ROWS] 27: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:09] [ROWS] 28: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:09] [ROWS] 29: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:09] [ROWS] 30: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:09] [ROWS] 31: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:09] [ROWS] 32: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:09] [ROWS] 33: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:09] [ROWS] 34: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:09] [ROWS] 35: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:09] [ROWS] 36: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:09] [ROWS] 37: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:09] [ROWS] 38: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:09] [ROWS] 39: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:09] [ROWS] 40: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:31:09] [ROWS] 41: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:09] [ROWS] 42: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:09] [ROWS] 43: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:31:09] [ROWS] 44: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:09] [ROWS] 45: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:09] [ROWS] 46: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:09] [ROWS] 47: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:31:09] [ROWS] 48: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:31:09] [ROWS] 49: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:31:09] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:31:09] [TAB_FILTER] πŸ“Š Reloading table with 50 rows
[11:31:09] [HEIGHT_DEBUG] Row 1 msg 1617: isPlayingEvolution=false, textLength=5, text='Balle...'
[11:31:09] [HEIGHT] Row 1 msg 1617: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:31:09] [HEIGHT_DEBUG] Row 2 msg 1616: isPlayingEvolution=false, textLength=14, text='Messi football...'
[11:31:09] [HEIGHT] Row 2 msg 1616: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:31:09] [HEIGHT_DEBUG] Row 1 msg 1617: isPlayingEvolution=false, textLength=5, text='Balle...'
[11:31:09] [HEIGHT] Row 1 msg 1617: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:31:09] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:31:09] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:31:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:09] [HEIGHT_DEBUG] Row 2 msg 1616: isPlayingEvolution=false, textLength=14, text='Messi football...'
[11:31:09] [HEIGHT] Row 2 msg 1616: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:31:09] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:09] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:09] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:09] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:09] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:09] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:09] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:09] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:09] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:09] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:09] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:09] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:09] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:09] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:09] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:09] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:09] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:09] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:09] [BADGES] Chat tab unread: 1, Slave tab unread: 0, current tab: 0
[11:31:09] [EVOLUTION_SEQ] ⏱️ t=1763289069.882 πŸ“Š Table reloaded: 50 β†’ 49 visible messages
[11:31:10] [EVOLUTION_SEQ] ⏱️ t=1763289070.151 🎬 Starting sequential playback
[11:31:10] [EVOLUTION_SEQ] ⏱️ t=1763289070.152 ▢️ Playing message 1618 - 0 remaining in queue
[11:31:10] [EVOLUTION_SEQ] ⏱️ t=1763289070.152 πŸ“ Message 1618: "Mmmmmme..." (7 chars)
[11:31:10] [EVOLUTION_SEQ] ⏱️ t=1763289070.152 πŸ”“ Removed message 1618 from pending set
[11:31:10] [EVOLUTION_SEQ] ⏱️ t=1763289070.152 🎬 Set evolution state for message 1618
[11:31:10] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:31:10] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:31:10] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:31:10] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=51 =====
[11:31:10] [ROWS] 0: SEPARATOR
[11:31:10] [ROWS] 1: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=7
[11:31:10] [ROWS] 2: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:10] [ROWS] 3: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:31:10] [ROWS] 4: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:31:10] [ROWS] 5: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:10] [ROWS] 6: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:10] [ROWS] 7: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:10] [ROWS] 8: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:10] [ROWS] 9: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:31:10] [ROWS] 10: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:31:10] [ROWS] 11: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:10] [ROWS] 12: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:10] [ROWS] 13: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:31:10] [ROWS] 14: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:10] [ROWS] 15: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:10] [ROWS] 16: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:10] [ROWS] 17: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:10] [ROWS] 18: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:31:10] [ROWS] 19: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:10] [ROWS] 20: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:10] [ROWS] 21: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:10] [ROWS] 22: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:10] [ROWS] 23: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:31:10] [ROWS] 24: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:31:10] [ROWS] 25: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:31:10] [ROWS] 26: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:31:10] [ROWS] 27: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:10] [ROWS] 28: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:10] [ROWS] 29: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:10] [ROWS] 30: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:10] [ROWS] 31: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:10] [ROWS] 32: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:10] [ROWS] 33: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:10] [ROWS] 34: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:10] [ROWS] 35: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:10] [ROWS] 36: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:10] [ROWS] 37: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:10] [ROWS] 38: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:10] [ROWS] 39: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:10] [ROWS] 40: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:10] [ROWS] 41: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:31:10] [ROWS] 42: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:10] [ROWS] 43: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:10] [ROWS] 44: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:31:10] [ROWS] 45: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:10] [ROWS] 46: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:10] [ROWS] 47: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:10] [ROWS] 48: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:31:10] [ROWS] 49: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:31:10] [ROWS] 50: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:31:10] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:31:10] [TAB_FILTER] πŸ“Š Reloading table with 51 rows
[11:31:10] [HEIGHT_DEBUG] Row 1 msg 1618: isPlayingEvolution=true, textLength=0, text='...'
[11:31:10] [HEIGHT] Row 1 msg 1618: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:31:10] [HEIGHT_DEBUG] Row 2 msg 1617: isPlayingEvolution=false, textLength=5, text='Balle...'
[11:31:10] [HEIGHT] Row 2 msg 1617: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:31:10] [HEIGHT_DEBUG] Row 1 msg 1618: isPlayingEvolution=true, textLength=0, text='...'
[11:31:10] [HEIGHT] Row 1 msg 1618: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:31:10] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:31:10] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:31:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:31:10] [HEIGHT_DEBUG] Row 2 msg 1617: isPlayingEvolution=false, textLength=5, text='Balle...'
[11:31:10] [HEIGHT] Row 2 msg 1617: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:31:10] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:10] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:10] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:10] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:10] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:10] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:10] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:10] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:10] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:10] [BADGES] Chat tab unread: 1, Slave tab unread: 0, current tab: 0
[11:31:10] [EVOLUTION_SEQ] ⏱️ t=1763289070.153 πŸ“± Table reloaded: 49 β†’ 50 messages (bubble for 1618 now visible)
[11:31:10] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_id"): 1618, AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU2]
[11:31:10] [PUSH] Parsed message_id: 1618
[11:31:10] [PUSH] Parsed operation_type: 3
[11:31:10] [PUSH] Taking direct action: opType=3, messageId=1618
[11:31:10] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=1618
[11:31:10] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_id"): 1619, AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU2]
[11:31:10] [PUSH] Parsed message_id: 1619
[11:31:10] [PUSH] Parsed operation_type: 0
[11:31:10] [PUSH] Taking direct action: opType=0, messageId=1619
[11:31:10] [PUSH] TakeActionFromPush called: OperationType=0, MessageIds=1619
[11:31:10] [PUSH] Handling message fetch for opType=0, messageId=1619
[11:31:10] [PUSH] Requesting URL: http://crivello.dyndns.org:81/WebRTC/chat/chat_get_messages.php?session_id=ILUIWU2&viewer=1&messages=1619
[11:31:10] [LOCATION] Failed to get location: The operation couldn’t be completed. (kCLErrorDomain error 1.)
[11:31:10] [EVOLUTION_SEQ] ⏱️ t=1763289070.612 ▢️ Starting animation for message 1618
[11:31:10] [EVOLUTION] πŸ“‘ Fetching evolution data for message 1618
[11:31:10] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:31:10] Will get events_php
[11:31:10] [TYPING] πŸ”„ ========== POLL START ==========
[11:31:10] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:31:10] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:31:10] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:31:10] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:31:10] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:31:10] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:31:10] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok]
[11:31:10] [TYPING] πŸ“₯ Found 0 typing users in response
[11:31:10] [TYPING] πŸ“₯ Updating typing users SET: []
[11:31:10] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:31:10] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:31:10] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:31:10] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:31:10] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:31:10] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:31:10] [TYPING] πŸ”„ ========== POLL END ==========
[11:31:11] [EVOLUTION] πŸ” Raw response (345 bytes): {"ok":true,"has_evolution":true,"message_id":1618,"evolution":{"events":[{"t":0,"c":"M","p":0,"op":"i"},{"op":"i","t":1343,"c":"m","p":1},{"t":1474,"p":2,"op":"i","c":"m"},{"t":1628,"p":3,"c":"m","op"
[11:31:11] [EVOLUTION] πŸ” Parsed JSON keys: ["created_at", "evolution", "has_evolution", "message_id", "ok"]
[11:31:11] [EVOLUTION] πŸ” has_evolution: 1
[11:31:11] [EVOLUTION] βœ… Got 7 events for message 1618
[11:31:11] [OVERLAP_FIX] πŸš€ Starting evolution - forcing initial height recalculation
[11:31:11] [UPDATE] πŸ”„ updateMessageCell(for: 1618) β€” full safe reload
[11:31:11] [ROWS] ===== updateMessageCell for 1618 β€” chatRows.count=51 =====
[11:31:11] [ROWS] 0: SEPARATOR
[11:31:11] [ROWS] 1: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=7
[11:31:11] [ROWS] 2: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:11] [ROWS] 3: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:31:11] [ROWS] 4: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:31:11] [ROWS] 5: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:11] [ROWS] 6: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:11] [ROWS] 7: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:11] [ROWS] 8: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:11] [ROWS] 9: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:31:11] [ROWS] 10: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:31:11] [ROWS] 11: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:11] [ROWS] 12: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:11] [ROWS] 13: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:31:11] [ROWS] 14: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:11] [ROWS] 15: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:11] [ROWS] 16: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:11] [ROWS] 17: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:11] [ROWS] 18: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:31:11] [ROWS] 19: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:11] [ROWS] 20: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:11] [ROWS] 21: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:11] [ROWS] 22: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:11] [ROWS] 23: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:31:11] [ROWS] 24: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:31:11] [ROWS] 25: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:31:11] [ROWS] 26: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:31:11] [ROWS] 27: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:11] [ROWS] 28: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:11] [ROWS] 29: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:11] [EVT] get_events.php HTTP 200
── Response Headers ──
Connection: Keep-Alive
Content-Type: application/json; charset=utf-8
X-Powered-By: PHP/8.4.14
Date: Sun, 16 Nov 2025 10:31:10 GMT
Keep-Alive: timeout=5, max=99
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Content-Length: 280
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":3,"events":[{"event_id":10714,"event_type":3,"message_id":1618,"session_id":"ILUIWU2"},{"event_id":10715,"event_type":3,"message_id":1618,"session_id":"ILUIWU2"},{"event_id":10717,"event_type":3,"message_id":1619,"session_id":"ILUIWU2"}]}
[11:31:11] [ROWS] 30: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:11] [ROWS] 31: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:11] [ROWS] 32: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:11] [ROWS] 33: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:11] [ROWS] 34: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:11] [ROWS] 35: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:11] [ROWS] 36: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:11] [ROWS] 37: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:11] [ROWS] 38: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:11] [ROWS] 39: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:11] [ROWS] 40: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:11] [ROWS] 41: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:31:11] [ROWS] 42: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:11] [ROWS] 43: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:11] Done
[11:31:11] [ROWS] 44: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:31:11] [ROWS] 45: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:11] [ROWS] 46: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:11] [ROWS] 47: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:11] [ROWS] 48: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:31:11] [ROWS] 49: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:31:11] [ROWS] 50: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:31:11] [ROWS] ===== END (updateMessageCell for 1618) =====
[11:31:11] [HEIGHT_DEBUG] Row 1 msg 1618: isPlayingEvolution=true, textLength=0, text='...'
[11:31:11] [HEIGHT] Row 1 msg 1618: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:31:11] [HEIGHT_DEBUG] Row 2 msg 1617: isPlayingEvolution=false, textLength=5, text='Balle...'
[11:31:11] [HEIGHT] Row 2 msg 1617: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:31:11] [HEIGHT_DEBUG] Row 1 msg 1618: isPlayingEvolution=true, textLength=0, text='...'
[11:31:11] [HEIGHT] Row 1 msg 1618: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:31:11] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:31:11] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:31:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:31:11] [HEIGHT_DEBUG] Row 2 msg 1617: isPlayingEvolution=false, textLength=5, text='Balle...'
[11:31:11] [HEIGHT] Row 2 msg 1617: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:31:11] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:11] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:11] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:11] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:11] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:11] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:11] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:11] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:11] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:11] [EVOLUTION] ▢️ Starting inline playback for message 1618 with 7 events
[11:31:11] [EVOLUTION] πŸ“ Event 0/7 - Text now: "M..."
[11:31:11] [UPDATE] πŸ”„ updateMessageCell(for: 1618) β€” full safe reload
[11:31:11] [ROWS] ===== updateMessageCell for 1618 β€” chatRows.count=51 =====
[11:31:11] [ROWS] 0: SEPARATOR
[11:31:11] [ROWS] 1: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=1 textLen=7
[11:31:11] [ROWS] 2: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:11] [ROWS] 3: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:31:11] [ROWS] 4: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:31:11] [ROWS] 5: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:11] [ROWS] 6: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:11] [ROWS] 7: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:11] [ROWS] 8: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:11] [ROWS] 9: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:31:11] [ROWS] 10: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:31:11] [ROWS] 11: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:11] [ROWS] 12: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:11] [ROWS] 13: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:31:11] [ROWS] 14: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:11] [ROWS] 15: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:11] [ROWS] 16: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:11] [ROWS] 17: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:11] [ROWS] 18: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:31:11] [ROWS] 19: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:11] [ROWS] 20: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:11] [ROWS] 21: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:11] [ROWS] 22: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:11] [ROWS] 23: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:31:11] [ROWS] 24: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:31:11] [ROWS] 25: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:31:11] [ROWS] 26: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:31:11] [ROWS] 27: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:11] [ROWS] 28: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:11] [ROWS] 29: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:11] [ROWS] 30: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:11] [ROWS] 31: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:11] [ROWS] 32: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:11] [ROWS] 33: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:11] [ROWS] 34: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:11] [ROWS] 35: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:11] [ROWS] 36: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:11] [ROWS] 37: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:11] [ROWS] 38: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:11] [ROWS] 39: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:11] [ROWS] 40: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:11] [ROWS] 41: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:31:11] [ROWS] 42: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:11] [ROWS] 43: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:11] [ROWS] 44: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:31:11] [ROWS] 45: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:11] [ROWS] 46: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:11] [ROWS] 47: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:11] [ROWS] 48: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:31:11] [ROWS] 49: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:31:11] [ROWS] 50: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:31:11] [ROWS] ===== END (updateMessageCell for 1618) =====
[11:31:11] [HEIGHT_DEBUG] Row 1 msg 1618: isPlayingEvolution=true, textLength=1, text='M...'
[11:31:11] [HEIGHT] Row 1 msg 1618: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:31:11] [HEIGHT_DEBUG] Row 2 msg 1617: isPlayingEvolution=false, textLength=5, text='Balle...'
[11:31:11] [HEIGHT] Row 2 msg 1617: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:31:11] [HEIGHT_DEBUG] Row 1 msg 1618: isPlayingEvolution=true, textLength=1, text='M...'
[11:31:11] [HEIGHT] Row 1 msg 1618: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:31:11] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:31:11] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:31:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:11] [HEIGHT_DEBUG] Row 2 msg 1617: isPlayingEvolution=false, textLength=5, text='Balle...'
[11:31:11] [HEIGHT] Row 2 msg 1617: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:31:11] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:11] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:11] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:11] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:11] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:11] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:11] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:11] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:11] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:11] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:11] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:11] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("operation_type"): 3, AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("message_id"): 1619, AnyHashable("session_id"): ILUIWU2]
[11:31:11] [PUSH] Parsed message_id: 1619
[11:31:11] [PUSH] Parsed operation_type: 3
[11:31:11] [PUSH] Taking direct action: opType=3, messageId=1619
[11:31:11] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=1619
[11:31:12] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:31:12] Will get events_php
[11:31:12] [TYPING] πŸ”„ ========== POLL START ==========
[11:31:12] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:31:12] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:31:12] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:31:12] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:31:12] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:31:12] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:31:12] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:31:12] [TYPING] πŸ“₯ Found 0 typing users in response
[11:31:12] [TYPING] πŸ“₯ Updating typing users SET: []
[11:31:12] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:31:12] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:31:12] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:31:12] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:31:12] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:31:12] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:31:12] [TYPING] πŸ”„ ========== POLL END ==========
[11:31:12] [EVOLUTION] πŸ“ Event 1/7 - Text now: "Mm..."
[11:31:12] [UPDATE] πŸ”„ updateMessageCell(for: 1618) β€” full safe reload
[11:31:12] [ROWS] ===== updateMessageCell for 1618 β€” chatRows.count=51 =====
[11:31:12] [ROWS] 0: SEPARATOR
[11:31:12] [ROWS] 1: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=2 textLen=7
[11:31:12] [ROWS] 2: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:12] [ROWS] 3: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:31:12] [ROWS] 4: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:31:12] [ROWS] 5: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:12] [ROWS] 6: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:12] [ROWS] 7: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:12] [ROWS] 8: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:12] [ROWS] 9: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:31:12] [ROWS] 10: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:31:12] [ROWS] 11: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:12] [ROWS] 12: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:12] [ROWS] 13: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:31:12] [ROWS] 14: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:12] [ROWS] 15: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:12] [ROWS] 16: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:12] [ROWS] 17: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:12] [ROWS] 18: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:31:12] [ROWS] 19: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:12] [ROWS] 20: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:12] [ROWS] 21: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:12] [ROWS] 22: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:12] [ROWS] 23: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:31:12] [ROWS] 24: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:31:12] [ROWS] 25: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:31:12] [ROWS] 26: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:31:12] [ROWS] 27: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:12] [ROWS] 28: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:12] [ROWS] 29: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:12] [ROWS] 30: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:12] [ROWS] 31: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:12] [ROWS] 32: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:12] [ROWS] 33: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:12] [ROWS] 34: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:12] [ROWS] 35: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:12] [ROWS] 36: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:12] [ROWS] 37: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:12] [ROWS] 38: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:12] [ROWS] 39: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:12] [ROWS] 40: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:12] [ROWS] 41: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:31:12] [ROWS] 42: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:12] [ROWS] 43: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:12] [ROWS] 44: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:31:12] [ROWS] 45: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:12] [ROWS] 46: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:12] [ROWS] 47: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:12] [ROWS] 48: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:31:12] [ROWS] 49: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:31:12] [ROWS] 50: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:31:12] [ROWS] ===== END (updateMessageCell for 1618) =====
[11:31:12] [HEIGHT_DEBUG] Row 1 msg 1618: isPlayingEvolution=true, textLength=2, text='Mm...'
[11:31:12] [HEIGHT] Row 1 msg 1618: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:31:12] [HEIGHT_DEBUG] Row 2 msg 1617: isPlayingEvolution=false, textLength=5, text='Balle...'
[11:31:12] [HEIGHT] Row 2 msg 1617: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:31:12] [HEIGHT_DEBUG] Row 1 msg 1618: isPlayingEvolution=true, textLength=2, text='Mm...'
[11:31:12] [HEIGHT] Row 1 msg 1618: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:31:12] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:31:12] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:31:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:12] [HEIGHT_DEBUG] Row 2 msg 1617: isPlayingEvolution=false, textLength=5, text='Balle...'
[11:31:12] [HEIGHT] Row 2 msg 1617: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:31:12] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:12] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:12] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:12] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:12] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:12] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:12] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:12] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:12] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:12] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:12] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:12] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("operation_type"): 3, AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("message_id"): 1619, AnyHashable("session_id"): ILUIWU2]
[11:31:12] [PUSH] Parsed message_id: 1619
[11:31:12] [PUSH] Parsed operation_type: 3
[11:31:12] [PUSH] Taking direct action: opType=3, messageId=1619
[11:31:12] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=1619
[11:31:14] [CRASH] Previous session did not exit cleanly - crash detected
[11:31:14] [GIPHY] SDK not available - using REST API fallback
[11:31:14] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:31:14] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:31:14] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:31:14] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:31:14] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:31:14] [SCENE] Launched directly to chat view with sessionId: ILUIWU2
[11:31:14] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:31:14] Documents Directory: /var/mobile/Containers/Data/Application/017D7D31-D4F9-4CBD-B452-2B8BAA8F0AB7/Documents
[11:31:14] [NOTIFICATION] πŸ”” Notification button created and added to topNavBar
[11:31:14] [NOTIFICATION] πŸ”” Button tintColor: grey (0.5, 0.5, 0.5)
[11:31:14] [NOTIFICATION] πŸ”” Button isUserInteractionEnabled: true
[11:31:14] [INFO_PAGE] InformationViewController viewDidLoad called
[11:31:14] [INFO_PAGE] Actions configured (bell button is external)
[11:31:14] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:31:14] [INFO_PAGE] Successfully opened database at /var/mobile/Containers/Data/Application/017D7D31-D4F9-4CBD-B452-2B8BAA8F0AB7/Documents/chat_local_viewer.db
[11:31:14] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:31:14] [INFO_PAGE] Found 434 messages for session 'ILUIWU2'
[11:31:14] [INFO_PAGE] Total messages in database: 1200
[11:31:14] [INFO_PAGE] InformationViewController setup complete
[11:31:14] [INFO_PAGE] ℹ️ Information page added to tab 3
[11:31:14] [THEME] Applying current theme
[11:31:14] [CHAT] Applied day theme (mode: day)
[11:31:14] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:31:14] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:31:14] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:31:14] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:31:14] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:31:14] [SUMMARY] Already showed summary today (2025-11-16)
[11:31:14] Did transition
[11:31:14] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:31:14] [VIEWER] Screen lock enabled - normal idle behavior
[11:31:14] [QUERY] πŸ” Checking tab - currentTabIndex=0
[11:31:14] [QUERY] πŸ”΅ [TAB 0] No query connection needed
[11:31:14] [QUERY] βœ… [TAB 0] Initialized without query connection
[11:31:14] [LOCATION] Started location updates for distance calculation (already authorized)
[11:31:14] [TAB 0] Skipping reconnect polling - only needed for tab 1
[11:31:14] [VIEWER_INIT] Loading messages with read receipts from server
[11:31:14] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:31:14] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:31:14] [DB]   msg[0] id=1619, isMyMessage=false, readBy.count=0
[11:31:14] [DB]   msg[1] id=1618, isMyMessage=false, readBy.count=0
[11:31:14] [DB]   msg[2] id=1617, isMyMessage=false, readBy.count=0
[11:31:14] [EVOLUTION] πŸ” Found 1 NEW unread messages from local DB before fetching read receipts (lastSeenMessageId=1618): [1619]
[11:31:14] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1619, readBy=[]", "id=1618, readBy=[]", "id=1617, readBy=[]"]
[11:31:14] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:31:14] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:31:14] [DB]   msg[0] id=1619, isMyMessage=false, readBy.count=0
[11:31:14] [DB]   msg[1] id=1618, isMyMessage=false, readBy.count=0
[11:31:14] [DB]   msg[2] id=1617, isMyMessage=false, readBy.count=0
[11:31:14] [EVENT_POLL] Starting periodic event polling for viewer mode (5s interval)
[11:31:14] [ORIENTATION] Updated pagingScrollView height to 247.5 for width 440.0
[11:31:14] [SUMMARY] Already showed summary today (2025-11-16)
[11:31:14] Did transition
[11:31:14] [NOTIFICATION] πŸ”” Constraints activated for notification button
[11:31:14] [NOTIFICATION] πŸ”” topNavBar frame: (0.0, 0.0, 440.0, 50.0)
[11:31:14] [NOTIFICATION] πŸ”” menuButton frame: (0.0, 0.0, 39.0, 30.0)
[11:31:14] [NOTIFICATION] πŸ”” notificationButton frame: (0.0, 0.0, 56.333333333333336, 58.0)
[11:31:14] [NOTIFICATION] πŸ”” Notification button brought to front
[11:31:14] [NOTIFICATION] πŸ”„ Updating icon to: bell.slash.fill (muted=true)
[11:31:14] [NOTIFICATION] βœ… Icon updated successfully
[11:31:14] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[11:31:14] [MIGRATION] No messages need sender_name backfill
[11:31:14] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:31:14] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:31:14] [DB]   msg[0] id=1619, isMyMessage=false, readBy.count=0
[11:31:14] [DB]   msg[1] id=1618, isMyMessage=false, readBy.count=0
[11:31:14] [DB]   msg[2] id=1617, isMyMessage=false, readBy.count=0
[11:31:14] [INFO_PAGE] InformationViewController viewWillAppear - applying theme
[11:31:14] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:31:14] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:31:14] [PAGINATION_SCROLL] offset=-12.0, contentHeight=108.0, distFromBottom=120.0, dragging=false, decel=false, isLoading=false, cooldown=63899058674.57257s
[11:31:14] [PAGINATION_SCROLL] offset=0.0, contentHeight=108.0, distFromBottom=-650.0, dragging=false, decel=false, isLoading=false, cooldown=63899058674.57453s
[11:31:14] [LOCATION] Authorization changed: 4
[11:31:14] [LOCATION] Updated location: 46.501410588419475, 6.722693566827516
[11:31:14] [LOCATION] Updated location: 46.501410588419475, 6.722693566827516
[11:31:14] [NOTIFICATION] πŸ”” FINAL STATE after viewDidLoad:
[11:31:14] [NOTIFICATION] πŸ”” notificationButton.frame: (392.0, 67.0, 40.0, 40.0)
[11:31:14] [NOTIFICATION] πŸ”” notificationButton.isHidden: false
[11:31:14] [NOTIFICATION] πŸ”” notificationButton.alpha: 1.0
[11:31:14] [NOTIFICATION] πŸ”” notificationButton.superview: true
[11:31:14] [NOTIFICATION] πŸ”” topNavBar.isHidden: false
[11:31:14] [NOTIFICATION] πŸ”” topNavBar.subviews.count: 3
[11:31:14] [PUSH] APNs token: 6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c
[11:31:14] [PUSH] handlePollEventsNotification userInfo: [:]
[11:31:14] [PUSH] No message_id in userInfo
[11:31:14] [PUSH] No operation_type in userInfo
[11:31:14] [PUSH] Performing full refresh to catch up on any missed messages
[11:31:14] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:31:14] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:31:14] [DB]   msg[0] id=1619, isMyMessage=false, readBy.count=0
[11:31:14] [DB]   msg[1] id=1618, isMyMessage=false, readBy.count=0
[11:31:14] [DB]   msg[2] id=1617, isMyMessage=false, readBy.count=0
[11:31:14] [PUSH] Device role updated to 'viewer': HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:31:14] [PUSH] Device role updated to 'viewer': HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:31:14] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:31:14] [USER] βœ… User registered successfully
[11:31:14] [USER] User registration successful
[11:31:14] [CHAT] βœ… refreshAllFromServer - parsed 434 messages from server
[11:31:14] [DB] clearDBForSession(ILUIWU2): deleted 434 messages, result=101
[11:31:14] ReloadData 15 (434 messages loaded, 0 pending media)
[11:31:14] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:31:14] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:31:14] [DB]   msg[0] id=1619, isMyMessage=false, readBy.count=0
[11:31:14] [DB]   msg[1] id=1618, isMyMessage=false, readBy.count=0
[11:31:14] [DB]   msg[2] id=1617, isMyMessage=false, readBy.count=0
[11:31:14] [EVOLUTION] πŸ” Found 1 NEW unread messages after refreshAllFromServer (lastSeenMessageId=1618): [1619]
[11:31:14] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1619, readBy=[]", "id=1618, readBy=[]", "id=1617, readBy=[]"]
[11:31:14] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:31:14] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:31:14] [DB]   msg[0] id=1619, isMyMessage=false, readBy.count=0
[11:31:14] [DB]   msg[1] id=1618, isMyMessage=false, readBy.count=0
[11:31:14] [DB]   msg[2] id=1617, isMyMessage=false, readBy.count=0
[11:31:14] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:31:14] [UNREAD_DEBUG]   FINAL msg[0] id=1619, readBy.count=0
[11:31:14] [UNREAD_DEBUG]   FINAL msg[1] id=1618, readBy.count=1
[11:31:14] [UNREAD_DEBUG]   FINAL msg[2] id=1617, readBy.count=1
[11:31:14] [VIEWER_INIT] Loaded 50 messages with read receipts, hasMore: true
[11:31:14] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:31:14] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:31:14] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:31:14] [EVOLUTION] πŸ“ Updated lastSeenMessageId: 1618 β†’ 1619
[11:31:14] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=51 =====
[11:31:14] [ROWS] 0: SEPARATOR
[11:31:14] [ROWS] 1: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:14] [ROWS] 2: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:14] [ROWS] 3: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:14] [ROWS] 4: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:31:14] [ROWS] 5: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:31:14] [ROWS] 6: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:14] [ROWS] 7: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:14] [ROWS] 8: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:14] [ROWS] 9: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:14] [ROWS] 10: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:31:14] [ROWS] 11: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:31:14] [ROWS] 12: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:14] [ROWS] 13: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:14] [ROWS] 14: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:31:14] [ROWS] 15: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:14] [ROWS] 16: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:14] [ROWS] 17: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:14] [ROWS] 18: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:14] [ROWS] 19: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:31:14] [ROWS] 20: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:14] [ROWS] 21: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:14] [ROWS] 22: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:14] [ROWS] 23: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:14] [ROWS] 24: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:31:14] [ROWS] 25: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:31:14] [ROWS] 26: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:31:14] [ROWS] 27: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:31:14] [ROWS] 28: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:14] [ROWS] 29: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:14] [ROWS] 30: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:14] [ROWS] 31: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:14] [ROWS] 32: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:14] [ROWS] 33: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:14] [ROWS] 34: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:14] [ROWS] 35: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:14] [ROWS] 36: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:14] [ROWS] 37: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:14] [ROWS] 38: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:14] [ROWS] 39: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:14] [ROWS] 40: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:14] [ROWS] 41: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:14] [ROWS] 42: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:31:14] [ROWS] 43: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:14] [ROWS] 44: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:14] [ROWS] 45: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:31:14] [ROWS] 46: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:14] [ROWS] 47: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:14] [ROWS] 48: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:14] [ROWS] 49: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:31:14] [ROWS] 50: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:31:14] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:31:14] [TAB_FILTER] πŸ“Š Reloading table with 51 rows
[11:31:14] [HEIGHT_DEBUG] Row 1 msg 1619: isPlayingEvolution=false, textLength=7, text='Yooooou...'
[11:31:14] [EMOJI] βœ… Loaded 451 emoji-to-GIF mappings
[11:31:14] [HEIGHT] Row 1 msg 1619: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:31:14] [HEIGHT_DEBUG] Row 2 msg 1618: isPlayingEvolution=false, textLength=7, text='Mmmmmme...'
[11:31:14] [HEIGHT] Row 2 msg 1618: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:31:14] [HEIGHT_DEBUG] Row 1 msg 1619: isPlayingEvolution=false, textLength=7, text='Yooooou...'
[11:31:14] [HEIGHT] Row 1 msg 1619: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:31:14] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:31:14] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:31:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:14] [HEIGHT_DEBUG] Row 2 msg 1618: isPlayingEvolution=false, textLength=7, text='Mmmmmme...'
[11:31:14] [HEIGHT] Row 2 msg 1618: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:31:14] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:14] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:14] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:14] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:14] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:14] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:14] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:14] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:14] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:14] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:14] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:14] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:14] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:14] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:14] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:14] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:14] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:14] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:14] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:14] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:31:14] ReloadData 18 (viewer init with read receipts)
[11:31:14] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:31:14] [UNREAD_DEBUG]   FINAL msg[0] id=1619, readBy.count=0
[11:31:14] [UNREAD_DEBUG]   FINAL msg[1] id=1618, readBy.count=1
[11:31:14] [UNREAD_DEBUG]   FINAL msg[2] id=1617, readBy.count=1
[11:31:14] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:31:14] [UNREAD_DEBUG]   FINAL msg[0] id=1619, readBy.count=0
[11:31:14] [UNREAD_DEBUG]   FINAL msg[1] id=1618, readBy.count=1
[11:31:14] [UNREAD_DEBUG]   FINAL msg[2] id=1617, readBy.count=1
[11:31:14] [FOREGROUND_REFRESH] Loaded 50 messages
[11:31:14] [EVOLUTION] πŸ” [FOREGROUND] Found 0 NEW unread messages (lastSeenMessageId=1619): []
[11:31:14] [FOREGROUND_REFRESH] About to call autoPlayEvolutionForUnreadMessageIds with 0 IDs: []
[11:31:14] [FOREGROUND_REFRESH] No unread messages to play evolution for - reloading table normally
[11:31:14] [EVOLUTION_SEQ] πŸš€ FUNCTION CALLED with 1 message IDs: [1619]
[11:31:14] [EVOLUTION_SEQ] ⏱️ t=1763289074.996 πŸ“‹ Starting with 1 messages: [1619]
[11:31:14] [EVOLUTION_SEQ] πŸ“Š Message 1/1: id=1619, length=7 chars, estimated_duration=0.35s
[11:31:14] [EVOLUTION_SEQ] ⏱️ t=1763289074.997 πŸ”’ Marked 1 messages as pending (hidden from view)
[11:31:14] [EVOLUTION_SEQ] ⏱️ t=1763289074.997 πŸ“ Queued 1 messages for sequential playback
[11:31:14] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:31:14] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:31:14] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:31:14] [EVOLUTION_SEQ] ⏱️ t=1763289074.997 Filtered out 1 pending evolution messages
[11:31:14] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=50 =====
[11:31:14] [ROWS] 0: SEPARATOR
[11:31:14] [ROWS] 1: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:14] [ROWS] 2: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:14] [ROWS] 3: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:31:14] [ROWS] 4: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:31:14] [ROWS] 5: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:14] [ROWS] 6: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:14] [ROWS] 7: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:14] [ROWS] 8: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:14] [ROWS] 9: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:31:14] [ROWS] 10: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:31:14] [ROWS] 11: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:14] [ROWS] 12: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:14] [ROWS] 13: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:31:14] [ROWS] 14: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:14] [ROWS] 15: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:14] [ROWS] 16: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:14] [ROWS] 17: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:14] [ROWS] 18: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:31:14] [ROWS] 19: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:14] [ROWS] 20: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:14] [ROWS] 21: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:14] [ROWS] 22: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:14] [ROWS] 23: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:31:14] [ROWS] 24: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:31:14] [ROWS] 25: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:31:14] [ROWS] 26: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:31:14] [ROWS] 27: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:14] [ROWS] 28: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:14] [ROWS] 29: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:14] [ROWS] 30: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:14] [ROWS] 31: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:14] [ROWS] 32: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:14] [ROWS] 33: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:14] [ROWS] 34: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:14] [ROWS] 35: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:14] [ROWS] 36: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:14] [ROWS] 37: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:14] [ROWS] 38: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:14] [ROWS] 39: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:14] [ROWS] 40: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:14] [ROWS] 41: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:31:14] [ROWS] 42: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:14] [ROWS] 43: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:14] [ROWS] 44: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:31:14] [ROWS] 45: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:14] [ROWS] 46: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:14] [ROWS] 47: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:14] [ROWS] 48: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:31:14] [ROWS] 49: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:31:14] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:31:14] [TAB_FILTER] πŸ“Š Reloading table with 50 rows
[11:31:14] [HEIGHT_DEBUG] Row 1 msg 1618: isPlayingEvolution=false, textLength=7, text='Mmmmmme...'
[11:31:14] [HEIGHT] Row 1 msg 1618: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:31:14] [HEIGHT_DEBUG] Row 2 msg 1617: isPlayingEvolution=false, textLength=5, text='Balle...'
[11:31:14] [HEIGHT] Row 2 msg 1617: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:31:15] [HEIGHT_DEBUG] Row 1 msg 1618: isPlayingEvolution=false, textLength=7, text='Mmmmmme...'
[11:31:15] [HEIGHT] Row 1 msg 1618: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:31:15] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:31:15] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [HEIGHT_DEBUG] Row 2 msg 1617: isPlayingEvolution=false, textLength=5, text='Balle...'
[11:31:15] [HEIGHT] Row 2 msg 1617: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:31:15] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:31:15] [EVOLUTION_SEQ] ⏱️ t=1763289075.003 πŸ“Š Table reloaded: 50 β†’ 49 visible messages
[11:31:15] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:31:15] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:31:15] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:31:15] [EVOLUTION_SEQ] ⏱️ t=1763289075.003 Filtered out 1 pending evolution messages
[11:31:15] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=50 =====
[11:31:15] [ROWS] 0: SEPARATOR
[11:31:15] [ROWS] 1: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:15] [ROWS] 2: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 3: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:31:15] [ROWS] 4: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:31:15] [ROWS] 5: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:15] [ROWS] 6: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:15] [ROWS] 7: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 8: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:15] [ROWS] 9: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:31:15] [ROWS] 10: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:31:15] [ROWS] 11: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:15] [ROWS] 12: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 13: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:31:15] [ROWS] 14: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:15] [ROWS] 15: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:15] [ROWS] 16: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:15] [ROWS] 17: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:15] [ROWS] 18: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:31:15] [ROWS] 19: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:15] [ROWS] 20: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:15] [ROWS] 21: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:15] [ROWS] 22: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:15] [ROWS] 23: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:31:15] [ROWS] 24: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:31:15] [ROWS] 25: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:31:15] [ROWS] 26: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:31:15] [ROWS] 27: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:15] [ROWS] 28: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:15] [ROWS] 29: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 30: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:15] [ROWS] 31: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 32: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:15] [ROWS] 33: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:15] [ROWS] 34: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:15] [ROWS] 35: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:15] [ROWS] 36: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:15] [ROWS] 37: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 38: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:15] [ROWS] 39: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 40: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:15] [ROWS] 41: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:31:15] [ROWS] 42: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 43: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 44: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:31:15] [ROWS] 45: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:15] [ROWS] 46: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:15] [ROWS] 47: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:15] [ROWS] 48: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:31:15] [ROWS] 49: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:31:15] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:31:15] [TAB_FILTER] πŸ“Š Reloading table with 50 rows
[11:31:15] [HEIGHT_DEBUG] Row 1 msg 1618: isPlayingEvolution=false, textLength=7, text='Mmmmmme...'
[11:31:15] [HEIGHT] Row 1 msg 1618: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:31:15] [HEIGHT_DEBUG] Row 2 msg 1617: isPlayingEvolution=false, textLength=5, text='Balle...'
[11:31:15] [HEIGHT] Row 2 msg 1617: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:31:15] [HEIGHT_DEBUG] Row 1 msg 1618: isPlayingEvolution=false, textLength=7, text='Mmmmmme...'
[11:31:15] [HEIGHT] Row 1 msg 1618: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:31:15] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:31:15] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [HEIGHT_DEBUG] Row 2 msg 1617: isPlayingEvolution=false, textLength=5, text='Balle...'
[11:31:15] [HEIGHT] Row 2 msg 1617: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:31:15] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:31:15] [INIT_PAGINATION] Loaded 50 total messages, displaying 49 for tab 0
[11:31:15] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:31:15] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:31:15] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:31:15] [EVOLUTION_SEQ] ⏱️ t=1763289075.009 Filtered out 1 pending evolution messages
[11:31:15] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=50 =====
[11:31:15] [ROWS] 0: SEPARATOR
[11:31:15] [ROWS] 1: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:15] [ROWS] 2: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 3: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:31:15] [ROWS] 4: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:31:15] [ROWS] 5: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:15] [ROWS] 6: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:15] [ROWS] 7: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 8: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:15] [ROWS] 9: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:31:15] [ROWS] 10: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:31:15] [ROWS] 11: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:15] [ROWS] 12: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 13: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:31:15] [ROWS] 14: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:15] [ROWS] 15: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:15] [ROWS] 16: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:15] [ROWS] 17: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:15] [ROWS] 18: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:31:15] [ROWS] 19: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:15] [ROWS] 20: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:15] [ROWS] 21: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:15] [ROWS] 22: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:15] [ROWS] 23: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:31:15] [ROWS] 24: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:31:15] [ROWS] 25: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:31:15] [ROWS] 26: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:31:15] [ROWS] 27: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:15] [ROWS] 28: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:15] [ROWS] 29: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 30: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:15] [ROWS] 31: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 32: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:15] [ROWS] 33: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:15] [ROWS] 34: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:15] [ROWS] 35: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:15] [ROWS] 36: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:15] [ROWS] 37: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 38: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:15] [ROWS] 39: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 40: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:15] [ROWS] 41: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:31:15] [ROWS] 42: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 43: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 44: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:31:15] [ROWS] 45: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:15] [ROWS] 46: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:15] [ROWS] 47: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:15] [ROWS] 48: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:31:15] [ROWS] 49: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:31:15] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:31:15] [TAB_FILTER] πŸ“Š Reloading table with 50 rows
[11:31:15] [HEIGHT_DEBUG] Row 1 msg 1618: isPlayingEvolution=false, textLength=7, text='Mmmmmme...'
[11:31:15] [HEIGHT] Row 1 msg 1618: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:31:15] [HEIGHT_DEBUG] Row 2 msg 1617: isPlayingEvolution=false, textLength=5, text='Balle...'
[11:31:15] [HEIGHT] Row 2 msg 1617: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:31:15] [HEIGHT_DEBUG] Row 1 msg 1618: isPlayingEvolution=false, textLength=7, text='Mmmmmme...'
[11:31:15] [HEIGHT] Row 1 msg 1618: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:31:15] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:31:15] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [HEIGHT_DEBUG] Row 2 msg 1617: isPlayingEvolution=false, textLength=5, text='Balle...'
[11:31:15] [HEIGHT] Row 2 msg 1617: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:31:15] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:31:15] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:31:15] [UNREAD_DEBUG]   FINAL msg[0] id=1619, readBy.count=1
[11:31:15] [UNREAD_DEBUG]   FINAL msg[1] id=1618, readBy.count=1
[11:31:15] [UNREAD_DEBUG]   FINAL msg[2] id=1617, readBy.count=1
[11:31:15] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:31:15] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:31:15] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:31:15] [EVOLUTION_SEQ] ⏱️ t=1763289075.036 Filtered out 1 pending evolution messages
[11:31:15] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=50 =====
[11:31:15] [ROWS] 0: SEPARATOR
[11:31:15] [ROWS] 1: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:15] [ROWS] 2: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 3: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:31:15] [ROWS] 4: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:31:15] [ROWS] 5: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:15] [ROWS] 6: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:15] [ROWS] 7: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 8: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:15] [ROWS] 9: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:31:15] [ROWS] 10: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:31:15] [ROWS] 11: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:15] [ROWS] 12: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 13: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:31:15] [ROWS] 14: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:15] [ROWS] 15: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:15] [ROWS] 16: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:15] [ROWS] 17: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:15] [ROWS] 18: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:31:15] [ROWS] 19: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:15] [ROWS] 20: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:15] [ROWS] 21: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:15] [ROWS] 22: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:15] [ROWS] 23: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:31:15] [ROWS] 24: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:31:15] [ROWS] 25: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:31:15] [ROWS] 26: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:31:15] [ROWS] 27: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:15] [ROWS] 28: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:15] [ROWS] 29: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 30: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:15] [ROWS] 31: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 32: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:15] [ROWS] 33: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:15] [ROWS] 34: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:15] [ROWS] 35: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:15] [ROWS] 36: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:15] [ROWS] 37: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 38: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:15] [ROWS] 39: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 40: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:15] [ROWS] 41: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:31:15] [ROWS] 42: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 43: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 44: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:31:15] [ROWS] 45: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:15] [ROWS] 46: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:15] [ROWS] 47: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:15] [ROWS] 48: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:31:15] [ROWS] 49: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:31:15] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:31:15] [TAB_FILTER] πŸ“Š Reloading table with 50 rows
[11:31:15] [HEIGHT_DEBUG] Row 1 msg 1618: isPlayingEvolution=false, textLength=7, text='Mmmmmme...'
[11:31:15] [HEIGHT] Row 1 msg 1618: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:31:15] [HEIGHT_DEBUG] Row 2 msg 1617: isPlayingEvolution=false, textLength=5, text='Balle...'
[11:31:15] [HEIGHT] Row 2 msg 1617: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:31:15] [HEIGHT_DEBUG] Row 1 msg 1618: isPlayingEvolution=false, textLength=7, text='Mmmmmme...'
[11:31:15] [HEIGHT] Row 1 msg 1618: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:31:15] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:31:15] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [HEIGHT_DEBUG] Row 2 msg 1617: isPlayingEvolution=false, textLength=5, text='Balle...'
[11:31:15] [HEIGHT] Row 2 msg 1617: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:31:15] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:31:15] [INITIAL_LOAD] Loaded 50 messages (first page), displaying 49 for tab 0, hasMore: true
[11:31:15] ReloadData 1
[11:31:15] [PURGE] Deleted 0 unused media files:

[11:31:15] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:31:15] [EVOLUTION_SEQ] πŸš€ FUNCTION CALLED with 1 message IDs: [1619]
[11:31:15] [EVOLUTION_SEQ] ⏱️ t=1763289075.043 πŸ“‹ Starting with 1 messages: [1619]
[11:31:15] [EVOLUTION_SEQ] πŸ“Š Message 1/1: id=1619, length=7 chars, estimated_duration=0.35s
[11:31:15] [EVOLUTION_SEQ] ⏱️ t=1763289075.043 πŸ”’ Marked 1 messages as pending (hidden from view)
[11:31:15] [EVOLUTION_SEQ] ⏱️ t=1763289075.043 πŸ“ Queued 1 messages for sequential playback
[11:31:15] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:31:15] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:31:15] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:31:15] [EVOLUTION_SEQ] ⏱️ t=1763289075.044 Filtered out 1 pending evolution messages
[11:31:15] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=50 =====
[11:31:15] [ROWS] 0: SEPARATOR
[11:31:15] [ROWS] 1: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:15] [ROWS] 2: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 3: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:31:15] [ROWS] 4: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:31:15] [ROWS] 5: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:15] [ROWS] 6: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:15] [ROWS] 7: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 8: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:15] [ROWS] 9: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:31:15] [ROWS] 10: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:31:15] [ROWS] 11: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:15] [ROWS] 12: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 13: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:31:15] [ROWS] 14: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:15] [ROWS] 15: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:15] [ROWS] 16: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:15] [ROWS] 17: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:15] [ROWS] 18: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:31:15] [ROWS] 19: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:15] [ROWS] 20: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:15] [ROWS] 21: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:15] [ROWS] 22: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:15] [ROWS] 23: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:31:15] [ROWS] 24: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:31:15] [ROWS] 25: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:31:15] [ROWS] 26: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:31:15] [ROWS] 27: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:15] [ROWS] 28: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:15] [ROWS] 29: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 30: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:15] [ROWS] 31: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 32: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:15] [ROWS] 33: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:15] [ROWS] 34: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:15] [ROWS] 35: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:15] [ROWS] 36: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:15] [ROWS] 37: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 38: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:15] [ROWS] 39: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 40: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:15] [ROWS] 41: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:31:15] [ROWS] 42: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 43: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 44: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:31:15] [ROWS] 45: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:15] [ROWS] 46: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:15] [ROWS] 47: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:15] [ROWS] 48: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:31:15] [ROWS] 49: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:31:15] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:31:15] [TAB_FILTER] πŸ“Š Reloading table with 50 rows
[11:31:15] [HEIGHT_DEBUG] Row 1 msg 1618: isPlayingEvolution=false, textLength=7, text='Mmmmmme...'
[11:31:15] [HEIGHT] Row 1 msg 1618: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:31:15] [HEIGHT_DEBUG] Row 2 msg 1617: isPlayingEvolution=false, textLength=5, text='Balle...'
[11:31:15] [HEIGHT] Row 2 msg 1617: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:31:15] [HEIGHT_DEBUG] Row 1 msg 1618: isPlayingEvolution=false, textLength=7, text='Mmmmmme...'
[11:31:15] [HEIGHT] Row 1 msg 1618: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:31:15] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:31:15] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [HEIGHT_DEBUG] Row 2 msg 1617: isPlayingEvolution=false, textLength=5, text='Balle...'
[11:31:15] [HEIGHT] Row 2 msg 1617: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:31:15] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:31:15] [EVOLUTION_SEQ] ⏱️ t=1763289075.049 πŸ“Š Table reloaded: 49 β†’ 49 visible messages
[11:31:15] [EVOLUTION_SEQ] ⏱️ t=1763289075.209 🎬 Starting sequential playback
[11:31:15] [EVOLUTION_SEQ] ⏱️ t=1763289075.209 ▢️ Playing message 1619 - 0 remaining in queue
[11:31:15] [EVOLUTION_SEQ] ⏱️ t=1763289075.209 πŸ“ Message 1619: "Yooooou..." (7 chars)
[11:31:15] [EVOLUTION_SEQ] ⏱️ t=1763289075.209 πŸ”“ Removed message 1619 from pending set
[11:31:15] [EVOLUTION_SEQ] ⏱️ t=1763289075.209 🎬 Set evolution state for message 1619
[11:31:15] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:31:15] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:31:15] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:31:15] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=51 =====
[11:31:15] [ROWS] 0: SEPARATOR
[11:31:15] [ROWS] 1: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=7
[11:31:15] [ROWS] 2: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:15] [ROWS] 3: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 4: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:31:15] [ROWS] 5: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:31:15] [ROWS] 6: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:15] [ROWS] 7: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:15] [ROWS] 8: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 9: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:15] [ROWS] 10: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:31:15] [ROWS] 11: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:31:15] [ROWS] 12: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:15] [ROWS] 13: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 14: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:31:15] [ROWS] 15: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:15] [ROWS] 16: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:15] [ROWS] 17: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:15] [ROWS] 18: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:15] [ROWS] 19: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:31:15] [ROWS] 20: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:15] [ROWS] 21: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:15] [ROWS] 22: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:15] [ROWS] 23: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:15] [ROWS] 24: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:31:15] [ROWS] 25: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:31:15] [ROWS] 26: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:31:15] [ROWS] 27: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:31:15] [ROWS] 28: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:15] [ROWS] 29: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:15] [ROWS] 30: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 31: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:15] [ROWS] 32: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 33: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:15] [ROWS] 34: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:15] [ROWS] 35: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:15] [ROWS] 36: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:15] [ROWS] 37: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:15] [ROWS] 38: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 39: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:15] [ROWS] 40: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 41: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:15] [ROWS] 42: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:31:15] [ROWS] 43: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 44: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 45: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:31:15] [ROWS] 46: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:15] [ROWS] 47: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:15] [ROWS] 48: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:15] [ROWS] 49: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:31:15] [ROWS] 50: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:31:15] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:31:15] [TAB_FILTER] πŸ“Š Reloading table with 51 rows
[11:31:15] [HEIGHT_DEBUG] Row 1 msg 1619: isPlayingEvolution=true, textLength=0, text='...'
[11:31:15] [HEIGHT] Row 1 msg 1619: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:31:15] [HEIGHT_DEBUG] Row 2 msg 1618: isPlayingEvolution=false, textLength=7, text='Mmmmmme...'
[11:31:15] [HEIGHT] Row 2 msg 1618: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:31:15] [HEIGHT_DEBUG] Row 1 msg 1619: isPlayingEvolution=true, textLength=0, text='...'
[11:31:15] [HEIGHT] Row 1 msg 1619: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:31:15] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:31:15] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:31:15] [HEIGHT_DEBUG] Row 2 msg 1618: isPlayingEvolution=false, textLength=7, text='Mmmmmme...'
[11:31:15] [HEIGHT] Row 2 msg 1618: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:31:15] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:31:15] [EVOLUTION_SEQ] ⏱️ t=1763289075.209 πŸ“± Table reloaded: 49 β†’ 50 messages (bubble for 1619 now visible)
[11:31:15] [EVOLUTION_SEQ] ⏱️ t=1763289075.259 🎬 Starting sequential playback
[11:31:15] [EVOLUTION] ⏸️ Already playing queued evolution, will retry when current finishes
[11:31:15] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("message_id"): 1619, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU2]
[11:31:15] [PUSH] Parsed message_id: 1619
[11:31:15] [PUSH] Parsed operation_type: 3
[11:31:15] [PUSH] Taking direct action: opType=3, messageId=1619
[11:31:15] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=1619
[11:31:15] [EVOLUTION_SEQ] ⏱️ t=1763289075.526 ▢️ Starting animation for message 1619
[11:31:15] [EVOLUTION] πŸ“‘ Fetching evolution data for message 1619
[11:31:15] [EVOLUTION] πŸ” Raw response (340 bytes): {"ok":true,"has_evolution":true,"message_id":1619,"evolution":{"events":[{"t":0,"op":"i","p":0,"c":"Y"},{"t":340,"p":1,"c":"o","op":"i"},{"t":491,"op":"i","c":"o","p":2},{"t":659,"p":3,"c":"o","op":"i
[11:31:15] [EVOLUTION] πŸ” Parsed JSON keys: ["created_at", "evolution", "has_evolution", "message_id", "ok"]
[11:31:15] [EVOLUTION] πŸ” has_evolution: 1
[11:31:15] [EVOLUTION] βœ… Got 7 events for message 1619
[11:31:15] [OVERLAP_FIX] πŸš€ Starting evolution - forcing initial height recalculation
[11:31:15] [UPDATE] πŸ”„ updateMessageCell(for: 1619) β€” full safe reload
[11:31:15] [ROWS] ===== updateMessageCell for 1619 β€” chatRows.count=51 =====
[11:31:15] [ROWS] 0: SEPARATOR
[11:31:15] [ROWS] 1: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=7
[11:31:15] [ROWS] 2: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:15] [ROWS] 3: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 4: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:31:15] [ROWS] 5: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:31:15] [ROWS] 6: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:15] [ROWS] 7: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:15] [ROWS] 8: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 9: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:15] [ROWS] 10: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:31:15] [ROWS] 11: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:31:15] [ROWS] 12: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:15] [ROWS] 13: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 14: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:31:15] [ROWS] 15: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:15] [ROWS] 16: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:15] [ROWS] 17: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:15] [ROWS] 18: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:15] [ROWS] 19: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:31:15] [ROWS] 20: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:15] [ROWS] 21: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:15] [ROWS] 22: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:15] [ROWS] 23: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:15] [ROWS] 24: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:31:15] [ROWS] 25: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:31:15] [ROWS] 26: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:31:15] [ROWS] 27: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:31:15] [ROWS] 28: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:15] [ROWS] 29: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:15] [ROWS] 30: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 31: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:15] [ROWS] 32: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 33: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:15] [ROWS] 34: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:15] [ROWS] 35: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:15] [ROWS] 36: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:15] [ROWS] 37: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:15] [ROWS] 38: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 39: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:15] [ROWS] 40: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 41: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:15] [ROWS] 42: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:31:15] [ROWS] 43: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 44: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 45: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:31:15] [ROWS] 46: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:15] [ROWS] 47: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:15] [ROWS] 48: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:15] [ROWS] 49: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:31:15] [ROWS] 50: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:31:15] [ROWS] ===== END (updateMessageCell for 1619) =====
[11:31:15] [HEIGHT_DEBUG] Row 1 msg 1619: isPlayingEvolution=true, textLength=0, text='...'
[11:31:15] [HEIGHT] Row 1 msg 1619: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:31:15] [HEIGHT_DEBUG] Row 2 msg 1618: isPlayingEvolution=false, textLength=7, text='Mmmmmme...'
[11:31:15] [HEIGHT] Row 2 msg 1618: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:31:15] [HEIGHT_DEBUG] Row 1 msg 1619: isPlayingEvolution=true, textLength=0, text='...'
[11:31:15] [HEIGHT] Row 1 msg 1619: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:31:15] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:31:15] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:31:15] [HEIGHT_DEBUG] Row 2 msg 1618: isPlayingEvolution=false, textLength=7, text='Mmmmmme...'
[11:31:15] [HEIGHT] Row 2 msg 1618: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:31:15] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [EVOLUTION] ▢️ Starting inline playback for message 1619 with 7 events
[11:31:15] [EVOLUTION] πŸ“ Event 0/7 - Text now: "Y..."
[11:31:15] [UPDATE] πŸ”„ updateMessageCell(for: 1619) β€” full safe reload
[11:31:15] [ROWS] ===== updateMessageCell for 1619 β€” chatRows.count=51 =====
[11:31:15] [ROWS] 0: SEPARATOR
[11:31:15] [ROWS] 1: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=1 textLen=7
[11:31:15] [ROWS] 2: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:15] [ROWS] 3: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 4: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:31:15] [ROWS] 5: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:31:15] [ROWS] 6: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:15] [ROWS] 7: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:15] [ROWS] 8: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 9: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:15] [ROWS] 10: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:31:15] [ROWS] 11: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:31:15] [ROWS] 12: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:15] [ROWS] 13: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 14: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:31:15] [ROWS] 15: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:15] [ROWS] 16: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:15] [ROWS] 17: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:15] [ROWS] 18: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:15] [ROWS] 19: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:31:15] [ROWS] 20: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:15] [ROWS] 21: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:15] [ROWS] 22: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:15] [ROWS] 23: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:15] [ROWS] 24: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:31:15] [ROWS] 25: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:31:15] [ROWS] 26: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:31:15] [ROWS] 27: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:31:15] [ROWS] 28: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:15] [ROWS] 29: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:15] [ROWS] 30: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 31: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:15] [ROWS] 32: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 33: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:15] [ROWS] 34: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:15] [ROWS] 35: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:15] [ROWS] 36: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:15] [ROWS] 37: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:15] [ROWS] 38: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 39: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:15] [ROWS] 40: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 41: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:15] [ROWS] 42: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:31:15] [ROWS] 43: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 44: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 45: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:31:15] [ROWS] 46: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:15] [ROWS] 47: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:15] [ROWS] 48: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:15] [ROWS] 49: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:31:15] [ROWS] 50: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:31:15] [ROWS] ===== END (updateMessageCell for 1619) =====
[11:31:15] [HEIGHT_DEBUG] Row 1 msg 1619: isPlayingEvolution=true, textLength=1, text='Y...'
[11:31:15] [HEIGHT] Row 1 msg 1619: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:31:15] [HEIGHT_DEBUG] Row 2 msg 1618: isPlayingEvolution=false, textLength=7, text='Mmmmmme...'
[11:31:15] [HEIGHT] Row 2 msg 1618: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:31:15] [HEIGHT_DEBUG] Row 1 msg 1619: isPlayingEvolution=true, textLength=1, text='Y...'
[11:31:15] [HEIGHT] Row 1 msg 1619: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:31:15] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:31:15] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [HEIGHT_DEBUG] Row 2 msg 1618: isPlayingEvolution=false, textLength=7, text='Mmmmmme...'
[11:31:15] [HEIGHT] Row 2 msg 1618: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:31:15] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [EVOLUTION] πŸ“ Event 1/7 - Text now: "Yo..."
[11:31:15] [UPDATE] πŸ”„ updateMessageCell(for: 1619) β€” full safe reload
[11:31:15] [ROWS] ===== updateMessageCell for 1619 β€” chatRows.count=51 =====
[11:31:15] [ROWS] 0: SEPARATOR
[11:31:15] [ROWS] 1: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=2 textLen=7
[11:31:15] [ROWS] 2: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:15] [ROWS] 3: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 4: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:31:15] [ROWS] 5: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:31:15] [ROWS] 6: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:15] [ROWS] 7: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:15] [ROWS] 8: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 9: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:15] [ROWS] 10: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:31:15] [ROWS] 11: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:31:15] [ROWS] 12: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:15] [ROWS] 13: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 14: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:31:15] [ROWS] 15: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:15] [ROWS] 16: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:15] [ROWS] 17: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:15] [ROWS] 18: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:15] [ROWS] 19: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:31:15] [ROWS] 20: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:15] [ROWS] 21: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:15] [ROWS] 22: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:15] [ROWS] 23: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:15] [ROWS] 24: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:31:15] [ROWS] 25: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:31:15] [ROWS] 26: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:31:15] [ROWS] 27: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:31:15] [ROWS] 28: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:15] [ROWS] 29: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:15] [ROWS] 30: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 31: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:15] [ROWS] 32: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 33: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:15] [ROWS] 34: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:15] [ROWS] 35: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:15] [ROWS] 36: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:15] [ROWS] 37: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:15] [ROWS] 38: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 39: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:15] [ROWS] 40: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 41: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:15] [ROWS] 42: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:31:15] [ROWS] 43: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 44: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:15] [ROWS] 45: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:31:15] [ROWS] 46: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:15] [ROWS] 47: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:15] [ROWS] 48: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:15] [ROWS] 49: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:31:15] [ROWS] 50: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:31:15] [ROWS] ===== END (updateMessageCell for 1619) =====
[11:31:15] [HEIGHT_DEBUG] Row 1 msg 1619: isPlayingEvolution=true, textLength=2, text='Yo...'
[11:31:15] [HEIGHT] Row 1 msg 1619: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:31:15] [HEIGHT_DEBUG] Row 2 msg 1618: isPlayingEvolution=false, textLength=7, text='Mmmmmme...'
[11:31:15] [HEIGHT] Row 2 msg 1618: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:31:15] [HEIGHT_DEBUG] Row 1 msg 1619: isPlayingEvolution=true, textLength=2, text='Yo...'
[11:31:15] [HEIGHT] Row 1 msg 1619: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:31:15] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:31:15] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [HEIGHT_DEBUG] Row 2 msg 1618: isPlayingEvolution=false, textLength=7, text='Mmmmmme...'
[11:31:15] [HEIGHT] Row 2 msg 1618: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:31:15] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:15] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:15] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:15] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [EVOLUTION] πŸ“ Event 2/7 - Text now: "Yoo..."
[11:31:16] [UPDATE] πŸ”„ updateMessageCell(for: 1619) β€” full safe reload
[11:31:16] [ROWS] ===== updateMessageCell for 1619 β€” chatRows.count=51 =====
[11:31:16] [ROWS] 0: SEPARATOR
[11:31:16] [ROWS] 1: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=3 textLen=7
[11:31:16] [ROWS] 2: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:16] [ROWS] 3: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:16] [ROWS] 4: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:31:16] [ROWS] 5: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:31:16] [ROWS] 6: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:16] [ROWS] 7: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:16] [ROWS] 8: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:16] [ROWS] 9: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:16] [ROWS] 10: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:31:16] [ROWS] 11: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:31:16] [ROWS] 12: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:16] [ROWS] 13: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:16] [ROWS] 14: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:31:16] [ROWS] 15: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:16] [ROWS] 16: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:16] [ROWS] 17: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:16] [ROWS] 18: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:16] [ROWS] 19: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:31:16] [ROWS] 20: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:16] [ROWS] 21: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:16] [ROWS] 22: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:16] [ROWS] 23: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:16] [ROWS] 24: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:31:16] [ROWS] 25: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:31:16] [ROWS] 26: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:31:16] [ROWS] 27: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:31:16] [ROWS] 28: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:16] [ROWS] 29: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:16] [ROWS] 30: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:16] [ROWS] 31: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:16] [ROWS] 32: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:16] [ROWS] 33: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:16] [ROWS] 34: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:16] [ROWS] 35: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:16] [ROWS] 36: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:16] [ROWS] 37: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:16] [ROWS] 38: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:16] [ROWS] 39: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:16] [ROWS] 40: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:16] [ROWS] 41: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:16] [ROWS] 42: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:31:16] [ROWS] 43: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:16] [ROWS] 44: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:16] [ROWS] 45: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:31:16] [ROWS] 46: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:16] [ROWS] 47: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:16] [ROWS] 48: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:16] [ROWS] 49: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:31:16] [ROWS] 50: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:31:16] [ROWS] ===== END (updateMessageCell for 1619) =====
[11:31:16] [HEIGHT_DEBUG] Row 1 msg 1619: isPlayingEvolution=true, textLength=3, text='Yoo...'
[11:31:16] [HEIGHT] Row 1 msg 1619: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:31:16] [HEIGHT_DEBUG] Row 2 msg 1618: isPlayingEvolution=false, textLength=7, text='Mmmmmme...'
[11:31:16] [HEIGHT] Row 2 msg 1618: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:31:16] [HEIGHT_DEBUG] Row 1 msg 1619: isPlayingEvolution=true, textLength=3, text='Yoo...'
[11:31:16] [HEIGHT] Row 1 msg 1619: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:31:16] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:31:16] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [HEIGHT_DEBUG] Row 2 msg 1618: isPlayingEvolution=false, textLength=7, text='Mmmmmme...'
[11:31:16] [HEIGHT] Row 2 msg 1618: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:31:16] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [EVOLUTION] πŸ“ Event 3/7 - Text now: "Yooo..."
[11:31:16] [UPDATE] πŸ”„ updateMessageCell(for: 1619) β€” full safe reload
[11:31:16] [ROWS] ===== updateMessageCell for 1619 β€” chatRows.count=51 =====
[11:31:16] [ROWS] 0: SEPARATOR
[11:31:16] [ROWS] 1: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=4 textLen=7
[11:31:16] [ROWS] 2: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:16] [ROWS] 3: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:16] [ROWS] 4: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:31:16] [ROWS] 5: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:31:16] [ROWS] 6: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:16] [ROWS] 7: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:16] [ROWS] 8: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:16] [ROWS] 9: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:16] [ROWS] 10: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:31:16] [ROWS] 11: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:31:16] [ROWS] 12: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:16] [ROWS] 13: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:16] [ROWS] 14: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:31:16] [ROWS] 15: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:16] [ROWS] 16: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:16] [ROWS] 17: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:16] [ROWS] 18: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:16] [ROWS] 19: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:31:16] [ROWS] 20: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:16] [ROWS] 21: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:16] [ROWS] 22: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:16] [ROWS] 23: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:16] [ROWS] 24: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:31:16] [ROWS] 25: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:31:16] [ROWS] 26: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:31:16] [ROWS] 27: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:31:16] [ROWS] 28: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:16] [ROWS] 29: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:16] [ROWS] 30: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:16] [ROWS] 31: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:16] [ROWS] 32: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:16] [ROWS] 33: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:16] [ROWS] 34: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:16] [ROWS] 35: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:16] [ROWS] 36: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:16] [ROWS] 37: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:16] [ROWS] 38: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:16] [ROWS] 39: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:16] [ROWS] 40: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:16] [ROWS] 41: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:16] [ROWS] 42: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:31:16] [ROWS] 43: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:16] [ROWS] 44: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:16] [ROWS] 45: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:31:16] [ROWS] 46: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:16] [ROWS] 47: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:16] [ROWS] 48: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:16] [ROWS] 49: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:31:16] [ROWS] 50: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:31:16] [ROWS] ===== END (updateMessageCell for 1619) =====
[11:31:16] [HEIGHT_DEBUG] Row 1 msg 1619: isPlayingEvolution=true, textLength=4, text='Yooo...'
[11:31:16] [HEIGHT] Row 1 msg 1619: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:31:16] [HEIGHT_DEBUG] Row 2 msg 1618: isPlayingEvolution=false, textLength=7, text='Mmmmmme...'
[11:31:16] [HEIGHT] Row 2 msg 1618: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:31:16] [HEIGHT_DEBUG] Row 1 msg 1619: isPlayingEvolution=true, textLength=4, text='Yooo...'
[11:31:16] [HEIGHT] Row 1 msg 1619: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:31:16] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:31:16] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [HEIGHT_DEBUG] Row 2 msg 1618: isPlayingEvolution=false, textLength=7, text='Mmmmmme...'
[11:31:16] [HEIGHT] Row 2 msg 1618: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:31:16] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [EVOLUTION] πŸ“ Event 4/7 - Text now: "Yoooo..."
[11:31:16] [UPDATE] πŸ”„ updateMessageCell(for: 1619) β€” full safe reload
[11:31:16] [ROWS] ===== updateMessageCell for 1619 β€” chatRows.count=51 =====
[11:31:16] [ROWS] 0: SEPARATOR
[11:31:16] [ROWS] 1: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=5 textLen=7
[11:31:16] [ROWS] 2: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:16] [ROWS] 3: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:16] [ROWS] 4: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:31:16] [ROWS] 5: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:31:16] [ROWS] 6: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:16] [ROWS] 7: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:16] [ROWS] 8: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:16] [ROWS] 9: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:16] [ROWS] 10: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:31:16] [ROWS] 11: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:31:16] [ROWS] 12: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:16] [ROWS] 13: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:16] [ROWS] 14: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:31:16] [ROWS] 15: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:16] [ROWS] 16: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:16] [ROWS] 17: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:16] [ROWS] 18: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:16] [ROWS] 19: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:31:16] [ROWS] 20: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:16] [ROWS] 21: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:16] [ROWS] 22: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:16] [ROWS] 23: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:16] [ROWS] 24: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:31:16] [ROWS] 25: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:31:16] [ROWS] 26: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:31:16] [ROWS] 27: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:31:16] [ROWS] 28: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:16] [ROWS] 29: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:16] [ROWS] 30: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:16] [ROWS] 31: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:16] [ROWS] 32: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:16] [ROWS] 33: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:16] [ROWS] 34: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:16] [ROWS] 35: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:16] [ROWS] 36: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:16] [ROWS] 37: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:16] [ROWS] 38: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:16] [ROWS] 39: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:16] [ROWS] 40: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:16] [ROWS] 41: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:16] [ROWS] 42: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:31:16] [ROWS] 43: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:16] [ROWS] 44: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:16] [ROWS] 45: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:31:16] [ROWS] 46: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:16] [ROWS] 47: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:16] [ROWS] 48: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:16] [ROWS] 49: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:31:16] [ROWS] 50: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:31:16] [ROWS] ===== END (updateMessageCell for 1619) =====
[11:31:16] [HEIGHT_DEBUG] Row 1 msg 1619: isPlayingEvolution=true, textLength=5, text='Yoooo...'
[11:31:16] [HEIGHT] Row 1 msg 1619: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:31:16] [HEIGHT_DEBUG] Row 2 msg 1618: isPlayingEvolution=false, textLength=7, text='Mmmmmme...'
[11:31:16] [HEIGHT] Row 2 msg 1618: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:31:16] [HEIGHT_DEBUG] Row 1 msg 1619: isPlayingEvolution=true, textLength=5, text='Yoooo...'
[11:31:16] [HEIGHT] Row 1 msg 1619: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:31:16] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:31:16] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [HEIGHT_DEBUG] Row 2 msg 1618: isPlayingEvolution=false, textLength=7, text='Mmmmmme...'
[11:31:16] [HEIGHT] Row 2 msg 1618: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:31:16] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:31:16] Will get events_php
[11:31:16] [TYPING] πŸ”„ ========== POLL START ==========
[11:31:16] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:31:16] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:31:16] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:31:16] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:31:16] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:31:16] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:31:16] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok, "sessionId": ILUIWU2]
[11:31:16] [TYPING] πŸ“₯ Found 0 typing users in response
[11:31:16] [TYPING] πŸ“₯ Updating typing users SET: []
[11:31:16] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:31:16] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:31:16] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:31:16] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:31:16] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:31:16] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:31:16] [TYPING] πŸ”„ ========== POLL END ==========
[11:31:16] [EVT] get_events.php HTTP 200
── Response Headers ──
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Keep-Alive: timeout=5, max=94
Content-Type: application/json; charset=utf-8
Content-Length: 430
Date: Sun, 16 Nov 2025 10:31:16 GMT
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":5,"events":[{"event_id":10714,"event_type":3,"message_id":1618,"session_id":"ILUIWU2"},{"event_id":10715,"event_type":3,"message_id":1618,"session_id":"ILUIWU2"},{"event_id":10717,"event_type":3,"message_id":1619,"session_id":"ILUIWU2"},{"event_id":10718,"event_type":3,"message_id":1619,"session_id":"ILUIWU2"},{"event_id":10719,"event_type":3,"message_id":1619,"session_id":"ILUIWU2"}]}
[11:31:16] Done
[11:31:16] [EVOLUTION] πŸ“ Event 5/7 - Text now: "Yooooo..."
[11:31:16] [UPDATE] πŸ”„ updateMessageCell(for: 1619) β€” full safe reload
[11:31:16] [ROWS] ===== updateMessageCell for 1619 β€” chatRows.count=51 =====
[11:31:16] [ROWS] 0: SEPARATOR
[11:31:16] [ROWS] 1: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=6 textLen=7
[11:31:16] [ROWS] 2: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:16] [ROWS] 3: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:16] [ROWS] 4: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:31:16] [ROWS] 5: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:31:16] [ROWS] 6: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:16] [ROWS] 7: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:16] [ROWS] 8: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:16] [ROWS] 9: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:16] [ROWS] 10: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:31:16] [ROWS] 11: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:31:16] [ROWS] 12: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:16] [ROWS] 13: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:16] [ROWS] 14: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:31:16] [ROWS] 15: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:16] [ROWS] 16: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:16] [ROWS] 17: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:16] [ROWS] 18: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:16] [ROWS] 19: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:31:16] [ROWS] 20: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:16] [ROWS] 21: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:16] [ROWS] 22: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:16] [ROWS] 23: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:16] [ROWS] 24: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:31:16] [ROWS] 25: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:31:16] [ROWS] 26: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:31:16] [ROWS] 27: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:31:16] [ROWS] 28: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:16] [ROWS] 29: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:16] [ROWS] 30: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:16] [ROWS] 31: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:16] [ROWS] 32: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:16] [ROWS] 33: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:16] [ROWS] 34: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:16] [ROWS] 35: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:16] [ROWS] 36: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:16] [ROWS] 37: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:16] [ROWS] 38: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:16] [ROWS] 39: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:16] [ROWS] 40: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:16] [ROWS] 41: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:16] [ROWS] 42: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:31:16] [ROWS] 43: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:16] [ROWS] 44: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:16] [ROWS] 45: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:31:16] [ROWS] 46: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:16] [ROWS] 47: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:16] [ROWS] 48: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:16] [ROWS] 49: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:31:16] [ROWS] 50: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:31:16] [ROWS] ===== END (updateMessageCell for 1619) =====
[11:31:16] [HEIGHT_DEBUG] Row 1 msg 1619: isPlayingEvolution=true, textLength=6, text='Yooooo...'
[11:31:16] [HEIGHT] Row 1 msg 1619: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:31:16] [HEIGHT_DEBUG] Row 2 msg 1618: isPlayingEvolution=false, textLength=7, text='Mmmmmme...'
[11:31:16] [HEIGHT] Row 2 msg 1618: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:31:16] [HEIGHT_DEBUG] Row 1 msg 1619: isPlayingEvolution=true, textLength=6, text='Yooooo...'
[11:31:16] [HEIGHT] Row 1 msg 1619: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:31:16] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:31:16] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [HEIGHT_DEBUG] Row 2 msg 1618: isPlayingEvolution=false, textLength=7, text='Mmmmmme...'
[11:31:16] [HEIGHT] Row 2 msg 1618: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:31:16] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [EVOLUTION] πŸ“ Event 6/7 - Text now: "Yooooou..."
[11:31:16] [UPDATE] πŸ”„ updateMessageCell(for: 1619) β€” full safe reload
[11:31:16] [ROWS] ===== updateMessageCell for 1619 β€” chatRows.count=51 =====
[11:31:16] [ROWS] 0: SEPARATOR
[11:31:16] [ROWS] 1: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=7 textLen=7
[11:31:16] [ROWS] 2: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:16] [ROWS] 3: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:16] [ROWS] 4: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:31:16] [ROWS] 5: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:31:16] [ROWS] 6: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:16] [ROWS] 7: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:16] [ROWS] 8: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:16] [ROWS] 9: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:16] [ROWS] 10: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:31:16] [ROWS] 11: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:31:16] [ROWS] 12: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:16] [ROWS] 13: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:16] [ROWS] 14: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:31:16] [ROWS] 15: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:16] [ROWS] 16: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:16] [ROWS] 17: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:16] [ROWS] 18: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:16] [ROWS] 19: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:31:16] [ROWS] 20: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:16] [ROWS] 21: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:16] [ROWS] 22: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:16] [ROWS] 23: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:16] [ROWS] 24: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:31:16] [ROWS] 25: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:31:16] [ROWS] 26: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:31:16] [ROWS] 27: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:31:16] [ROWS] 28: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:16] [ROWS] 29: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:16] [ROWS] 30: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:16] [ROWS] 31: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:16] [ROWS] 32: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:16] [ROWS] 33: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:16] [ROWS] 34: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:16] [ROWS] 35: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:16] [ROWS] 36: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:16] [ROWS] 37: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:16] [ROWS] 38: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:16] [ROWS] 39: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:16] [ROWS] 40: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:16] [ROWS] 41: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:16] [ROWS] 42: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:31:16] [ROWS] 43: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:16] [ROWS] 44: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:16] [ROWS] 45: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:31:16] [ROWS] 46: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:16] [ROWS] 47: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:16] [ROWS] 48: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:16] [ROWS] 49: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:31:16] [ROWS] 50: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:31:16] [ROWS] ===== END (updateMessageCell for 1619) =====
[11:31:16] [HEIGHT_DEBUG] Row 1 msg 1619: isPlayingEvolution=true, textLength=7, text='Yooooou...'
[11:31:16] [HEIGHT] Row 1 msg 1619: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:31:16] [HEIGHT_DEBUG] Row 2 msg 1618: isPlayingEvolution=false, textLength=7, text='Mmmmmme...'
[11:31:16] [HEIGHT] Row 2 msg 1618: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:31:16] [HEIGHT_DEBUG] Row 1 msg 1619: isPlayingEvolution=true, textLength=7, text='Yooooou...'
[11:31:16] [HEIGHT] Row 1 msg 1619: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:31:16] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:31:16] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [HEIGHT_DEBUG] Row 2 msg 1618: isPlayingEvolution=false, textLength=7, text='Mmmmmme...'
[11:31:16] [HEIGHT] Row 2 msg 1618: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:31:16] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [EVOLUTION_SEQ] ⏱️ t=1763289076.839 βœ… Finished message 1619 - duration=1.63s, length=7 chars, speed=4 chars/s
[11:31:16] [UPDATE] πŸ”„ updateMessageCell(for: 1619) β€” full safe reload
[11:31:16] [ROWS] ===== updateMessageCell for 1619 β€” chatRows.count=51 =====
[11:31:16] [ROWS] 0: SEPARATOR
[11:31:16] [ROWS] 1: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=7 textLen=7
[11:31:16] [ROWS] 2: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:16] [ROWS] 3: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:16] [ROWS] 4: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:31:16] [ROWS] 5: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:31:16] [ROWS] 6: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:16] [ROWS] 7: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:16] [ROWS] 8: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:16] [ROWS] 9: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:16] [ROWS] 10: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:31:16] [ROWS] 11: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:31:16] [ROWS] 12: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:16] [ROWS] 13: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:16] [ROWS] 14: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:31:16] [ROWS] 15: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:16] [ROWS] 16: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:16] [ROWS] 17: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:16] [ROWS] 18: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:16] [ROWS] 19: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:31:16] [ROWS] 20: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:16] [ROWS] 21: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:16] [ROWS] 22: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:16] [ROWS] 23: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:16] [ROWS] 24: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:31:16] [ROWS] 25: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:31:16] [ROWS] 26: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:31:16] [ROWS] 27: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:31:16] [ROWS] 28: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:16] [ROWS] 29: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:16] [ROWS] 30: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:16] [ROWS] 31: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:16] [ROWS] 32: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:16] [ROWS] 33: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:16] [ROWS] 34: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:16] [ROWS] 35: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:16] [ROWS] 36: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:16] [ROWS] 37: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:31:16] [ROWS] 38: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:16] [ROWS] 39: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:31:16] [ROWS] 40: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:16] [ROWS] 41: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:31:16] [ROWS] 42: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:31:16] [ROWS] 43: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:16] [ROWS] 44: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:31:16] [ROWS] 45: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:31:16] [ROWS] 46: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:16] [ROWS] 47: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:31:16] [ROWS] 48: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:31:16] [ROWS] 49: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:31:16] [ROWS] 50: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:31:16] [ROWS] ===== END (updateMessageCell for 1619) =====
[11:31:16] [HEIGHT_DEBUG] Row 1 msg 1619: isPlayingEvolution=false, textLength=7, text='Yooooou...'
[11:31:16] [HEIGHT] Row 1 msg 1619: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:31:16] [HEIGHT_DEBUG] Row 2 msg 1618: isPlayingEvolution=false, textLength=7, text='Mmmmmme...'
[11:31:16] [HEIGHT] Row 2 msg 1618: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:31:16] [HEIGHT_DEBUG] Row 1 msg 1619: isPlayingEvolution=false, textLength=7, text='Yooooou...'
[11:31:16] [HEIGHT] Row 1 msg 1619: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:31:16] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:31:16] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [HEIGHT_DEBUG] Row 2 msg 1618: isPlayingEvolution=false, textLength=7, text='Mmmmmme...'
[11:31:16] [HEIGHT] Row 2 msg 1618: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:31:16] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:31:16] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:31:16] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:31:16] [EVOLUTION_SEQ] ⏱️ t=1763289076.853 βœ… All queued messages have been played
[11:31:18] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:31:18] Will get events_php
[11:31:18] [TYPING] πŸ”„ ========== POLL START ==========
[11:31:18] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:31:18] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:31:18] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:31:18] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:31:18] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:31:18] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:31:18] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:31:18] [TYPING] πŸ“₯ Found 0 typing users in response
[11:31:18] [TYPING] πŸ“₯ Updating typing users SET: []
[11:31:18] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:31:18] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:31:18] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:31:18] [EVT] get_events.php HTTP 200
── Response Headers ──
Keep-Alive: timeout=5, max=92
Date: Sun, 16 Nov 2025 10:31:18 GMT
Content-Type: application/json; charset=utf-8
X-Powered-By: PHP/8.4.14
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Content-Length: 56
Connection: Keep-Alive
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:31:18] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:31:18] Done
[11:31:18] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:31:18] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:31:18] [TYPING] πŸ”„ ========== POLL END ==========
[11:31:18] Main
[11:31:19] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:31:19] [INFO_PAGE] Found 434 messages for session 'ILUIWU2'
[11:31:19] [INFO_PAGE] Total messages in database: 1200
[11:31:20] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:31:20] Will get events_php
[11:31:20] [TYPING] πŸ”„ ========== POLL START ==========
[11:31:20] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:31:20] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:31:20] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:31:20] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:31:20] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:31:20] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:31:20] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:31:20] [TYPING] πŸ“₯ Found 0 typing users in response
[11:31:20] [TYPING] πŸ“₯ Updating typing users SET: []
[11:31:20] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:31:20] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:31:20] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:31:20] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:31:20] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:31:20] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:31:20] [TYPING] πŸ”„ ========== POLL END ==========
[11:31:20] [EVT] get_events.php HTTP 200
── Response Headers ──
Keep-Alive: timeout=5, max=90
Date: Sun, 16 Nov 2025 10:31:20 GMT
Content-Type: application/json; charset=utf-8
X-Powered-By: PHP/8.4.14
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Content-Length: 56
Connection: Keep-Alive
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:31:20] Done
[11:31:20] Main
[11:31:22] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:31:22] Will get events_php
[11:31:22] [TYPING] πŸ”„ ========== POLL START ==========
[11:31:22] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:31:22] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:31:22] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:31:22] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:31:22] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:31:22] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:31:22] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:31:22] [TYPING] πŸ“₯ Found 0 typing users in response
[11:31:22] [TYPING] πŸ“₯ Updating typing users SET: []
[11:31:22] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:31:22] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:31:22] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:31:22] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:31:22] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:31:22] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:31:22] [TYPING] πŸ”„ ========== POLL END ==========
[11:31:22] [EVT] get_events.php HTTP 200
── Response Headers ──
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Keep-Alive: timeout=5, max=89
Content-Type: application/json; charset=utf-8
Content-Length: 56
Date: Sun, 16 Nov 2025 10:31:22 GMT
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:31:22] Done
[11:31:22] Main
[11:31:24] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:31:24] [INFO_PAGE] Found 434 messages for session 'ILUIWU2'
[11:31:24] [INFO_PAGE] Total messages in database: 1200
[11:31:24] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:31:24] Will get events_php
[11:31:24] [TYPING] πŸ”„ ========== POLL START ==========
[11:31:24] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:31:24] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:31:24] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:31:24] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:31:24] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:31:24] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:31:24] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:31:24] [TYPING] πŸ“₯ Found 0 typing users in response
[11:31:24] [TYPING] πŸ“₯ Updating typing users SET: []
[11:31:24] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:31:24] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:31:24] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:31:24] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:31:24] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:31:24] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:31:24] [TYPING] πŸ”„ ========== POLL END ==========
[11:31:24] [EVT] get_events.php HTTP 200
── Response Headers ──
Keep-Alive: timeout=5, max=87
Date: Sun, 16 Nov 2025 10:31:24 GMT
Content-Type: application/json; charset=utf-8
X-Powered-By: PHP/8.4.14
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Content-Length: 56
Connection: Keep-Alive
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:31:24] Done
[11:31:24] Main
[11:31:26] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:31:26] Will get events_php
[11:31:26] [TYPING] πŸ”„ ========== POLL START ==========
[11:31:26] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:31:26] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:31:26] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:31:26] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:31:26] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:31:26] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:31:26] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:31:26] [TYPING] πŸ“₯ Found 0 typing users in response
[11:31:26] [TYPING] πŸ“₯ Updating typing users SET: []
[11:31:26] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:31:26] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:31:26] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:31:26] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:31:26] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:31:26] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:31:26] [TYPING] πŸ”„ ========== POLL END ==========
[11:31:26] [EVT] get_events.php HTTP 200
── Response Headers ──
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Keep-Alive: timeout=5, max=86
Content-Type: application/json; charset=utf-8
Content-Length: 56
Date: Sun, 16 Nov 2025 10:31:26 GMT
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:31:26] Done
[11:31:26] Main
[11:31:28] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:31:28] Will get events_php
[11:31:28] [TYPING] πŸ”„ ========== POLL START ==========
[11:31:28] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:31:28] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:31:28] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:31:28] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:31:28] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:31:28] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:31:28] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:31:28] [TYPING] πŸ“₯ Found 0 typing users in response
[11:31:28] [TYPING] πŸ“₯ Updating typing users SET: []
[11:31:28] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:31:28] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:31:28] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:31:28] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:31:28] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:31:28] [EVT] get_events.php HTTP 200
── Response Headers ──
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Keep-Alive: timeout=5, max=85
Content-Type: application/json; charset=utf-8
Content-Length: 56
Date: Sun, 16 Nov 2025 10:31:28 GMT
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:31:28] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:31:28] [TYPING] πŸ”„ ========== POLL END ==========
[11:31:28] Done
[11:31:28] Main
[11:31:29] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:31:29] [INFO_PAGE] Found 434 messages for session 'ILUIWU2'
[11:31:29] [INFO_PAGE] Total messages in database: 1200
[11:31:30] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:31:30] Will get events_php
[11:31:30] [TYPING] πŸ”„ ========== POLL START ==========
[11:31:30] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:31:30] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:31:30] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:31:30] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:31:30] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:31:30] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:31:30] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2, "status": ok]
[11:31:30] [TYPING] πŸ“₯ Found 0 typing users in response
[11:31:30] [TYPING] πŸ“₯ Updating typing users SET: []
[11:31:30] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:31:30] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:31:30] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:31:30] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:31:30] [EVT] get_events.php HTTP 200
── Response Headers ──
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Keep-Alive: timeout=5, max=83
Content-Type: application/json; charset=utf-8
Content-Length: 56
Date: Sun, 16 Nov 2025 10:31:30 GMT
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:31:30] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:31:30] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:31:30] Done
[11:31:30] [TYPING] πŸ”„ ========== POLL END ==========
[11:31:30] Main
[11:31:32] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:31:32] Will get events_php
[11:31:32] [TYPING] πŸ”„ ========== POLL START ==========
[11:31:32] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:31:32] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:31:32] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:31:32] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:31:32] [EVT] get_events.php HTTP 200
── Response Headers ──
Keep-Alive: timeout=5, max=82
Date: Sun, 16 Nov 2025 10:31:32 GMT
Content-Type: application/json; charset=utf-8
X-Powered-By: PHP/8.4.14
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Content-Length: 56
Connection: Keep-Alive
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:31:32] Done
[11:31:32] Main
[11:31:32] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:31:32] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:31:32] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok]
[11:31:32] [TYPING] πŸ“₯ Found 0 typing users in response
[11:31:32] [TYPING] πŸ“₯ Updating typing users SET: []
[11:31:32] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:31:32] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:31:32] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:31:32] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:31:32] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:31:32] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:31:32] [TYPING] πŸ”„ ========== POLL END ==========
[11:31:34] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:31:34] [INFO_PAGE] Found 434 messages for session 'ILUIWU2'
[11:31:34] [INFO_PAGE] Total messages in database: 1200
[11:31:34] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:31:34] Will get events_php
[11:31:34] [TYPING] πŸ”„ ========== POLL START ==========
[11:31:34] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:31:34] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:31:34] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:31:34] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:31:34] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:31:34] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:31:34] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:31:34] [TYPING] πŸ“₯ Found 0 typing users in response
[11:31:34] [TYPING] πŸ“₯ Updating typing users SET: []
[11:31:34] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:31:34] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:31:34] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:31:34] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:31:34] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:31:34] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:31:34] [TYPING] πŸ”„ ========== POLL END ==========
[11:31:34] [EVT] get_events.php HTTP 200
── Response Headers ──
Keep-Alive: timeout=5, max=100
Date: Sun, 16 Nov 2025 10:31:34 GMT
Content-Type: application/json; charset=utf-8
X-Powered-By: PHP/8.4.14
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Content-Length: 56
Connection: Keep-Alive
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:31:34] Done
[11:31:34] Main
[11:31:36] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:31:36] Will get events_php
[11:31:36] [TYPING] πŸ”„ ========== POLL START ==========
[11:31:36] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:31:36] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:31:36] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:31:36] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:31:36] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:31:36] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:31:36] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2]
[11:31:36] [TYPING] πŸ“₯ Found 0 typing users in response
[11:31:36] [TYPING] πŸ“₯ Updating typing users SET: []
[11:31:36] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:31:36] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:31:36] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:31:36] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:31:36] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:31:36] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:31:36] [TYPING] πŸ”„ ========== POLL END ==========
[11:31:36] [EVT] get_events.php HTTP 200
── Response Headers ──
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Keep-Alive: timeout=5, max=80
Content-Type: application/json; charset=utf-8
Content-Length: 56
Date: Sun, 16 Nov 2025 10:31:36 GMT
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:31:36] Main
[11:31:36] Done
[11:31:38] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:31:38] Will get events_php
[11:31:38] [TYPING] πŸ”„ ========== POLL START ==========
[11:31:38] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:31:38] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:31:38] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:31:38] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:31:38] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:31:38] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:31:38] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok, "sessionId": ILUIWU2]
[11:31:38] [TYPING] πŸ“₯ Found 0 typing users in response
[11:31:38] [TYPING] πŸ“₯ Updating typing users SET: []
[11:31:38] [EVT] get_events.php HTTP 200
── Response Headers ──
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Keep-Alive: timeout=5, max=79
Content-Type: application/json; charset=utf-8
Content-Length: 56
Date: Sun, 16 Nov 2025 10:31:38 GMT
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:31:38] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:31:38] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:31:38] Done
[11:31:38] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:31:38] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:31:38] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:31:38] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:31:38] [TYPING] πŸ”„ ========== POLL END ==========
[11:31:38] Main
[11:31:39] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:31:39] [INFO_PAGE] Found 434 messages for session 'ILUIWU2'
[11:31:39] [INFO_PAGE] Total messages in database: 1200
[11:31:40] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:31:40] Will get events_php
[11:31:40] [TYPING] πŸ”„ ========== POLL START ==========
[11:31:40] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:31:40] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:31:40] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:31:40] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:31:40] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:31:40] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:31:40] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:31:40] [TYPING] πŸ“₯ Found 0 typing users in response
[11:31:40] [TYPING] πŸ“₯ Updating typing users SET: []
[11:31:40] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:31:40] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:31:40] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:31:40] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:31:40] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:31:40] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:31:40] [TYPING] πŸ”„ ========== POLL END ==========
[11:31:40] [EVT] get_events.php HTTP 200
── Response Headers ──
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Keep-Alive: timeout=5, max=77
Content-Type: application/json; charset=utf-8
Content-Length: 56
Date: Sun, 16 Nov 2025 10:31:40 GMT
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:31:40] Done
[11:31:40] Main
[11:31:42] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:31:42] Will get events_php
[11:31:42] [TYPING] πŸ”„ ========== POLL START ==========
[11:31:42] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:31:42] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:31:42] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:31:42] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:31:42] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:31:42] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:31:42] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:31:42] [TYPING] πŸ“₯ Found 0 typing users in response
[11:31:42] [TYPING] πŸ“₯ Updating typing users SET: []
[11:31:42] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:31:42] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:31:42] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:31:42] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:31:42] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:31:42] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:31:42] [TYPING] πŸ”„ ========== POLL END ==========
[11:31:42] [EVT] get_events.php HTTP 200
── Response Headers ──
Keep-Alive: timeout=5, max=76
Date: Sun, 16 Nov 2025 10:31:42 GMT
Content-Type: application/json; charset=utf-8
X-Powered-By: PHP/8.4.14
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Content-Length: 56
Connection: Keep-Alive
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:31:42] Done
[11:31:42] Main
[11:31:44] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:31:44] [INFO_PAGE] Found 434 messages for session 'ILUIWU2'
[11:31:44] [INFO_PAGE] Total messages in database: 1200
[11:31:44] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:31:44] Will get events_php
[11:31:44] [TYPING] πŸ”„ ========== POLL START ==========
[11:31:44] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:31:44] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:31:44] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:31:44] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:31:44] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:31:44] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:31:44] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2, "status": ok]
[11:31:44] [TYPING] πŸ“₯ Found 0 typing users in response
[11:31:44] [TYPING] πŸ“₯ Updating typing users SET: []
[11:31:44] [EVT] get_events.php HTTP 200
── Response Headers ──
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Keep-Alive: timeout=5, max=74
Content-Type: application/json; charset=utf-8
Content-Length: 56
Date: Sun, 16 Nov 2025 10:31:44 GMT
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:31:44] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:31:44] Done
[11:31:44] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:31:44] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:31:44] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:31:44] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:31:44] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:31:44] [TYPING] πŸ”„ ========== POLL END ==========
[11:31:44] Main
[11:31:46] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:31:46] Will get events_php
[11:31:46] [TYPING] πŸ”„ ========== POLL START ==========
[11:31:46] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:31:46] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:31:46] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:31:46] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:31:46] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:31:46] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:31:46] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok, "sessionId": ILUIWU2]
[11:31:46] [TYPING] πŸ“₯ Found 0 typing users in response
[11:31:46] [TYPING] πŸ“₯ Updating typing users SET: []
[11:31:46] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:31:46] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:31:46] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:31:46] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:31:46] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:31:46] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:31:46] [TYPING] πŸ”„ ========== POLL END ==========
[11:31:46] [EVT] get_events.php HTTP 200
── Response Headers ──
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Keep-Alive: timeout=5, max=73
Content-Type: application/json; charset=utf-8
Content-Length: 56
Date: Sun, 16 Nov 2025 10:31:46 GMT
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:31:46] Done
[11:31:46] Main
[11:31:48] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:31:48] Will get events_php
[11:31:48] [TYPING] πŸ”„ ========== POLL START ==========
[11:31:48] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:31:48] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:31:48] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:31:48] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:31:48] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:31:48] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:31:48] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:31:48] [TYPING] πŸ“₯ Found 0 typing users in response
[11:31:48] [TYPING] πŸ“₯ Updating typing users SET: []
[11:31:48] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:31:48] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:31:48] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:31:48] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:31:48] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:31:48] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:31:48] [TYPING] πŸ”„ ========== POLL END ==========
[11:31:48] [EVT] get_events.php HTTP 200
── Response Headers ──
Keep-Alive: timeout=5, max=72
Date: Sun, 16 Nov 2025 10:31:48 GMT
Content-Type: application/json; charset=utf-8
X-Powered-By: PHP/8.4.14
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Content-Length: 56
Connection: Keep-Alive
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:31:48] Done
[11:31:48] Main
[11:31:49] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:31:49] [INFO_PAGE] Found 434 messages for session 'ILUIWU2'
[11:31:49] [INFO_PAGE] Total messages in database: 1200
[11:31:50] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:31:50] Will get events_php
[11:31:50] [TYPING] πŸ”„ ========== POLL START ==========
[11:31:50] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:31:50] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:31:50] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:31:50] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:31:50] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:31:50] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:31:50] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:31:50] [TYPING] πŸ“₯ Found 0 typing users in response
[11:31:50] [TYPING] πŸ“₯ Updating typing users SET: []
[11:31:50] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:31:50] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:31:50] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:31:50] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:31:50] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:31:50] [EVT] get_events.php HTTP 200
── Response Headers ──
Keep-Alive: timeout=5, max=70
Date: Sun, 16 Nov 2025 10:31:50 GMT
Content-Type: application/json; charset=utf-8
X-Powered-By: PHP/8.4.14
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Content-Length: 56
Connection: Keep-Alive
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:31:50] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:31:50] [TYPING] πŸ”„ ========== POLL END ==========
[11:31:50] Done
[11:31:50] Main
[11:31:52] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:31:52] Will get events_php
[11:31:52] [TYPING] πŸ”„ ========== POLL START ==========
[11:31:52] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:31:52] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:31:52] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:31:52] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:31:52] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:31:52] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:31:52] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok]
[11:31:52] [TYPING] πŸ“₯ Found 0 typing users in response
[11:31:52] [TYPING] πŸ“₯ Updating typing users SET: []
[11:31:52] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:31:52] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:31:52] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:31:52] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:31:52] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:31:52] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:31:52] [TYPING] πŸ”„ ========== POLL END ==========
[11:31:52] [EVT] get_events.php HTTP 200
── Response Headers ──
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Keep-Alive: timeout=5, max=69
Content-Type: application/json; charset=utf-8
Content-Length: 56
Date: Sun, 16 Nov 2025 10:31:52 GMT
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:31:52] Done
[11:31:52] Main
[11:31:54] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:31:54] [INFO_PAGE] Found 434 messages for session 'ILUIWU2'
[11:31:54] [INFO_PAGE] Total messages in database: 1200
[11:31:54] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:31:54] Will get events_php
[11:31:54] [TYPING] πŸ”„ ========== POLL START ==========
[11:31:54] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:31:54] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:31:54] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:31:54] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:31:54] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:31:54] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:31:54] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:31:54] [TYPING] πŸ“₯ Found 0 typing users in response
[11:31:54] [TYPING] πŸ“₯ Updating typing users SET: []
[11:31:54] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:31:54] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:31:54] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:31:54] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:31:54] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:31:54] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:31:54] [TYPING] πŸ”„ ========== POLL END ==========
[11:31:54] [EVT] get_events.php HTTP 200
── Response Headers ──
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Keep-Alive: timeout=5, max=100
Content-Type: application/json; charset=utf-8
Content-Length: 56
Date: Sun, 16 Nov 2025 10:31:54 GMT
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:31:54] Done
[11:31:54] Main
[11:31:56] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:31:56] Will get events_php
[11:31:56] [TYPING] πŸ”„ ========== POLL START ==========
[11:31:56] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:31:56] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:31:56] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:31:56] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:31:56] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:31:56] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:31:56] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2, "status": ok]
[11:31:56] [TYPING] πŸ“₯ Found 0 typing users in response
[11:31:56] [TYPING] πŸ“₯ Updating typing users SET: []
[11:31:56] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:31:56] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:31:56] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:31:56] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:31:56] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:31:56] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:31:56] [TYPING] πŸ”„ ========== POLL END ==========
[11:31:56] [EVT] get_events.php HTTP 200
── Response Headers ──
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Date: Sun, 16 Nov 2025 10:31:56 GMT
Connection: Keep-Alive
Content-Type: application/json; charset=utf-8
Content-Length: 56
Keep-Alive: timeout=5, max=66
X-Powered-By: PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:31:56] Done
[11:31:56] Main
[11:31:58] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:31:58] Will get events_php
[11:31:58] [TYPING] πŸ”„ ========== POLL START ==========
[11:31:58] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:31:58] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:31:58] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:33:28] [CRASH] Previous session did not exit cleanly - crash detected
[11:33:28] [GIPHY] SDK not available - using REST API fallback
[11:33:28] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:33:28] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:33:28] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:33:28] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:33:28] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:33:28] [SCENE] Launched directly to chat view with sessionId: ILUIWU2
[11:33:28] [PUSH] APNs token: 6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c
[11:33:29] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:33:29] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:33:29] Documents Directory: /var/mobile/Containers/Data/Application/017D7D31-D4F9-4CBD-B452-2B8BAA8F0AB7/Documents
[11:33:29] [NOTIFICATION] πŸ”” Notification button created and added to topNavBar
[11:33:29] [NOTIFICATION] πŸ”” Button tintColor: grey (0.5, 0.5, 0.5)
[11:33:29] [NOTIFICATION] πŸ”” Button isUserInteractionEnabled: true
[11:33:29] [INFO_PAGE] InformationViewController viewDidLoad called
[11:33:29] [INFO_PAGE] Actions configured (bell button is external)
[11:33:29] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:33:29] [INFO_PAGE] Successfully opened database at /var/mobile/Containers/Data/Application/017D7D31-D4F9-4CBD-B452-2B8BAA8F0AB7/Documents/chat_local_viewer.db
[11:33:29] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:33:29] [INFO_PAGE] Found 434 messages for session 'ILUIWU2'
[11:33:29] [INFO_PAGE] Total messages in database: 1200
[11:33:29] [INFO_PAGE] InformationViewController setup complete
[11:33:29] [INFO_PAGE] ℹ️ Information page added to tab 3
[11:33:29] [THEME] Applying current theme
[11:33:29] [CHAT] Applied day theme (mode: day)
[11:33:29] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:33:29] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:33:29] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:33:29] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:33:29] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:33:29] [SUMMARY] Already showed summary today (2025-11-16)
[11:33:29] Did transition
[11:33:29] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:33:29] [VIEWER] Screen lock enabled - normal idle behavior
[11:33:29] [QUERY] πŸ” Checking tab - currentTabIndex=0
[11:33:29] [QUERY] πŸ”΅ [TAB 0] No query connection needed
[11:33:29] [QUERY] βœ… [TAB 0] Initialized without query connection
[11:33:29] [LOCATION] Started location updates for distance calculation (already authorized)
[11:33:29] [TAB 0] Skipping reconnect polling - only needed for tab 1
[11:33:29] [VIEWER_INIT] Loading messages with read receipts from server
[11:33:29] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:33:29] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:33:29] [DB]   msg[0] id=1619, isMyMessage=false, readBy.count=0
[11:33:29] [DB]   msg[1] id=1618, isMyMessage=false, readBy.count=0
[11:33:29] [DB]   msg[2] id=1617, isMyMessage=false, readBy.count=0
[11:33:29] [EVOLUTION] πŸ” Found 0 NEW unread messages from local DB before fetching read receipts (lastSeenMessageId=1619): []
[11:33:29] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1619, readBy=[]", "id=1618, readBy=[]", "id=1617, readBy=[]"]
[11:33:29] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:33:29] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:33:29] [DB]   msg[0] id=1619, isMyMessage=false, readBy.count=0
[11:33:29] [DB]   msg[1] id=1618, isMyMessage=false, readBy.count=0
[11:33:29] [DB]   msg[2] id=1617, isMyMessage=false, readBy.count=0
[11:33:29] [EVENT_POLL] Starting periodic event polling for viewer mode (5s interval)
[11:33:29] [ORIENTATION] Updated pagingScrollView height to 247.5 for width 440.0
[11:33:29] [SUMMARY] Already showed summary today (2025-11-16)
[11:33:29] Did transition
[11:33:29] [NOTIFICATION] πŸ”” Constraints activated for notification button
[11:33:29] [NOTIFICATION] πŸ”” topNavBar frame: (0.0, 0.0, 440.0, 50.0)
[11:33:29] [NOTIFICATION] πŸ”” menuButton frame: (0.0, 0.0, 39.0, 30.0)
[11:33:29] [NOTIFICATION] πŸ”” notificationButton frame: (0.0, 0.0, 56.333333333333336, 58.0)
[11:33:29] [NOTIFICATION] πŸ”” Notification button brought to front
[11:33:29] [NOTIFICATION] πŸ”„ Updating icon to: bell.slash.fill (muted=true)
[11:33:29] [NOTIFICATION] βœ… Icon updated successfully
[11:33:29] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[11:33:29] [MIGRATION] No messages need sender_name backfill
[11:33:29] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:33:29] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:33:29] [DB]   msg[0] id=1619, isMyMessage=false, readBy.count=0
[11:33:29] [DB]   msg[1] id=1618, isMyMessage=false, readBy.count=0
[11:33:29] [DB]   msg[2] id=1617, isMyMessage=false, readBy.count=0
[11:33:29] [INFO_PAGE] InformationViewController viewWillAppear - applying theme
[11:33:29] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:33:29] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:33:29] [PAGINATION_SCROLL] offset=-12.0, contentHeight=108.0, distFromBottom=120.0, dragging=false, decel=false, isLoading=false, cooldown=63899058809.99349s
[11:33:29] [PAGINATION_SCROLL] offset=0.0, contentHeight=108.0, distFromBottom=-650.0, dragging=false, decel=false, isLoading=false, cooldown=63899058809.99472s
[11:33:30] [LOCATION] Authorization changed: 4
[11:33:30] [NOTIFICATION] πŸ”” FINAL STATE after viewDidLoad:
[11:33:30] [NOTIFICATION] πŸ”” notificationButton.frame: (392.0, 67.0, 40.0, 40.0)
[11:33:30] [NOTIFICATION] πŸ”” notificationButton.isHidden: false
[11:33:30] [NOTIFICATION] πŸ”” notificationButton.alpha: 1.0
[11:33:30] [NOTIFICATION] πŸ”” notificationButton.superview: true
[11:33:30] [NOTIFICATION] πŸ”” topNavBar.isHidden: false
[11:33:30] [NOTIFICATION] πŸ”” topNavBar.subviews.count: 3
[11:33:31] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU2, AnyHashable("message_id"): 1621]
[11:33:31] [PUSH] Parsed message_id: 1621
[11:33:31] [PUSH] Parsed operation_type: 0
[11:33:31] [PUSH] Taking direct action: opType=0, messageId=1621
[11:33:31] [PUSH] TakeActionFromPush called: OperationType=0, MessageIds=1621
[11:33:31] [PUSH] Handling message fetch for opType=0, messageId=1621
[11:33:31] [PUSH] Requesting URL: http://crivello.dyndns.org:81/WebRTC/chat/chat_get_messages.php?session_id=ILUIWU2&viewer=1&messages=1621
[11:33:31] [PUSH] Role update error: Error Domain=NSURLErrorDomain Code=-1005 "The network connection was lost." UserInfo={_kCFStreamErrorCodeKey=-4, NSUnderlyingError=0x123335d70 {Error Domain=kCFErrorDomainCFNetwork Code=-1005 "(null)" UserInfo={NSErrorPeerAddressKey=<CFData 0x115367700 [0x1f43240d8]>{length = 16, capacity = 16, bytes = 0x1002005154e34b220000000000000000}, _kCFStreamErrorCodeKey=-4, _kCFStreamErrorDomainKey=4}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <7D581902-731D-4781-9738-F289E50FDDC9>.<3>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
    "LocalDataTask <7D581902-731D-4781-9738-F289E50FDDC9>.<3>"
), NSLocalizedDescription=The network connection was lost., NSErrorFailingURLStringKey=http://crivello.dyndns.org:81/WebRTC/chat/register_device.php, NSErrorFailingURLKey=http://crivello.dyndns.org:81/WebRTC/chat/register_device.php, _kCFStreamErrorDomainKey=4}
[11:33:31] [PUSH] Role update error: Error Domain=NSURLErrorDomain Code=-1005 "The network connection was lost." UserInfo={_kCFStreamErrorCodeKey=-4, NSUnderlyingError=0x123335ce0 {Error Domain=kCFErrorDomainCFNetwork Code=-1005 "(null)" UserInfo={NSErrorPeerAddressKey=<CFData 0x115194320 [0x1f43240d8]>{length = 16, capacity = 16, bytes = 0x1002005154e34b220000000000000000}, _kCFStreamErrorCodeKey=-4, _kCFStreamErrorDomainKey=4}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <8CA8D3B2-314B-4A38-AEF3-E70EDDDA4B73>.<5>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
    "LocalDataTask <8CA8D3B2-314B-4A38-AEF3-E70EDDDA4B73>.<5>"
), NSLocalizedDescription=The network connection was lost., NSErrorFailingURLStringKey=http://crivello.dyndns.org:81/WebRTC/chat/register_device.php, NSErrorFailingURLKey=http://crivello.dyndns.org:81/WebRTC/chat/register_device.php, _kCFStreamErrorDomainKey=4}
[11:33:32] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:33:32] [TYPING] πŸ”„ ========== POLL START ==========
[11:33:32] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:33:32] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:33:32] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:33:32] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:33:32] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:33:32] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:33:32] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok]
[11:33:32] [TYPING] πŸ“₯ Found 0 typing users in response
[11:33:32] [TYPING] πŸ“₯ Updating typing users SET: []
[11:33:32] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:33:32] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:33:32] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:33:32] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:33:32] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:33:32] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:33:32] [TYPING] πŸ”„ ========== POLL END ==========
[11:33:32] [USER] βœ… User registered successfully
[11:33:32] [USER] User registration successful
[11:33:33] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU2, AnyHashable("message_id"): 1621]
[11:33:33] [PUSH] Parsed message_id: 1621
[11:33:33] [PUSH] Parsed operation_type: 3
[11:33:33] [PUSH] Taking direct action: opType=3, messageId=1621
[11:33:33] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=1621
[11:33:33] [LOCATION] Failed to get location: The operation couldn’t be completed. (kCLErrorDomain error 1.)
[11:33:33] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:33:33] [TYPING] πŸ”„ ========== POLL START ==========
[11:33:33] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:33:33] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:33:33] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:33:33] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:33:33] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:33:33] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:33:33] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:33:33] [TYPING] πŸ“₯ Found 0 typing users in response
[11:33:33] [TYPING] πŸ“₯ Updating typing users SET: []
[11:33:33] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:33:33] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:33:33] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:33:33] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:33:33] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:33:33] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:33:33] [TYPING] πŸ”„ ========== POLL END ==========
[11:33:34] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:33:34] [UNREAD_DEBUG]   FINAL msg[0] id=1619, readBy.count=0
[11:33:34] [UNREAD_DEBUG]   FINAL msg[1] id=1618, readBy.count=0
[11:33:34] [UNREAD_DEBUG]   FINAL msg[2] id=1617, readBy.count=0
[11:33:34] [VIEWER_INIT] Loaded 50 messages with read receipts, hasMore: true
[11:33:34] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:33:34] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:33:34] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:33:34] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=51 =====
[11:33:34] [ROWS] 0: SEPARATOR
[11:33:34] [ROWS] 1: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:34] [ROWS] 2: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:34] [ROWS] 3: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:34] [ROWS] 4: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:33:34] [ROWS] 5: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:33:34] [ROWS] 6: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:34] [ROWS] 7: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:34] [ROWS] 8: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:34] [ROWS] 9: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:34] [ROWS] 10: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:33:34] [ROWS] 11: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:33:34] [ROWS] 12: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:34] [ROWS] 13: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:34] [ROWS] 14: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:33:34] [ROWS] 15: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:34] [ROWS] 16: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:34] [ROWS] 17: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:34] [ROWS] 18: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:34] [ROWS] 19: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:33:34] [ROWS] 20: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:34] [ROWS] 21: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:34] [ROWS] 22: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:34] [ROWS] 23: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:34] [ROWS] 24: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:33:34] [ROWS] 25: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:33:34] [ROWS] 26: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:33:34] [ROWS] 27: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:33:34] [ROWS] 28: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:34] [ROWS] 29: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:34] [ROWS] 30: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:34] [ROWS] 31: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:34] [ROWS] 32: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:34] [ROWS] 33: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:34] [ROWS] 34: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:34] [ROWS] 35: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:34] [ROWS] 36: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:34] [ROWS] 37: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:34] [ROWS] 38: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:34] [ROWS] 39: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:34] [ROWS] 40: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:34] [ROWS] 41: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:34] [ROWS] 42: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:33:34] [ROWS] 43: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:34] [ROWS] 44: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:34] [ROWS] 45: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:33:34] [ROWS] 46: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:34] [ROWS] 47: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:34] [ROWS] 48: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:34] [ROWS] 49: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:33:34] [ROWS] 50: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:33:34] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:33:34] [TAB_FILTER] πŸ“Š Reloading table with 51 rows
[11:33:34] [HEIGHT_DEBUG] Row 1 msg 1619: isPlayingEvolution=false, textLength=7, text='Yooooou...'
[11:33:34] [EMOJI] βœ… Loaded 451 emoji-to-GIF mappings
[11:33:34] [HEIGHT] Row 1 msg 1619: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:33:34] [HEIGHT_DEBUG] Row 2 msg 1618: isPlayingEvolution=false, textLength=7, text='Mmmmmme...'
[11:33:34] [HEIGHT] Row 2 msg 1618: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:33:34] [HEIGHT_DEBUG] Row 1 msg 1619: isPlayingEvolution=false, textLength=7, text='Yooooou...'
[11:33:34] [HEIGHT] Row 1 msg 1619: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:33:34] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:33:34] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:33:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:34] [HEIGHT_DEBUG] Row 2 msg 1618: isPlayingEvolution=false, textLength=7, text='Mmmmmme...'
[11:33:34] [HEIGHT] Row 2 msg 1618: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:33:34] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:34] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:34] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:34] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:34] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:34] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:34] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:34] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:34] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:34] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:34] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:34] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:34] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:34] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:34] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:34] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:34] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:34] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:34] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:34] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:33:34] ReloadData 18 (viewer init with read receipts)
[11:33:34] [EVOLUTION_SEQ] πŸš€ FUNCTION CALLED with 0 message IDs: []
[11:33:34] [EVOLUTION_SEQ] πŸ“­ No unread message IDs provided for evolution playback
[11:33:34] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU2, AnyHashable("message_id"): 1621]
[11:33:34] [PUSH] Parsed message_id: 1621
[11:33:34] [PUSH] Parsed operation_type: 3
[11:33:34] [PUSH] Taking direct action: opType=3, messageId=1621
[11:33:34] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=1621
[11:33:34] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:33:34] [INFO_PAGE] Found 434 messages for session 'ILUIWU2'
[11:33:34] [INFO_PAGE] Total messages in database: 1200
[11:33:54] [CRASH] Previous session did not exit cleanly - crash detected
[11:33:54] [GIPHY] SDK not available - using REST API fallback
[11:33:54] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:33:54] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:33:54] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:33:54] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:33:54] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:33:54] [SCENE] Launched directly to chat view with sessionId: ILUIWU2
[11:33:54] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:33:54] Documents Directory: /var/mobile/Containers/Data/Application/DE898285-043D-4122-BDE6-EC10956BEAA9/Documents
[11:33:54] [NOTIFICATION] πŸ”” Notification button created and added to topNavBar
[11:33:54] [NOTIFICATION] πŸ”” Button tintColor: grey (0.5, 0.5, 0.5)
[11:33:54] [NOTIFICATION] πŸ”” Button isUserInteractionEnabled: true
[11:33:54] [INFO_PAGE] InformationViewController viewDidLoad called
[11:33:54] [INFO_PAGE] Actions configured (bell button is external)
[11:33:54] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:33:54] [INFO_PAGE] Successfully opened database at /var/mobile/Containers/Data/Application/DE898285-043D-4122-BDE6-EC10956BEAA9/Documents/chat_local_viewer.db
[11:33:54] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:33:54] [INFO_PAGE] Found 434 messages for session 'ILUIWU2'
[11:33:54] [INFO_PAGE] Total messages in database: 1200
[11:33:54] [INFO_PAGE] InformationViewController setup complete
[11:33:54] [INFO_PAGE] ℹ️ Information page added to tab 3
[11:33:54] [THEME] Applying current theme
[11:33:54] [CHAT] Applied day theme (mode: day)
[11:33:54] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:33:54] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:33:54] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:33:54] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:33:54] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:33:54] [SUMMARY] Already showed summary today (2025-11-16)
[11:33:54] Did transition
[11:33:54] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:33:54] [VIEWER] Screen lock enabled - normal idle behavior
[11:33:54] [QUERY] πŸ” Checking tab - currentTabIndex=0
[11:33:54] [QUERY] πŸ”΅ [TAB 0] No query connection needed
[11:33:54] [QUERY] βœ… [TAB 0] Initialized without query connection
[11:33:54] [LOCATION] Started location updates for distance calculation (already authorized)
[11:33:54] [TAB 0] Skipping reconnect polling - only needed for tab 1
[11:33:54] [VIEWER_INIT] Loading messages with read receipts from server
[11:33:54] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:33:54] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:33:54] [DB]   msg[0] id=1619, isMyMessage=false, readBy.count=0
[11:33:54] [DB]   msg[1] id=1618, isMyMessage=false, readBy.count=0
[11:33:54] [DB]   msg[2] id=1617, isMyMessage=false, readBy.count=0
[11:33:54] [EVOLUTION] πŸ” Found 0 NEW unread messages from local DB before fetching read receipts (lastSeenMessageId=1619): []
[11:33:54] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1619, readBy=[]", "id=1618, readBy=[]", "id=1617, readBy=[]"]
[11:33:54] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:33:54] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:33:54] [DB]   msg[0] id=1619, isMyMessage=false, readBy.count=0
[11:33:54] [DB]   msg[1] id=1618, isMyMessage=false, readBy.count=0
[11:33:54] [DB]   msg[2] id=1617, isMyMessage=false, readBy.count=0
[11:33:54] [EVENT_POLL] Starting periodic event polling for viewer mode (5s interval)
[11:33:54] [ORIENTATION] Updated pagingScrollView height to 247.5 for width 440.0
[11:33:54] [SUMMARY] Already showed summary today (2025-11-16)
[11:33:54] Did transition
[11:33:54] [NOTIFICATION] πŸ”” Constraints activated for notification button
[11:33:54] [NOTIFICATION] πŸ”” topNavBar frame: (0.0, 0.0, 440.0, 50.0)
[11:33:54] [NOTIFICATION] πŸ”” menuButton frame: (0.0, 0.0, 39.0, 30.0)
[11:33:54] [NOTIFICATION] πŸ”” notificationButton frame: (0.0, 0.0, 56.333333333333336, 58.0)
[11:33:54] [NOTIFICATION] πŸ”” Notification button brought to front
[11:33:54] [NOTIFICATION] πŸ”„ Updating icon to: bell.slash.fill (muted=true)
[11:33:54] [NOTIFICATION] βœ… Icon updated successfully
[11:33:54] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[11:33:54] [MIGRATION] No messages need sender_name backfill
[11:33:54] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:33:54] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:33:54] [DB]   msg[0] id=1619, isMyMessage=false, readBy.count=0
[11:33:54] [DB]   msg[1] id=1618, isMyMessage=false, readBy.count=0
[11:33:54] [DB]   msg[2] id=1617, isMyMessage=false, readBy.count=0
[11:33:54] [INFO_PAGE] InformationViewController viewWillAppear - applying theme
[11:33:54] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:33:54] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:33:54] [PAGINATION_SCROLL] offset=-12.0, contentHeight=108.0, distFromBottom=120.0, dragging=false, decel=false, isLoading=false, cooldown=63899058834.27087s
[11:33:54] [PAGINATION_SCROLL] offset=0.0, contentHeight=108.0, distFromBottom=-650.0, dragging=false, decel=false, isLoading=false, cooldown=63899058834.27288s
[11:33:54] [LOCATION] Authorization changed: 4
[11:33:54] [LOCATION] Updated location: 46.50141059935032, 6.722693641389413
[11:33:54] [LOCATION] Updated location: 46.50141059935032, 6.722693641389413
[11:33:54] [NOTIFICATION] πŸ”” FINAL STATE after viewDidLoad:
[11:33:54] [NOTIFICATION] πŸ”” notificationButton.frame: (392.0, 67.0, 40.0, 40.0)
[11:33:54] [NOTIFICATION] πŸ”” notificationButton.isHidden: false
[11:33:54] [NOTIFICATION] πŸ”” notificationButton.alpha: 1.0
[11:33:54] [NOTIFICATION] πŸ”” notificationButton.superview: true
[11:33:54] [NOTIFICATION] πŸ”” topNavBar.isHidden: false
[11:33:54] [NOTIFICATION] πŸ”” topNavBar.subviews.count: 3
[11:33:54] [PUSH] APNs token: 6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c
[11:33:54] [PUSH] handlePollEventsNotification userInfo: [:]
[11:33:54] [PUSH] No message_id in userInfo
[11:33:54] [PUSH] No operation_type in userInfo
[11:33:54] [PUSH] Performing full refresh to catch up on any missed messages
[11:33:54] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:33:54] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:33:54] [DB]   msg[0] id=1619, isMyMessage=false, readBy.count=0
[11:33:54] [DB]   msg[1] id=1618, isMyMessage=false, readBy.count=0
[11:33:54] [DB]   msg[2] id=1617, isMyMessage=false, readBy.count=0
[11:33:54] [PUSH] Device role updated to 'viewer': HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:33:54] [PUSH] Device role updated to 'viewer': HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:33:54] [USER] βœ… User registered successfully
[11:33:54] [USER] User registration successful
[11:33:54] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:33:54] [CHAT] βœ… refreshAllFromServer - parsed 436 messages from server
[11:33:54] [DB] clearDBForSession(ILUIWU2): deleted 434 messages, result=101
[11:33:54] ReloadData 15 (436 messages loaded, 0 pending media)
[11:33:54] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:33:54] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:33:54] [DB]   msg[0] id=1621, isMyMessage=false, readBy.count=0
[11:33:54] [DB]   msg[1] id=1620, isMyMessage=false, readBy.count=0
[11:33:54] [DB]   msg[2] id=1619, isMyMessage=false, readBy.count=0
[11:33:54] [EVOLUTION] πŸ” Found 2 NEW unread messages after refreshAllFromServer (lastSeenMessageId=1619): [1621, 1620]
[11:33:54] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1621, readBy=[]", "id=1620, readBy=[]", "id=1619, readBy=[]"]
[11:33:54] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:33:54] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:33:54] [DB]   msg[0] id=1621, isMyMessage=false, readBy.count=0
[11:33:54] [DB]   msg[1] id=1620, isMyMessage=false, readBy.count=0
[11:33:54] [DB]   msg[2] id=1619, isMyMessage=false, readBy.count=0
[11:33:54] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:33:54] [UNREAD_DEBUG]   FINAL msg[0] id=1619, readBy.count=1
[11:33:54] [UNREAD_DEBUG]   FINAL msg[1] id=1618, readBy.count=1
[11:33:54] [UNREAD_DEBUG]   FINAL msg[2] id=1617, readBy.count=1
[11:33:54] [FOREGROUND_REFRESH] Loaded 50 messages
[11:33:54] [EVOLUTION] πŸ” [FOREGROUND] Found 0 NEW unread messages (lastSeenMessageId=1619): []
[11:33:54] [FOREGROUND_REFRESH] About to call autoPlayEvolutionForUnreadMessageIds with 0 IDs: []
[11:33:54] [FOREGROUND_REFRESH] No unread messages to play evolution for - reloading table normally
[11:33:54] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:33:54] [UNREAD_DEBUG]   FINAL msg[0] id=1619, readBy.count=1
[11:33:54] [UNREAD_DEBUG]   FINAL msg[1] id=1618, readBy.count=1
[11:33:54] [UNREAD_DEBUG]   FINAL msg[2] id=1617, readBy.count=1
[11:33:54] [VIEWER_INIT] Loaded 50 messages with read receipts, hasMore: true
[11:33:54] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:33:54] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:33:54] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:33:54] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=51 =====
[11:33:54] [ROWS] 0: SEPARATOR
[11:33:54] [ROWS] 1: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:54] [ROWS] 2: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:54] [ROWS] 3: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:54] [ROWS] 4: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:33:54] [ROWS] 5: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:33:54] [ROWS] 6: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:54] [ROWS] 7: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:54] [ROWS] 8: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:54] [ROWS] 9: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:54] [ROWS] 10: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:33:54] [ROWS] 11: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:33:54] [ROWS] 12: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:54] [ROWS] 13: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:54] [ROWS] 14: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:33:54] [ROWS] 15: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:54] [ROWS] 16: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:54] [ROWS] 17: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:54] [ROWS] 18: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:54] [ROWS] 19: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:33:54] [ROWS] 20: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:54] [ROWS] 21: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:54] [ROWS] 22: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:54] [ROWS] 23: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:54] [ROWS] 24: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:33:54] [ROWS] 25: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:33:54] [ROWS] 26: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:33:54] [ROWS] 27: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:33:54] [ROWS] 28: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:54] [ROWS] 29: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:54] [ROWS] 30: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:54] [ROWS] 31: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:54] [ROWS] 32: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:54] [ROWS] 33: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:54] [ROWS] 34: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:54] [ROWS] 35: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:54] [ROWS] 36: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:54] [ROWS] 37: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:54] [ROWS] 38: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:54] [ROWS] 39: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:54] [ROWS] 40: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:54] [ROWS] 41: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:54] [ROWS] 42: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:33:54] [ROWS] 43: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:54] [ROWS] 44: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:54] [ROWS] 45: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:33:54] [ROWS] 46: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:54] [ROWS] 47: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:54] [ROWS] 48: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:54] [ROWS] 49: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:33:54] [ROWS] 50: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:33:54] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:33:54] [TAB_FILTER] πŸ“Š Reloading table with 51 rows
[11:33:54] [HEIGHT_DEBUG] Row 1 msg 1619: isPlayingEvolution=false, textLength=7, text='Yooooou...'
[11:33:54] [EMOJI] βœ… Loaded 451 emoji-to-GIF mappings
[11:33:54] [HEIGHT] Row 1 msg 1619: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:33:54] [HEIGHT_DEBUG] Row 2 msg 1618: isPlayingEvolution=false, textLength=7, text='Mmmmmme...'
[11:33:54] [HEIGHT] Row 2 msg 1618: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:33:54] [HEIGHT_DEBUG] Row 1 msg 1619: isPlayingEvolution=false, textLength=7, text='Yooooou...'
[11:33:54] [HEIGHT] Row 1 msg 1619: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:33:54] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:33:54] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [HEIGHT_DEBUG] Row 2 msg 1618: isPlayingEvolution=false, textLength=7, text='Mmmmmme...'
[11:33:54] [HEIGHT] Row 2 msg 1618: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:33:54] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:33:54] ReloadData 18 (viewer init with read receipts)
[11:33:54] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:33:54] [UNREAD_DEBUG]   FINAL msg[0] id=1619, readBy.count=1
[11:33:54] [UNREAD_DEBUG]   FINAL msg[1] id=1618, readBy.count=1
[11:33:54] [UNREAD_DEBUG]   FINAL msg[2] id=1617, readBy.count=1
[11:33:54] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:33:54] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:33:54] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:33:54] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=51 =====
[11:33:54] [ROWS] 0: SEPARATOR
[11:33:54] [ROWS] 1: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:54] [ROWS] 2: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:54] [ROWS] 3: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:54] [ROWS] 4: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:33:54] [ROWS] 5: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:33:54] [ROWS] 6: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:54] [ROWS] 7: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:54] [ROWS] 8: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:54] [ROWS] 9: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:54] [ROWS] 10: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:33:54] [ROWS] 11: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:33:54] [ROWS] 12: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:54] [ROWS] 13: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:54] [ROWS] 14: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:33:54] [ROWS] 15: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:54] [ROWS] 16: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:54] [ROWS] 17: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:54] [ROWS] 18: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:54] [ROWS] 19: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:33:54] [ROWS] 20: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:54] [ROWS] 21: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:54] [ROWS] 22: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:54] [ROWS] 23: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:54] [ROWS] 24: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:33:54] [ROWS] 25: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:33:54] [ROWS] 26: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:33:54] [ROWS] 27: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:33:54] [ROWS] 28: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:54] [ROWS] 29: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:54] [ROWS] 30: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:54] [ROWS] 31: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:54] [ROWS] 32: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:54] [ROWS] 33: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:54] [ROWS] 34: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:54] [ROWS] 35: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:54] [ROWS] 36: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:54] [ROWS] 37: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:54] [ROWS] 38: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:54] [ROWS] 39: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:54] [ROWS] 40: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:54] [ROWS] 41: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:54] [ROWS] 42: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:33:54] [ROWS] 43: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:54] [ROWS] 44: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:54] [ROWS] 45: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:33:54] [ROWS] 46: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:54] [ROWS] 47: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:54] [ROWS] 48: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:54] [ROWS] 49: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:33:54] [ROWS] 50: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:33:54] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:33:54] [TAB_FILTER] πŸ“Š Reloading table with 51 rows
[11:33:54] [HEIGHT_DEBUG] Row 1 msg 1619: isPlayingEvolution=false, textLength=7, text='Yooooou...'
[11:33:54] [HEIGHT] Row 1 msg 1619: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:33:54] [HEIGHT_DEBUG] Row 2 msg 1618: isPlayingEvolution=false, textLength=7, text='Mmmmmme...'
[11:33:54] [HEIGHT] Row 2 msg 1618: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:33:54] [HEIGHT_DEBUG] Row 1 msg 1619: isPlayingEvolution=false, textLength=7, text='Yooooou...'
[11:33:54] [HEIGHT] Row 1 msg 1619: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:33:54] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:33:54] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [HEIGHT_DEBUG] Row 2 msg 1618: isPlayingEvolution=false, textLength=7, text='Mmmmmme...'
[11:33:54] [HEIGHT] Row 2 msg 1618: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:33:54] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:33:54] [EVOLUTION_SEQ] πŸš€ FUNCTION CALLED with 0 message IDs: []
[11:33:54] [EVOLUTION_SEQ] πŸ“­ No unread message IDs provided for evolution playback
[11:33:54] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:33:54] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:33:54] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:33:54] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=51 =====
[11:33:54] [ROWS] 0: SEPARATOR
[11:33:54] [ROWS] 1: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:54] [ROWS] 2: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:54] [ROWS] 3: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:54] [ROWS] 4: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:33:54] [ROWS] 5: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:33:54] [ROWS] 6: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:54] [ROWS] 7: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:54] [ROWS] 8: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:54] [ROWS] 9: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:54] [ROWS] 10: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:33:54] [ROWS] 11: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:33:54] [ROWS] 12: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:54] [ROWS] 13: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:54] [ROWS] 14: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:33:54] [ROWS] 15: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:54] [ROWS] 16: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:54] [ROWS] 17: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:54] [ROWS] 18: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:54] [ROWS] 19: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:33:54] [ROWS] 20: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:54] [ROWS] 21: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:54] [ROWS] 22: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:54] [ROWS] 23: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:54] [ROWS] 24: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:33:54] [ROWS] 25: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:33:54] [ROWS] 26: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:33:54] [ROWS] 27: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:33:54] [ROWS] 28: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:54] [ROWS] 29: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:54] [ROWS] 30: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:54] [ROWS] 31: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:54] [ROWS] 32: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:54] [ROWS] 33: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:54] [ROWS] 34: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:54] [ROWS] 35: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:54] [ROWS] 36: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:54] [ROWS] 37: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:54] [ROWS] 38: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:54] [ROWS] 39: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:54] [ROWS] 40: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:54] [ROWS] 41: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:54] [ROWS] 42: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:33:54] [ROWS] 43: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:54] [ROWS] 44: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:54] [ROWS] 45: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:33:54] [ROWS] 46: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:54] [ROWS] 47: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:54] [ROWS] 48: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:54] [ROWS] 49: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:33:54] [ROWS] 50: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:33:54] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:33:54] [TAB_FILTER] πŸ“Š Reloading table with 51 rows
[11:33:54] [HEIGHT_DEBUG] Row 1 msg 1619: isPlayingEvolution=false, textLength=7, text='Yooooou...'
[11:33:54] [HEIGHT] Row 1 msg 1619: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:33:54] [HEIGHT_DEBUG] Row 2 msg 1618: isPlayingEvolution=false, textLength=7, text='Mmmmmme...'
[11:33:54] [HEIGHT] Row 2 msg 1618: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:33:54] [HEIGHT_DEBUG] Row 1 msg 1619: isPlayingEvolution=false, textLength=7, text='Yooooou...'
[11:33:54] [HEIGHT] Row 1 msg 1619: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:33:54] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:33:54] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [HEIGHT_DEBUG] Row 2 msg 1618: isPlayingEvolution=false, textLength=7, text='Mmmmmme...'
[11:33:54] [HEIGHT] Row 2 msg 1618: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:33:54] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:33:54] [INIT_PAGINATION] Loaded 50 total messages, displaying 50 for tab 0
[11:33:54] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:33:54] [UNREAD_DEBUG]   FINAL msg[0] id=1621, readBy.count=0
[11:33:54] [UNREAD_DEBUG]   FINAL msg[1] id=1620, readBy.count=0
[11:33:54] [UNREAD_DEBUG]   FINAL msg[2] id=1619, readBy.count=1
[11:33:54] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:33:54] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:33:54] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:33:54] [EVOLUTION] πŸ“ Updated lastSeenMessageId: 1619 β†’ 1621
[11:33:54] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=51 =====
[11:33:54] [ROWS] 0: SEPARATOR
[11:33:54] [ROWS] 1: MESSAGE id=1621 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:33:54] [ROWS] 2: MESSAGE id=1620 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:33:54] [ROWS] 3: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:54] [ROWS] 4: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:54] [ROWS] 5: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:54] [ROWS] 6: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:33:54] [ROWS] 7: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:33:54] [ROWS] 8: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:54] [ROWS] 9: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:54] [ROWS] 10: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:54] [ROWS] 11: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:54] [ROWS] 12: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:33:54] [ROWS] 13: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:33:54] [ROWS] 14: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:54] [ROWS] 15: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:54] [ROWS] 16: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:33:54] [ROWS] 17: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:54] [ROWS] 18: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:54] [ROWS] 19: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:54] [ROWS] 20: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:54] [ROWS] 21: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:33:54] [ROWS] 22: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:54] [ROWS] 23: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:54] [ROWS] 24: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:54] [ROWS] 25: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:54] [ROWS] 26: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:33:54] [ROWS] 27: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:33:54] [ROWS] 28: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:33:54] [ROWS] 29: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:33:54] [ROWS] 30: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:54] [ROWS] 31: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:54] [ROWS] 32: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:54] [ROWS] 33: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:54] [ROWS] 34: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:54] [ROWS] 35: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:54] [ROWS] 36: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:54] [ROWS] 37: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:54] [ROWS] 38: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:54] [ROWS] 39: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:54] [ROWS] 40: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:54] [ROWS] 41: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:54] [ROWS] 42: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:54] [ROWS] 43: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:54] [ROWS] 44: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:33:54] [ROWS] 45: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:54] [ROWS] 46: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:54] [ROWS] 47: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:33:54] [ROWS] 48: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:54] [ROWS] 49: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:54] [ROWS] 50: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:54] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:33:54] [TAB_FILTER] πŸ“Š Reloading table with 51 rows
[11:33:54] [HEIGHT_DEBUG] Row 1 msg 1621: isPlayingEvolution=false, textLength=8, text='Message2...'
[11:33:54] [HEIGHT] Row 1 msg 1621: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:33:54] [HEIGHT_DEBUG] Row 2 msg 1620: isPlayingEvolution=false, textLength=8, text='Message1...'
[11:33:54] [HEIGHT] Row 2 msg 1620: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:33:54] [HEIGHT_DEBUG] Row 1 msg 1621: isPlayingEvolution=false, textLength=8, text='Message2...'
[11:33:54] [HEIGHT] Row 1 msg 1621: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:33:54] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:33:54] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [HEIGHT_DEBUG] Row 2 msg 1620: isPlayingEvolution=false, textLength=8, text='Message1...'
[11:33:54] [HEIGHT] Row 2 msg 1620: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:33:54] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:33:54] [INITIAL_LOAD] Loaded 50 messages (first page), displaying 50 for tab 0, hasMore: true
[11:33:54] ReloadData 1
[11:33:54] [PURGE] Deleted 0 unused media files:

[11:33:54] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:33:54] [EVOLUTION_SEQ] πŸš€ FUNCTION CALLED with 2 message IDs: [1621, 1620]
[11:33:54] [EVOLUTION_SEQ] ⏱️ t=1763289234.719 πŸ“‹ Starting with 2 messages: [1621, 1620]
[11:33:54] [EVOLUTION_SEQ] πŸ“Š Message 1/2: id=1620, length=8 chars, estimated_duration=0.40s
[11:33:54] [EVOLUTION_SEQ] πŸ“Š Message 2/2: id=1621, length=8 chars, estimated_duration=0.40s
[11:33:54] [EVOLUTION_SEQ] ⏱️ t=1763289234.719 πŸ”’ Marked 2 messages as pending (hidden from view)
[11:33:54] [EVOLUTION_SEQ] ⏱️ t=1763289234.719 πŸ“ Queued 2 messages for sequential playback
[11:33:54] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:33:54] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:33:54] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:33:54] [EVOLUTION_SEQ] ⏱️ t=1763289234.719 Filtered out 2 pending evolution messages
[11:33:54] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=49 =====
[11:33:54] [ROWS] 0: SEPARATOR
[11:33:54] [ROWS] 1: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:54] [ROWS] 2: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:54] [ROWS] 3: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:54] [ROWS] 4: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:33:54] [ROWS] 5: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:33:54] [ROWS] 6: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:54] [ROWS] 7: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:54] [ROWS] 8: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:54] [ROWS] 9: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:54] [ROWS] 10: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:33:54] [ROWS] 11: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:33:54] [ROWS] 12: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:54] [ROWS] 13: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:54] [ROWS] 14: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:33:54] [ROWS] 15: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:54] [ROWS] 16: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:54] [ROWS] 17: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:54] [ROWS] 18: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:54] [ROWS] 19: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:33:54] [ROWS] 20: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:54] [ROWS] 21: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:54] [ROWS] 22: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:54] [ROWS] 23: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:54] [ROWS] 24: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:33:54] [ROWS] 25: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:33:54] [ROWS] 26: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:33:54] [ROWS] 27: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:33:54] [ROWS] 28: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:54] [ROWS] 29: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:54] [ROWS] 30: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:54] [ROWS] 31: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:54] [ROWS] 32: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:54] [ROWS] 33: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:54] [ROWS] 34: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:54] [ROWS] 35: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:54] [ROWS] 36: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:54] [ROWS] 37: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:54] [ROWS] 38: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:54] [ROWS] 39: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:54] [ROWS] 40: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:54] [ROWS] 41: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:54] [ROWS] 42: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:33:54] [ROWS] 43: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:54] [ROWS] 44: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:54] [ROWS] 45: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:33:54] [ROWS] 46: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:54] [ROWS] 47: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:54] [ROWS] 48: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:54] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:33:54] [TAB_FILTER] πŸ“Š Reloading table with 49 rows
[11:33:54] [HEIGHT_DEBUG] Row 1 msg 1619: isPlayingEvolution=false, textLength=7, text='Yooooou...'
[11:33:54] [HEIGHT] Row 1 msg 1619: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:33:54] [HEIGHT_DEBUG] Row 2 msg 1618: isPlayingEvolution=false, textLength=7, text='Mmmmmme...'
[11:33:54] [HEIGHT] Row 2 msg 1618: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:33:54] [HEIGHT_DEBUG] Row 1 msg 1619: isPlayingEvolution=false, textLength=7, text='Yooooou...'
[11:33:54] [HEIGHT] Row 1 msg 1619: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:33:54] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:33:54] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [HEIGHT_DEBUG] Row 2 msg 1618: isPlayingEvolution=false, textLength=7, text='Mmmmmme...'
[11:33:54] [HEIGHT] Row 2 msg 1618: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:33:54] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:33:54] [EVOLUTION_SEQ] ⏱️ t=1763289234.725 πŸ“Š Table reloaded: 50 β†’ 48 visible messages
[11:33:54] [EVOLUTION_SEQ] ⏱️ t=1763289234.933 🎬 Starting sequential playback
[11:33:54] [EVOLUTION_SEQ] ⏱️ t=1763289234.933 ▢️ Playing message 1620 - 1 remaining in queue
[11:33:54] [EVOLUTION_SEQ] ⏱️ t=1763289234.933 πŸ“ Message 1620: "Message1..." (8 chars)
[11:33:54] [EVOLUTION_SEQ] ⏱️ t=1763289234.933 πŸ”“ Removed message 1620 from pending set
[11:33:54] [EVOLUTION_SEQ] ⏱️ t=1763289234.933 🎬 Set evolution state for message 1620
[11:33:54] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:33:54] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:33:54] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:33:54] [EVOLUTION_SEQ] ⏱️ t=1763289234.933 Filtered out 1 pending evolution messages
[11:33:54] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=50 =====
[11:33:54] [ROWS] 0: SEPARATOR
[11:33:54] [ROWS] 1: MESSAGE id=1620 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=8
[11:33:54] [ROWS] 2: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:54] [ROWS] 3: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:54] [ROWS] 4: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:54] [ROWS] 5: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:33:54] [ROWS] 6: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:33:54] [ROWS] 7: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:54] [ROWS] 8: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:54] [ROWS] 9: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:54] [ROWS] 10: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:54] [ROWS] 11: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:33:54] [ROWS] 12: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:33:54] [ROWS] 13: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:54] [ROWS] 14: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:54] [ROWS] 15: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:33:54] [ROWS] 16: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:54] [ROWS] 17: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:54] [ROWS] 18: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:54] [ROWS] 19: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:54] [ROWS] 20: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:33:54] [ROWS] 21: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:54] [ROWS] 22: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:54] [ROWS] 23: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:54] [ROWS] 24: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:54] [ROWS] 25: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:33:54] [ROWS] 26: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:33:54] [ROWS] 27: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:33:54] [ROWS] 28: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:33:54] [ROWS] 29: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:54] [ROWS] 30: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:54] [ROWS] 31: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:54] [ROWS] 32: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:54] [ROWS] 33: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:54] [ROWS] 34: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:54] [ROWS] 35: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:54] [ROWS] 36: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:54] [ROWS] 37: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:54] [ROWS] 38: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:54] [ROWS] 39: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:54] [ROWS] 40: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:54] [ROWS] 41: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:54] [ROWS] 42: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:54] [ROWS] 43: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:33:54] [ROWS] 44: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:54] [ROWS] 45: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:54] [ROWS] 46: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:33:54] [ROWS] 47: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:54] [ROWS] 48: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:54] [ROWS] 49: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:54] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:33:54] [TAB_FILTER] πŸ“Š Reloading table with 50 rows
[11:33:54] [HEIGHT_DEBUG] Row 1 msg 1620: isPlayingEvolution=true, textLength=0, text='...'
[11:33:54] [HEIGHT] Row 1 msg 1620: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:33:54] [HEIGHT_DEBUG] Row 2 msg 1619: isPlayingEvolution=false, textLength=7, text='Yooooou...'
[11:33:54] [HEIGHT] Row 2 msg 1619: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:33:54] [HEIGHT_DEBUG] Row 1 msg 1620: isPlayingEvolution=true, textLength=0, text='...'
[11:33:54] [HEIGHT] Row 1 msg 1620: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:33:54] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:33:54] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:33:54] [HEIGHT_DEBUG] Row 2 msg 1619: isPlayingEvolution=false, textLength=7, text='Yooooou...'
[11:33:54] [HEIGHT] Row 2 msg 1619: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:33:54] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:54] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:54] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:54] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:33:54] [EVOLUTION_SEQ] ⏱️ t=1763289234.933 πŸ“± Table reloaded: 48 β†’ 49 messages (bubble for 1620 now visible)
[11:33:55] [EVOLUTION_SEQ] ⏱️ t=1763289235.247 ▢️ Starting animation for message 1620
[11:33:55] [EVOLUTION] πŸ“‘ Fetching evolution data for message 1620
[11:33:55] [EVOLUTION] πŸ” Raw response (373 bytes): {"ok":true,"has_evolution":true,"message_id":1620,"evolution":{"events":[{"op":"i","t":0,"c":"M","p":0},{"t":202,"c":"e","op":"i","p":1},{"op":"i","c":"s","t":386,"p":2},{"op":"i","p":3,"c":"s","t":52
[11:33:55] [EVOLUTION] πŸ” Parsed JSON keys: ["created_at", "evolution", "has_evolution", "message_id", "ok"]
[11:33:55] [EVOLUTION] πŸ” has_evolution: 1
[11:33:55] [EVOLUTION] βœ… Got 8 events for message 1620
[11:33:55] [OVERLAP_FIX] πŸš€ Starting evolution - forcing initial height recalculation
[11:33:55] [UPDATE] πŸ”„ updateMessageCell(for: 1620) β€” full safe reload
[11:33:55] [ROWS] ===== updateMessageCell for 1620 β€” chatRows.count=50 =====
[11:33:55] [ROWS] 0: SEPARATOR
[11:33:55] [ROWS] 1: MESSAGE id=1620 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=8
[11:33:55] [ROWS] 2: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:55] [ROWS] 3: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:55] [ROWS] 4: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:55] [ROWS] 5: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:33:55] [ROWS] 6: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:33:55] [ROWS] 7: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:55] [ROWS] 8: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:55] [ROWS] 9: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:55] [ROWS] 10: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:55] [ROWS] 11: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:33:55] [ROWS] 12: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:33:55] [ROWS] 13: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:55] [ROWS] 14: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:55] [ROWS] 15: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:33:55] [ROWS] 16: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:55] [ROWS] 17: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:55] [ROWS] 18: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:55] [ROWS] 19: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:55] [ROWS] 20: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:33:55] [ROWS] 21: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:55] [ROWS] 22: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:55] [ROWS] 23: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:55] [ROWS] 24: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:55] [ROWS] 25: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:33:55] [ROWS] 26: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:33:55] [ROWS] 27: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:33:55] [ROWS] 28: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:33:55] [ROWS] 29: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:55] [ROWS] 30: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:55] [ROWS] 31: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:55] [ROWS] 32: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:55] [ROWS] 33: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:55] [ROWS] 34: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:55] [ROWS] 35: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:55] [ROWS] 36: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:55] [ROWS] 37: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:55] [ROWS] 38: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:55] [ROWS] 39: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:55] [ROWS] 40: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:55] [ROWS] 41: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:55] [ROWS] 42: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:55] [ROWS] 43: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:33:55] [ROWS] 44: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:55] [ROWS] 45: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:55] [ROWS] 46: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:33:55] [ROWS] 47: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:55] [ROWS] 48: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:55] [ROWS] 49: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:55] [ROWS] ===== END (updateMessageCell for 1620) =====
[11:33:55] [HEIGHT_DEBUG] Row 1 msg 1620: isPlayingEvolution=true, textLength=0, text='...'
[11:33:55] [HEIGHT] Row 1 msg 1620: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:33:55] [HEIGHT_DEBUG] Row 2 msg 1619: isPlayingEvolution=false, textLength=7, text='Yooooou...'
[11:33:55] [HEIGHT] Row 2 msg 1619: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:33:55] [HEIGHT_DEBUG] Row 1 msg 1620: isPlayingEvolution=true, textLength=0, text='...'
[11:33:55] [HEIGHT] Row 1 msg 1620: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:33:55] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:33:55] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:33:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:33:55] [HEIGHT_DEBUG] Row 2 msg 1619: isPlayingEvolution=false, textLength=7, text='Yooooou...'
[11:33:55] [HEIGHT] Row 2 msg 1619: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:33:55] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:55] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:55] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:55] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:55] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:55] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:55] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:55] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:55] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:55] [EVOLUTION] ▢️ Starting inline playback for message 1620 with 8 events
[11:33:55] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("session_id"): ILUIWU2, AnyHashable("message_id"): 1621, AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("operation_type"): 3]
[11:33:55] [PUSH] Parsed message_id: 1621
[11:33:55] [PUSH] Parsed operation_type: 3
[11:33:55] [PUSH] Taking direct action: opType=3, messageId=1621
[11:33:55] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=1621
[11:33:55] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("session_id"): ILUIWU2, AnyHashable("message_id"): 1620, AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("operation_type"): 3]
[11:33:55] [PUSH] Parsed message_id: 1620
[11:33:55] [PUSH] Parsed operation_type: 3
[11:33:55] [PUSH] Taking direct action: opType=3, messageId=1620
[11:33:55] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=1620
[11:33:55] [EVOLUTION] πŸ“ Event 0/8 - Text now: "M..."
[11:33:55] [UPDATE] πŸ”„ updateMessageCell(for: 1620) β€” full safe reload
[11:33:55] [ROWS] ===== updateMessageCell for 1620 β€” chatRows.count=50 =====
[11:33:55] [ROWS] 0: SEPARATOR
[11:33:55] [ROWS] 1: MESSAGE id=1620 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=1 textLen=8
[11:33:55] [ROWS] 2: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:55] [ROWS] 3: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:55] [ROWS] 4: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:55] [ROWS] 5: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:33:55] [ROWS] 6: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:33:55] [ROWS] 7: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:55] [ROWS] 8: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:55] [ROWS] 9: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:55] [ROWS] 10: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:55] [ROWS] 11: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:33:55] [ROWS] 12: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:33:55] [ROWS] 13: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:55] [ROWS] 14: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:55] [ROWS] 15: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:33:55] [ROWS] 16: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:55] [ROWS] 17: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:55] [ROWS] 18: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:55] [ROWS] 19: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:55] [ROWS] 20: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:33:55] [ROWS] 21: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:55] [ROWS] 22: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:55] [ROWS] 23: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:55] [ROWS] 24: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:55] [ROWS] 25: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:33:55] [ROWS] 26: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:33:55] [ROWS] 27: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:33:55] [ROWS] 28: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:33:55] [ROWS] 29: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:55] [ROWS] 30: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:55] [ROWS] 31: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:55] [ROWS] 32: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:55] [ROWS] 33: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:55] [ROWS] 34: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:55] [ROWS] 35: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:55] [ROWS] 36: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:55] [ROWS] 37: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:55] [ROWS] 38: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:55] [ROWS] 39: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:55] [ROWS] 40: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:55] [ROWS] 41: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:55] [ROWS] 42: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:55] [ROWS] 43: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:33:55] [ROWS] 44: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:55] [ROWS] 45: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:55] [ROWS] 46: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:33:55] [ROWS] 47: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:55] [ROWS] 48: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:55] [ROWS] 49: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:55] [ROWS] ===== END (updateMessageCell for 1620) =====
[11:33:55] [HEIGHT_DEBUG] Row 1 msg 1620: isPlayingEvolution=true, textLength=1, text='M...'
[11:33:55] [HEIGHT] Row 1 msg 1620: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:33:55] [HEIGHT_DEBUG] Row 2 msg 1619: isPlayingEvolution=false, textLength=7, text='Yooooou...'
[11:33:55] [HEIGHT] Row 2 msg 1619: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:33:55] [HEIGHT_DEBUG] Row 1 msg 1620: isPlayingEvolution=true, textLength=1, text='M...'
[11:33:55] [HEIGHT] Row 1 msg 1620: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:33:55] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:33:55] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:33:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:55] [HEIGHT_DEBUG] Row 2 msg 1619: isPlayingEvolution=false, textLength=7, text='Yooooou...'
[11:33:55] [HEIGHT] Row 2 msg 1619: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:33:55] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:55] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:55] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:55] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:55] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:55] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:55] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:55] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:55] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:55] [EVOLUTION] πŸ“ Event 1/8 - Text now: "Me..."
[11:33:55] [UPDATE] πŸ”„ updateMessageCell(for: 1620) β€” full safe reload
[11:33:55] [ROWS] ===== updateMessageCell for 1620 β€” chatRows.count=50 =====
[11:33:55] [ROWS] 0: SEPARATOR
[11:33:55] [ROWS] 1: MESSAGE id=1620 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=2 textLen=8
[11:33:55] [ROWS] 2: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:55] [ROWS] 3: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:55] [ROWS] 4: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:55] [ROWS] 5: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:33:55] [ROWS] 6: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:33:55] [ROWS] 7: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:55] [ROWS] 8: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:55] [ROWS] 9: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:55] [ROWS] 10: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:55] [ROWS] 11: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:33:55] [ROWS] 12: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:33:55] [ROWS] 13: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:55] [ROWS] 14: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:55] [ROWS] 15: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:33:55] [ROWS] 16: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:55] [ROWS] 17: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:55] [ROWS] 18: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:55] [ROWS] 19: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:55] [ROWS] 20: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:33:55] [ROWS] 21: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:55] [ROWS] 22: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:55] [ROWS] 23: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:55] [ROWS] 24: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:55] [ROWS] 25: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:33:55] [ROWS] 26: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:33:55] [ROWS] 27: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:33:55] [ROWS] 28: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:33:55] [ROWS] 29: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:55] [ROWS] 30: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:55] [ROWS] 31: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:55] [ROWS] 32: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:55] [ROWS] 33: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:55] [ROWS] 34: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:55] [ROWS] 35: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:55] [ROWS] 36: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:55] [ROWS] 37: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:55] [ROWS] 38: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:55] [ROWS] 39: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:55] [ROWS] 40: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:55] [ROWS] 41: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:55] [ROWS] 42: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:55] [ROWS] 43: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:33:55] [ROWS] 44: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:55] [ROWS] 45: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:55] [ROWS] 46: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:33:55] [ROWS] 47: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:55] [ROWS] 48: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:55] [ROWS] 49: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:55] [ROWS] ===== END (updateMessageCell for 1620) =====
[11:33:55] [HEIGHT_DEBUG] Row 1 msg 1620: isPlayingEvolution=true, textLength=2, text='Me...'
[11:33:55] [HEIGHT] Row 1 msg 1620: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:33:55] [HEIGHT_DEBUG] Row 2 msg 1619: isPlayingEvolution=false, textLength=7, text='Yooooou...'
[11:33:55] [HEIGHT] Row 2 msg 1619: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:33:55] [HEIGHT_DEBUG] Row 1 msg 1620: isPlayingEvolution=true, textLength=2, text='Me...'
[11:33:55] [HEIGHT] Row 1 msg 1620: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:33:55] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:33:55] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:33:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:55] [HEIGHT_DEBUG] Row 2 msg 1619: isPlayingEvolution=false, textLength=7, text='Yooooou...'
[11:33:55] [HEIGHT] Row 2 msg 1619: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:33:55] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:55] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:55] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:55] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:55] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:55] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:55] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:55] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:55] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:55] [EVOLUTION] πŸ“ Event 2/8 - Text now: "Mes..."
[11:33:55] [UPDATE] πŸ”„ updateMessageCell(for: 1620) β€” full safe reload
[11:33:55] [ROWS] ===== updateMessageCell for 1620 β€” chatRows.count=50 =====
[11:33:55] [ROWS] 0: SEPARATOR
[11:33:55] [ROWS] 1: MESSAGE id=1620 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=3 textLen=8
[11:33:55] [ROWS] 2: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:55] [ROWS] 3: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:55] [ROWS] 4: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:55] [ROWS] 5: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:33:55] [ROWS] 6: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:33:55] [ROWS] 7: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:55] [ROWS] 8: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:55] [ROWS] 9: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:55] [ROWS] 10: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:55] [ROWS] 11: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:33:55] [ROWS] 12: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:33:55] [ROWS] 13: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:55] [ROWS] 14: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:55] [ROWS] 15: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:33:55] [ROWS] 16: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:55] [ROWS] 17: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:55] [ROWS] 18: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:55] [ROWS] 19: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:55] [ROWS] 20: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:33:55] [ROWS] 21: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:55] [ROWS] 22: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:55] [ROWS] 23: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:55] [ROWS] 24: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:55] [ROWS] 25: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:33:55] [ROWS] 26: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:33:55] [ROWS] 27: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:33:55] [ROWS] 28: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:33:55] [ROWS] 29: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:55] [ROWS] 30: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:55] [ROWS] 31: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:55] [ROWS] 32: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:55] [ROWS] 33: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:55] [ROWS] 34: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:55] [ROWS] 35: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:55] [ROWS] 36: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:55] [ROWS] 37: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:55] [ROWS] 38: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:55] [ROWS] 39: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:55] [ROWS] 40: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:55] [ROWS] 41: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:55] [ROWS] 42: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:55] [ROWS] 43: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:33:55] [ROWS] 44: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:55] [ROWS] 45: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:55] [ROWS] 46: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:33:55] [ROWS] 47: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:55] [ROWS] 48: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:55] [ROWS] 49: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:55] [ROWS] ===== END (updateMessageCell for 1620) =====
[11:33:55] [HEIGHT_DEBUG] Row 1 msg 1620: isPlayingEvolution=true, textLength=3, text='Mes...'
[11:33:55] [HEIGHT] Row 1 msg 1620: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:33:55] [HEIGHT_DEBUG] Row 2 msg 1619: isPlayingEvolution=false, textLength=7, text='Yooooou...'
[11:33:55] [HEIGHT] Row 2 msg 1619: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:33:55] [HEIGHT_DEBUG] Row 1 msg 1620: isPlayingEvolution=true, textLength=3, text='Mes...'
[11:33:55] [HEIGHT] Row 1 msg 1620: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:33:55] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:33:55] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:33:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:55] [HEIGHT_DEBUG] Row 2 msg 1619: isPlayingEvolution=false, textLength=7, text='Yooooou...'
[11:33:55] [HEIGHT] Row 2 msg 1619: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:33:55] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:55] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:55] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:55] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:55] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:55] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:55] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:55] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:55] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:55] [EVOLUTION] πŸ“ Event 3/8 - Text now: "Mess..."
[11:33:55] [UPDATE] πŸ”„ updateMessageCell(for: 1620) β€” full safe reload
[11:33:55] [ROWS] ===== updateMessageCell for 1620 β€” chatRows.count=50 =====
[11:33:55] [ROWS] 0: SEPARATOR
[11:33:55] [ROWS] 1: MESSAGE id=1620 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=4 textLen=8
[11:33:55] [ROWS] 2: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:55] [ROWS] 3: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:55] [ROWS] 4: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:55] [ROWS] 5: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:33:55] [ROWS] 6: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:33:55] [ROWS] 7: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:55] [ROWS] 8: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:55] [ROWS] 9: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:55] [ROWS] 10: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:55] [ROWS] 11: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:33:55] [ROWS] 12: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:33:55] [ROWS] 13: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:55] [ROWS] 14: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:55] [ROWS] 15: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:33:55] [ROWS] 16: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:55] [ROWS] 17: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:55] [ROWS] 18: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:55] [ROWS] 19: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:55] [ROWS] 20: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:33:55] [ROWS] 21: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:55] [ROWS] 22: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:55] [ROWS] 23: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:55] [ROWS] 24: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:55] [ROWS] 25: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:33:55] [ROWS] 26: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:33:55] [ROWS] 27: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:33:55] [ROWS] 28: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:33:55] [ROWS] 29: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:55] [ROWS] 30: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:55] [ROWS] 31: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:55] [ROWS] 32: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:55] [ROWS] 33: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:55] [ROWS] 34: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:55] [ROWS] 35: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:55] [ROWS] 36: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:55] [ROWS] 37: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:55] [ROWS] 38: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:55] [ROWS] 39: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:55] [ROWS] 40: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:55] [ROWS] 41: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:55] [ROWS] 42: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:55] [ROWS] 43: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:33:55] [ROWS] 44: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:55] [ROWS] 45: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:55] [ROWS] 46: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:33:55] [ROWS] 47: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:55] [ROWS] 48: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:55] [ROWS] 49: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:55] [ROWS] ===== END (updateMessageCell for 1620) =====
[11:33:55] [HEIGHT_DEBUG] Row 1 msg 1620: isPlayingEvolution=true, textLength=4, text='Mess...'
[11:33:55] [HEIGHT] Row 1 msg 1620: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:33:55] [HEIGHT_DEBUG] Row 2 msg 1619: isPlayingEvolution=false, textLength=7, text='Yooooou...'
[11:33:55] [HEIGHT] Row 2 msg 1619: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:33:55] [HEIGHT_DEBUG] Row 1 msg 1620: isPlayingEvolution=true, textLength=4, text='Mess...'
[11:33:55] [HEIGHT] Row 1 msg 1620: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:33:55] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:33:55] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:33:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:55] [HEIGHT_DEBUG] Row 2 msg 1619: isPlayingEvolution=false, textLength=7, text='Yooooou...'
[11:33:55] [HEIGHT] Row 2 msg 1619: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:33:55] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:55] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:55] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:55] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:55] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:55] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:55] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:55] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:55] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:55] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:55] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:56] [EVOLUTION] πŸ“ Event 4/8 - Text now: "Messa..."
[11:33:56] [UPDATE] πŸ”„ updateMessageCell(for: 1620) β€” full safe reload
[11:33:56] [ROWS] ===== updateMessageCell for 1620 β€” chatRows.count=50 =====
[11:33:56] [ROWS] 0: SEPARATOR
[11:33:56] [ROWS] 1: MESSAGE id=1620 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=5 textLen=8
[11:33:56] [ROWS] 2: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:56] [ROWS] 3: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:56] [ROWS] 4: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:56] [ROWS] 5: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:33:56] [ROWS] 6: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:33:56] [ROWS] 7: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:56] [ROWS] 8: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:56] [ROWS] 9: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:56] [ROWS] 10: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:56] [ROWS] 11: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:33:56] [ROWS] 12: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:33:56] [ROWS] 13: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:56] [ROWS] 14: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:56] [ROWS] 15: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:33:56] [ROWS] 16: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:56] [ROWS] 17: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:56] [ROWS] 18: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:56] [ROWS] 19: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:56] [ROWS] 20: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:33:56] [ROWS] 21: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:56] [ROWS] 22: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:56] [ROWS] 23: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:56] [ROWS] 24: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:56] [ROWS] 25: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:33:56] [ROWS] 26: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:33:56] [ROWS] 27: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:33:56] [ROWS] 28: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:33:56] [ROWS] 29: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:56] [ROWS] 30: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:56] [ROWS] 31: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:56] [ROWS] 32: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:56] [ROWS] 33: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:56] [ROWS] 34: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:56] [ROWS] 35: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:56] [ROWS] 36: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:56] [ROWS] 37: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:56] [ROWS] 38: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:56] [ROWS] 39: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:56] [ROWS] 40: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:56] [ROWS] 41: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:56] [ROWS] 42: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:56] [ROWS] 43: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:33:56] [ROWS] 44: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:56] [ROWS] 45: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:56] [ROWS] 46: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:33:56] [ROWS] 47: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:56] [ROWS] 48: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:56] [ROWS] 49: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:56] [ROWS] ===== END (updateMessageCell for 1620) =====
[11:33:56] [HEIGHT_DEBUG] Row 1 msg 1620: isPlayingEvolution=true, textLength=5, text='Messa...'
[11:33:56] [HEIGHT] Row 1 msg 1620: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:33:56] [HEIGHT_DEBUG] Row 2 msg 1619: isPlayingEvolution=false, textLength=7, text='Yooooou...'
[11:33:56] [HEIGHT] Row 2 msg 1619: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:33:56] [HEIGHT_DEBUG] Row 1 msg 1620: isPlayingEvolution=true, textLength=5, text='Messa...'
[11:33:56] [HEIGHT] Row 1 msg 1620: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:33:56] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:33:56] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:33:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:56] [HEIGHT_DEBUG] Row 2 msg 1619: isPlayingEvolution=false, textLength=7, text='Yooooou...'
[11:33:56] [HEIGHT] Row 2 msg 1619: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:33:56] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:56] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:56] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:56] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:56] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:56] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:56] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:56] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:56] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:56] [EVOLUTION] πŸ“ Event 5/8 - Text now: "Messag..."
[11:33:56] [UPDATE] πŸ”„ updateMessageCell(for: 1620) β€” full safe reload
[11:33:56] [ROWS] ===== updateMessageCell for 1620 β€” chatRows.count=50 =====
[11:33:56] [ROWS] 0: SEPARATOR
[11:33:56] [ROWS] 1: MESSAGE id=1620 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=6 textLen=8
[11:33:56] [ROWS] 2: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:56] [ROWS] 3: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:56] [ROWS] 4: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:56] [ROWS] 5: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:33:56] [ROWS] 6: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:33:56] [ROWS] 7: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:56] [ROWS] 8: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:56] [ROWS] 9: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:56] [ROWS] 10: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:56] [ROWS] 11: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:33:56] [ROWS] 12: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:33:56] [ROWS] 13: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:56] [ROWS] 14: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:56] [ROWS] 15: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:33:56] [ROWS] 16: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:56] [ROWS] 17: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:56] [ROWS] 18: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:56] [ROWS] 19: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:56] [ROWS] 20: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:33:56] [ROWS] 21: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:56] [ROWS] 22: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:56] [ROWS] 23: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:56] [ROWS] 24: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:56] [ROWS] 25: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:33:56] [ROWS] 26: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:33:56] [ROWS] 27: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:33:56] [ROWS] 28: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:33:56] [ROWS] 29: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:56] [ROWS] 30: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:56] [ROWS] 31: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:56] [ROWS] 32: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:56] [ROWS] 33: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:56] [ROWS] 34: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:56] [ROWS] 35: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:56] [ROWS] 36: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:56] [ROWS] 37: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:56] [ROWS] 38: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:56] [ROWS] 39: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:56] [ROWS] 40: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:56] [ROWS] 41: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:56] [ROWS] 42: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:56] [ROWS] 43: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:33:56] [ROWS] 44: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:56] [ROWS] 45: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:56] [ROWS] 46: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:33:56] [ROWS] 47: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:56] [ROWS] 48: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:56] [ROWS] 49: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:56] [ROWS] ===== END (updateMessageCell for 1620) =====
[11:33:56] [HEIGHT_DEBUG] Row 1 msg 1620: isPlayingEvolution=true, textLength=6, text='Messag...'
[11:33:56] [HEIGHT] Row 1 msg 1620: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:33:56] [HEIGHT_DEBUG] Row 2 msg 1619: isPlayingEvolution=false, textLength=7, text='Yooooou...'
[11:33:56] [HEIGHT] Row 2 msg 1619: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:33:56] [HEIGHT_DEBUG] Row 1 msg 1620: isPlayingEvolution=true, textLength=6, text='Messag...'
[11:33:56] [HEIGHT] Row 1 msg 1620: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:33:56] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:33:56] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:33:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:56] [HEIGHT_DEBUG] Row 2 msg 1619: isPlayingEvolution=false, textLength=7, text='Yooooou...'
[11:33:56] [HEIGHT] Row 2 msg 1619: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:33:56] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:56] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:56] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:56] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:56] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:56] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:56] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:56] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:56] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:56] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:33:56] Will get events_php
[11:33:56] [TYPING] πŸ”„ ========== POLL START ==========
[11:33:56] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:33:56] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:33:56] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:33:56] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:33:56] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:33:56] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:33:56] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:33:56] [TYPING] πŸ“₯ Found 0 typing users in response
[11:33:56] [TYPING] πŸ“₯ Updating typing users SET: []
[11:33:56] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:33:56] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:33:56] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:33:56] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:33:56] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:33:56] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:33:56] [TYPING] πŸ”„ ========== POLL END ==========
[11:33:56] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Type: application/json; charset=utf-8
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Keep-Alive: timeout=5, max=95
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Content-Length: 580
Date: Sun, 16 Nov 2025 10:33:56 GMT
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":7,"events":[{"event_id":10721,"event_type":3,"message_id":1620,"session_id":"ILUIWU2"},{"event_id":10723,"event_type":3,"message_id":1621,"session_id":"ILUIWU2"},{"event_id":10724,"event_type":3,"message_id":1621,"session_id":"ILUIWU2"},{"event_id":10725,"event_type":3,"message_id":1619,"session_id":"ILUIWU2"},{"event_id":10726,"event_type":3,"message_id":1618,"session_id":"ILUIWU2"},{"event_id":10727,"event_type":3,"message_id":1621,"session_id":"ILUIWU2"},{"event_id":10728,"event_type":3,"message_id":1620,"session_id":"ILUIWU2"}]}
[11:33:56] Done
[11:33:56] [EVOLUTION] πŸ“ Event 6/8 - Text now: "Message..."
[11:33:56] [UPDATE] πŸ”„ updateMessageCell(for: 1620) β€” full safe reload
[11:33:56] [ROWS] ===== updateMessageCell for 1620 β€” chatRows.count=50 =====
[11:33:56] [ROWS] 0: SEPARATOR
[11:33:56] [ROWS] 1: MESSAGE id=1620 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=7 textLen=8
[11:33:56] [ROWS] 2: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:56] [ROWS] 3: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:56] [ROWS] 4: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:56] [ROWS] 5: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:33:56] [ROWS] 6: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:33:56] [ROWS] 7: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:56] [ROWS] 8: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:56] [ROWS] 9: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:56] [ROWS] 10: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:56] [ROWS] 11: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:33:56] [ROWS] 12: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:33:56] [ROWS] 13: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:56] [ROWS] 14: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:56] [ROWS] 15: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:33:56] [ROWS] 16: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:56] [ROWS] 17: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:56] [ROWS] 18: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:56] [ROWS] 19: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:56] [ROWS] 20: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:33:56] [ROWS] 21: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:56] [ROWS] 22: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:56] [ROWS] 23: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:56] [ROWS] 24: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:56] [ROWS] 25: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:33:56] [ROWS] 26: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:33:56] [ROWS] 27: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:33:56] [ROWS] 28: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:33:56] [ROWS] 29: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:56] [ROWS] 30: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:56] [ROWS] 31: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:56] [ROWS] 32: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:56] [ROWS] 33: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:56] [ROWS] 34: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:56] [ROWS] 35: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:56] [ROWS] 36: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:56] [ROWS] 37: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:56] [ROWS] 38: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:56] [ROWS] 39: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:56] [ROWS] 40: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:56] [ROWS] 41: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:56] [ROWS] 42: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:56] [ROWS] 43: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:33:56] [ROWS] 44: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:56] [ROWS] 45: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:56] [ROWS] 46: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:33:56] [ROWS] 47: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:56] [ROWS] 48: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:56] [ROWS] 49: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:56] [ROWS] ===== END (updateMessageCell for 1620) =====
[11:33:56] [HEIGHT_DEBUG] Row 1 msg 1620: isPlayingEvolution=true, textLength=7, text='Message...'
[11:33:56] [HEIGHT] Row 1 msg 1620: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:33:56] [HEIGHT_DEBUG] Row 2 msg 1619: isPlayingEvolution=false, textLength=7, text='Yooooou...'
[11:33:56] [HEIGHT] Row 2 msg 1619: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:33:56] [HEIGHT_DEBUG] Row 1 msg 1620: isPlayingEvolution=true, textLength=7, text='Message...'
[11:33:56] [HEIGHT] Row 1 msg 1620: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:33:56] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:33:56] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:33:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:56] [HEIGHT_DEBUG] Row 2 msg 1619: isPlayingEvolution=false, textLength=7, text='Yooooou...'
[11:33:56] [HEIGHT] Row 2 msg 1619: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:33:56] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:56] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:56] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:56] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:56] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:56] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:56] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:56] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:56] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:56] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:56] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:57] [EVOLUTION] πŸ“ Event 7/8 - Text now: "Message1..."
[11:33:57] [UPDATE] πŸ”„ updateMessageCell(for: 1620) β€” full safe reload
[11:33:57] [ROWS] ===== updateMessageCell for 1620 β€” chatRows.count=50 =====
[11:33:57] [ROWS] 0: SEPARATOR
[11:33:57] [ROWS] 1: MESSAGE id=1620 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=8 textLen=8
[11:33:57] [ROWS] 2: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:57] [ROWS] 3: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:57] [ROWS] 4: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:57] [ROWS] 5: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:33:57] [ROWS] 6: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:33:57] [ROWS] 7: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:57] [ROWS] 8: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:57] [ROWS] 9: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:57] [ROWS] 10: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:57] [ROWS] 11: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:33:57] [ROWS] 12: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:33:57] [ROWS] 13: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:57] [ROWS] 14: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:57] [ROWS] 15: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:33:57] [ROWS] 16: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:57] [ROWS] 17: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:57] [ROWS] 18: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:57] [ROWS] 19: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:57] [ROWS] 20: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:33:57] [ROWS] 21: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:57] [ROWS] 22: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:57] [ROWS] 23: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:57] [ROWS] 24: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:57] [ROWS] 25: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:33:57] [ROWS] 26: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:33:57] [ROWS] 27: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:33:57] [ROWS] 28: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:33:57] [ROWS] 29: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:57] [ROWS] 30: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:57] [ROWS] 31: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:57] [ROWS] 32: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:57] [ROWS] 33: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:57] [ROWS] 34: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:57] [ROWS] 35: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:57] [ROWS] 36: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:57] [ROWS] 37: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:57] [ROWS] 38: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:57] [ROWS] 39: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:57] [ROWS] 40: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:57] [ROWS] 41: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:57] [ROWS] 42: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:57] [ROWS] 43: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:33:57] [ROWS] 44: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:57] [ROWS] 45: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:57] [ROWS] 46: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:33:57] [ROWS] 47: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:57] [ROWS] 48: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:57] [ROWS] 49: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:57] [ROWS] ===== END (updateMessageCell for 1620) =====
[11:33:57] [HEIGHT_DEBUG] Row 1 msg 1620: isPlayingEvolution=true, textLength=8, text='Message1...'
[11:33:57] [HEIGHT] Row 1 msg 1620: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:33:57] [HEIGHT_DEBUG] Row 2 msg 1619: isPlayingEvolution=false, textLength=7, text='Yooooou...'
[11:33:57] [HEIGHT] Row 2 msg 1619: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:33:57] [HEIGHT_DEBUG] Row 1 msg 1620: isPlayingEvolution=true, textLength=8, text='Message1...'
[11:33:57] [HEIGHT] Row 1 msg 1620: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:33:57] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:33:57] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:33:57] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:57] [HEIGHT_DEBUG] Row 2 msg 1619: isPlayingEvolution=false, textLength=7, text='Yooooou...'
[11:33:57] [HEIGHT] Row 2 msg 1619: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:33:57] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:57] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:57] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:57] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:57] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:57] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:57] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:57] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:57] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:57] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:57] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:57] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:57] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:57] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:57] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:57] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:57] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:57] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:57] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:57] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:57] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:57] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:57] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:57] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:57] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:57] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:57] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:57] [EVOLUTION_SEQ] ⏱️ t=1763289237.342 βœ… Finished message 1620 - duration=2.41s, length=8 chars, speed=3 chars/s
[11:33:57] [UPDATE] πŸ”„ updateMessageCell(for: 1620) β€” full safe reload
[11:33:57] [ROWS] ===== updateMessageCell for 1620 β€” chatRows.count=50 =====
[11:33:57] [ROWS] 0: SEPARATOR
[11:33:57] [ROWS] 1: MESSAGE id=1620 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=8 textLen=8
[11:33:57] [ROWS] 2: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:57] [ROWS] 3: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:57] [ROWS] 4: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:57] [ROWS] 5: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:33:57] [ROWS] 6: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:33:57] [ROWS] 7: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:57] [ROWS] 8: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:57] [ROWS] 9: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:57] [ROWS] 10: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:57] [ROWS] 11: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:33:57] [ROWS] 12: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:33:57] [ROWS] 13: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:57] [ROWS] 14: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:57] [ROWS] 15: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:33:57] [ROWS] 16: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:57] [ROWS] 17: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:57] [ROWS] 18: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:57] [ROWS] 19: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:57] [ROWS] 20: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:33:57] [ROWS] 21: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:57] [ROWS] 22: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:57] [ROWS] 23: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:57] [ROWS] 24: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:57] [ROWS] 25: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:33:57] [ROWS] 26: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:33:57] [ROWS] 27: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:33:57] [ROWS] 28: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:33:57] [ROWS] 29: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:57] [ROWS] 30: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:57] [ROWS] 31: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:57] [ROWS] 32: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:57] [ROWS] 33: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:57] [ROWS] 34: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:57] [ROWS] 35: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:57] [ROWS] 36: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:57] [ROWS] 37: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:57] [ROWS] 38: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:57] [ROWS] 39: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:57] [ROWS] 40: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:57] [ROWS] 41: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:57] [ROWS] 42: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:57] [ROWS] 43: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:33:57] [ROWS] 44: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:57] [ROWS] 45: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:57] [ROWS] 46: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:33:57] [ROWS] 47: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:57] [ROWS] 48: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:57] [ROWS] 49: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:57] [ROWS] ===== END (updateMessageCell for 1620) =====
[11:33:57] [HEIGHT_DEBUG] Row 1 msg 1620: isPlayingEvolution=false, textLength=8, text='Message1...'
[11:33:57] [HEIGHT] Row 1 msg 1620: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:33:57] [HEIGHT_DEBUG] Row 2 msg 1619: isPlayingEvolution=false, textLength=7, text='Yooooou...'
[11:33:57] [HEIGHT] Row 2 msg 1619: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:33:57] [HEIGHT_DEBUG] Row 1 msg 1620: isPlayingEvolution=false, textLength=8, text='Message1...'
[11:33:57] [HEIGHT] Row 1 msg 1620: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:33:57] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:33:57] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:33:57] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:57] [HEIGHT_DEBUG] Row 2 msg 1619: isPlayingEvolution=false, textLength=7, text='Yooooou...'
[11:33:57] [HEIGHT] Row 2 msg 1619: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:33:57] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:57] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:57] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:57] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:57] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:57] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:57] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:57] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:57] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:57] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:57] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:57] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:57] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:57] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:57] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:57] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:57] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:57] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:57] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:57] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:57] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:57] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:57] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:57] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:57] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:57] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:57] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:57] [EVOLUTION_SEQ] ⏱️ t=1763289237.358 🎬 1 messages remaining, playing next after 0.5s delay
[11:33:57] [EVOLUTION_SEQ] ⏱️ t=1763289237.882 ▢️ Playing message 1621 - 0 remaining in queue
[11:33:57] [EVOLUTION_SEQ] ⏱️ t=1763289237.882 πŸ“ Message 1621: "Message2..." (8 chars)
[11:33:57] [EVOLUTION_SEQ] ⏱️ t=1763289237.883 πŸ”“ Removed message 1621 from pending set
[11:33:57] [EVOLUTION_SEQ] ⏱️ t=1763289237.883 🎬 Set evolution state for message 1621
[11:33:57] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:33:57] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:33:57] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:33:57] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=51 =====
[11:33:57] [ROWS] 0: SEPARATOR
[11:33:57] [ROWS] 1: MESSAGE id=1621 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=8
[11:33:57] [ROWS] 2: MESSAGE id=1620 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=8 textLen=8
[11:33:57] [ROWS] 3: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:57] [ROWS] 4: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:57] [ROWS] 5: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:57] [ROWS] 6: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:33:57] [ROWS] 7: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:33:57] [ROWS] 8: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:57] [ROWS] 9: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:57] [ROWS] 10: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:57] [ROWS] 11: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:57] [ROWS] 12: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:33:57] [ROWS] 13: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:33:57] [ROWS] 14: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:57] [ROWS] 15: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:57] [ROWS] 16: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:33:57] [ROWS] 17: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:57] [ROWS] 18: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:57] [ROWS] 19: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:57] [ROWS] 20: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:57] [ROWS] 21: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:33:57] [ROWS] 22: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:57] [ROWS] 23: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:57] [ROWS] 24: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:57] [ROWS] 25: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:57] [ROWS] 26: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:33:57] [ROWS] 27: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:33:57] [ROWS] 28: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:33:57] [ROWS] 29: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:33:57] [ROWS] 30: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:57] [ROWS] 31: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:57] [ROWS] 32: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:57] [ROWS] 33: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:57] [ROWS] 34: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:57] [ROWS] 35: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:57] [ROWS] 36: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:57] [ROWS] 37: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:57] [ROWS] 38: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:57] [ROWS] 39: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:57] [ROWS] 40: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:57] [ROWS] 41: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:57] [ROWS] 42: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:57] [ROWS] 43: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:57] [ROWS] 44: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:33:57] [ROWS] 45: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:57] [ROWS] 46: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:57] [ROWS] 47: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:33:57] [ROWS] 48: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:57] [ROWS] 49: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:57] [ROWS] 50: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:57] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:33:57] [TAB_FILTER] πŸ“Š Reloading table with 51 rows
[11:33:57] [HEIGHT_DEBUG] Row 1 msg 1621: isPlayingEvolution=true, textLength=0, text='...'
[11:33:57] [HEIGHT] Row 1 msg 1621: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:33:57] [HEIGHT_DEBUG] Row 2 msg 1620: isPlayingEvolution=false, textLength=8, text='Message1...'
[11:33:57] [HEIGHT] Row 2 msg 1620: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:33:57] [HEIGHT_DEBUG] Row 1 msg 1621: isPlayingEvolution=true, textLength=0, text='...'
[11:33:57] [HEIGHT] Row 1 msg 1621: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:33:57] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:33:57] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:33:57] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:33:57] [HEIGHT_DEBUG] Row 2 msg 1620: isPlayingEvolution=false, textLength=8, text='Message1...'
[11:33:57] [HEIGHT] Row 2 msg 1620: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:33:57] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:57] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:57] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:57] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:57] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:57] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:57] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:57] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:57] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:57] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:57] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:57] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:57] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:57] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:57] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:57] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:57] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:57] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:57] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:57] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:57] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:57] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:57] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:57] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:57] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:57] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:57] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:57] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:33:57] [EVOLUTION_SEQ] ⏱️ t=1763289237.884 πŸ“± Table reloaded: 49 β†’ 50 messages (bubble for 1621 now visible)
[11:33:58] [EVOLUTION_SEQ] ⏱️ t=1763289238.214 ▢️ Starting animation for message 1621
[11:33:58] [EVOLUTION] πŸ“‘ Fetching evolution data for message 1621
[11:33:58] [EVOLUTION] πŸ” Raw response (373 bytes): {"ok":true,"has_evolution":true,"message_id":1621,"evolution":{"events":[{"op":"i","c":"M","t":0,"p":0},{"t":219,"c":"e","op":"i","p":1},{"c":"s","op":"i","p":2,"t":386},{"c":"s","p":3,"op":"i","t":48
[11:33:58] [EVOLUTION] πŸ” Parsed JSON keys: ["created_at", "evolution", "has_evolution", "message_id", "ok"]
[11:33:58] [EVOLUTION] πŸ” has_evolution: 1
[11:33:58] [EVOLUTION] βœ… Got 8 events for message 1621
[11:33:58] [OVERLAP_FIX] πŸš€ Starting evolution - forcing initial height recalculation
[11:33:58] [UPDATE] πŸ”„ updateMessageCell(for: 1621) β€” full safe reload
[11:33:58] [ROWS] ===== updateMessageCell for 1621 β€” chatRows.count=51 =====
[11:33:58] [ROWS] 0: SEPARATOR
[11:33:58] [ROWS] 1: MESSAGE id=1621 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=8
[11:33:58] [ROWS] 2: MESSAGE id=1620 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=8 textLen=8
[11:33:58] [ROWS] 3: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:58] [ROWS] 4: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:58] [ROWS] 5: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:58] [ROWS] 6: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:33:58] [ROWS] 7: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:33:58] [ROWS] 8: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:58] [ROWS] 9: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:58] [ROWS] 10: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:58] [ROWS] 11: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:58] [ROWS] 12: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:33:58] [ROWS] 13: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:33:58] [ROWS] 14: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:58] [ROWS] 15: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:58] [ROWS] 16: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:33:58] [ROWS] 17: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:58] [ROWS] 18: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:58] [ROWS] 19: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:58] [ROWS] 20: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:58] [ROWS] 21: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:33:58] [ROWS] 22: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:58] [ROWS] 23: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:58] [ROWS] 24: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:58] [ROWS] 25: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:58] [ROWS] 26: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:33:58] [ROWS] 27: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:33:58] [ROWS] 28: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:33:58] [ROWS] 29: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:33:58] [ROWS] 30: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:58] [ROWS] 31: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:58] [ROWS] 32: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:58] [ROWS] 33: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:58] [ROWS] 34: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:58] [ROWS] 35: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:58] [ROWS] 36: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:58] [ROWS] 37: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:58] [ROWS] 38: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:58] [ROWS] 39: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:58] [ROWS] 40: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:58] [ROWS] 41: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:58] [ROWS] 42: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:58] [ROWS] 43: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:58] [ROWS] 44: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:33:58] [ROWS] 45: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:58] [ROWS] 46: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:58] [ROWS] 47: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:33:58] [ROWS] 48: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:58] [ROWS] 49: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:58] [ROWS] 50: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:58] [ROWS] ===== END (updateMessageCell for 1621) =====
[11:33:58] [HEIGHT_DEBUG] Row 1 msg 1621: isPlayingEvolution=true, textLength=0, text='...'
[11:33:58] [HEIGHT] Row 1 msg 1621: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:33:58] [HEIGHT_DEBUG] Row 2 msg 1620: isPlayingEvolution=false, textLength=8, text='Message1...'
[11:33:58] [HEIGHT] Row 2 msg 1620: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:33:58] [HEIGHT_DEBUG] Row 1 msg 1621: isPlayingEvolution=true, textLength=0, text='...'
[11:33:58] [HEIGHT] Row 1 msg 1621: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:33:58] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:33:58] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:33:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:33:58] [HEIGHT_DEBUG] Row 2 msg 1620: isPlayingEvolution=false, textLength=8, text='Message1...'
[11:33:58] [HEIGHT] Row 2 msg 1620: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:33:58] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:58] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:58] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:58] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:58] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:58] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:58] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:58] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:58] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:58] [EVOLUTION] ▢️ Starting inline playback for message 1621 with 8 events
[11:33:58] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:33:58] Will get events_php
[11:33:58] [TYPING] πŸ”„ ========== POLL START ==========
[11:33:58] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:33:58] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:33:58] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:33:58] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:33:58] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:33:58] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:33:58] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:33:58] [TYPING] πŸ“₯ Found 0 typing users in response
[11:33:58] [TYPING] πŸ“₯ Updating typing users SET: []
[11:33:58] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:33:58] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:33:58] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:33:58] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:33:58] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:33:58] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:33:58] [TYPING] πŸ”„ ========== POLL END ==========
[11:33:58] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Type: application/json; charset=utf-8
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Keep-Alive: timeout=5, max=92
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Content-Length: 56
Date: Sun, 16 Nov 2025 10:33:58 GMT
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:33:58] Done
[11:33:58] Main
[11:33:58] [EVOLUTION] πŸ“ Event 0/8 - Text now: "M..."
[11:33:58] [UPDATE] πŸ”„ updateMessageCell(for: 1621) β€” full safe reload
[11:33:58] [ROWS] ===== updateMessageCell for 1621 β€” chatRows.count=51 =====
[11:33:58] [ROWS] 0: SEPARATOR
[11:33:58] [ROWS] 1: MESSAGE id=1621 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=1 textLen=8
[11:33:58] [ROWS] 2: MESSAGE id=1620 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=8 textLen=8
[11:33:58] [ROWS] 3: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:58] [ROWS] 4: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:58] [ROWS] 5: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:58] [ROWS] 6: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:33:58] [ROWS] 7: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:33:58] [ROWS] 8: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:58] [ROWS] 9: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:58] [ROWS] 10: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:58] [ROWS] 11: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:58] [ROWS] 12: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:33:58] [ROWS] 13: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:33:58] [ROWS] 14: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:58] [ROWS] 15: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:58] [ROWS] 16: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:33:58] [ROWS] 17: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:58] [ROWS] 18: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:58] [ROWS] 19: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:58] [ROWS] 20: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:58] [ROWS] 21: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:33:58] [ROWS] 22: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:58] [ROWS] 23: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:58] [ROWS] 24: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:58] [ROWS] 25: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:58] [ROWS] 26: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:33:58] [ROWS] 27: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:33:58] [ROWS] 28: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:33:58] [ROWS] 29: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:33:58] [ROWS] 30: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:58] [ROWS] 31: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:58] [ROWS] 32: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:58] [ROWS] 33: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:58] [ROWS] 34: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:58] [ROWS] 35: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:58] [ROWS] 36: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:58] [ROWS] 37: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:58] [ROWS] 38: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:58] [ROWS] 39: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:58] [ROWS] 40: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:58] [ROWS] 41: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:58] [ROWS] 42: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:58] [ROWS] 43: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:58] [ROWS] 44: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:33:58] [ROWS] 45: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:58] [ROWS] 46: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:58] [ROWS] 47: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:33:58] [ROWS] 48: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:58] [ROWS] 49: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:58] [ROWS] 50: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:58] [ROWS] ===== END (updateMessageCell for 1621) =====
[11:33:58] [HEIGHT_DEBUG] Row 1 msg 1621: isPlayingEvolution=true, textLength=1, text='M...'
[11:33:58] [HEIGHT] Row 1 msg 1621: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:33:58] [HEIGHT_DEBUG] Row 2 msg 1620: isPlayingEvolution=false, textLength=8, text='Message1...'
[11:33:58] [HEIGHT] Row 2 msg 1620: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:33:58] [HEIGHT_DEBUG] Row 1 msg 1621: isPlayingEvolution=true, textLength=1, text='M...'
[11:33:58] [HEIGHT] Row 1 msg 1621: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:33:58] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:33:58] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:33:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:58] [HEIGHT_DEBUG] Row 2 msg 1620: isPlayingEvolution=false, textLength=8, text='Message1...'
[11:33:58] [HEIGHT] Row 2 msg 1620: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:33:58] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:58] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:58] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:58] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:58] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:58] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:58] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:58] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:58] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:58] [EVOLUTION] πŸ“ Event 1/8 - Text now: "Me..."
[11:33:58] [UPDATE] πŸ”„ updateMessageCell(for: 1621) β€” full safe reload
[11:33:58] [ROWS] ===== updateMessageCell for 1621 β€” chatRows.count=51 =====
[11:33:58] [ROWS] 0: SEPARATOR
[11:33:58] [ROWS] 1: MESSAGE id=1621 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=2 textLen=8
[11:33:58] [ROWS] 2: MESSAGE id=1620 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=8 textLen=8
[11:33:58] [ROWS] 3: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:58] [ROWS] 4: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:58] [ROWS] 5: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:58] [ROWS] 6: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:33:58] [ROWS] 7: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:33:58] [ROWS] 8: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:58] [ROWS] 9: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:58] [ROWS] 10: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:58] [ROWS] 11: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:58] [ROWS] 12: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:33:58] [ROWS] 13: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:33:58] [ROWS] 14: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:58] [ROWS] 15: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:58] [ROWS] 16: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:33:58] [ROWS] 17: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:58] [ROWS] 18: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:58] [ROWS] 19: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:58] [ROWS] 20: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:58] [ROWS] 21: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:33:58] [ROWS] 22: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:58] [ROWS] 23: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:58] [ROWS] 24: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:58] [ROWS] 25: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:58] [ROWS] 26: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:33:58] [ROWS] 27: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:33:58] [ROWS] 28: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:33:58] [ROWS] 29: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:33:58] [ROWS] 30: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:58] [ROWS] 31: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:58] [ROWS] 32: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:58] [ROWS] 33: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:58] [ROWS] 34: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:58] [ROWS] 35: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:58] [ROWS] 36: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:58] [ROWS] 37: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:58] [ROWS] 38: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:58] [ROWS] 39: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:58] [ROWS] 40: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:58] [ROWS] 41: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:58] [ROWS] 42: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:58] [ROWS] 43: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:58] [ROWS] 44: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:33:58] [ROWS] 45: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:58] [ROWS] 46: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:58] [ROWS] 47: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:33:58] [ROWS] 48: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:58] [ROWS] 49: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:58] [ROWS] 50: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:58] [ROWS] ===== END (updateMessageCell for 1621) =====
[11:33:58] [HEIGHT_DEBUG] Row 1 msg 1621: isPlayingEvolution=true, textLength=2, text='Me...'
[11:33:58] [HEIGHT] Row 1 msg 1621: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:33:58] [HEIGHT_DEBUG] Row 2 msg 1620: isPlayingEvolution=false, textLength=8, text='Message1...'
[11:33:58] [HEIGHT] Row 2 msg 1620: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:33:58] [HEIGHT_DEBUG] Row 1 msg 1621: isPlayingEvolution=true, textLength=2, text='Me...'
[11:33:58] [HEIGHT] Row 1 msg 1621: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:33:58] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:33:58] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:33:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:58] [HEIGHT_DEBUG] Row 2 msg 1620: isPlayingEvolution=false, textLength=8, text='Message1...'
[11:33:58] [HEIGHT] Row 2 msg 1620: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:33:58] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:58] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:58] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:58] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:58] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:58] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:58] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:58] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:58] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:58] [EVOLUTION] πŸ“ Event 2/8 - Text now: "Mes..."
[11:33:58] [UPDATE] πŸ”„ updateMessageCell(for: 1621) β€” full safe reload
[11:33:58] [ROWS] ===== updateMessageCell for 1621 β€” chatRows.count=51 =====
[11:33:58] [ROWS] 0: SEPARATOR
[11:33:58] [ROWS] 1: MESSAGE id=1621 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=3 textLen=8
[11:33:58] [ROWS] 2: MESSAGE id=1620 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=8 textLen=8
[11:33:58] [ROWS] 3: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:58] [ROWS] 4: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:58] [ROWS] 5: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:58] [ROWS] 6: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:33:58] [ROWS] 7: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:33:58] [ROWS] 8: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:58] [ROWS] 9: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:58] [ROWS] 10: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:58] [ROWS] 11: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:58] [ROWS] 12: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:33:58] [ROWS] 13: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:33:58] [ROWS] 14: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:58] [ROWS] 15: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:58] [ROWS] 16: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:33:58] [ROWS] 17: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:58] [ROWS] 18: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:58] [ROWS] 19: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:58] [ROWS] 20: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:58] [ROWS] 21: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:33:58] [ROWS] 22: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:58] [ROWS] 23: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:58] [ROWS] 24: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:58] [ROWS] 25: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:58] [ROWS] 26: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:33:58] [ROWS] 27: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:33:58] [ROWS] 28: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:33:58] [ROWS] 29: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:33:58] [ROWS] 30: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:58] [ROWS] 31: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:58] [ROWS] 32: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:58] [ROWS] 33: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:58] [ROWS] 34: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:58] [ROWS] 35: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:58] [ROWS] 36: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:58] [ROWS] 37: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:58] [ROWS] 38: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:58] [ROWS] 39: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:58] [ROWS] 40: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:58] [ROWS] 41: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:58] [ROWS] 42: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:58] [ROWS] 43: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:58] [ROWS] 44: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:33:58] [ROWS] 45: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:58] [ROWS] 46: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:58] [ROWS] 47: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:33:58] [ROWS] 48: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:58] [ROWS] 49: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:58] [ROWS] 50: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:58] [ROWS] ===== END (updateMessageCell for 1621) =====
[11:33:58] [HEIGHT_DEBUG] Row 1 msg 1621: isPlayingEvolution=true, textLength=3, text='Mes...'
[11:33:58] [HEIGHT] Row 1 msg 1621: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:33:58] [HEIGHT_DEBUG] Row 2 msg 1620: isPlayingEvolution=false, textLength=8, text='Message1...'
[11:33:58] [HEIGHT] Row 2 msg 1620: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:33:58] [HEIGHT_DEBUG] Row 1 msg 1621: isPlayingEvolution=true, textLength=3, text='Mes...'
[11:33:58] [HEIGHT] Row 1 msg 1621: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:33:58] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:33:58] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:33:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:58] [HEIGHT_DEBUG] Row 2 msg 1620: isPlayingEvolution=false, textLength=8, text='Message1...'
[11:33:58] [HEIGHT] Row 2 msg 1620: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:33:58] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:58] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:58] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:58] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:58] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:58] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:58] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:58] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:58] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:58] [EVOLUTION] πŸ“ Event 3/8 - Text now: "Mess..."
[11:33:58] [UPDATE] πŸ”„ updateMessageCell(for: 1621) β€” full safe reload
[11:33:58] [ROWS] ===== updateMessageCell for 1621 β€” chatRows.count=51 =====
[11:33:58] [ROWS] 0: SEPARATOR
[11:33:58] [ROWS] 1: MESSAGE id=1621 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=4 textLen=8
[11:33:58] [ROWS] 2: MESSAGE id=1620 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=8 textLen=8
[11:33:58] [ROWS] 3: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:58] [ROWS] 4: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:58] [ROWS] 5: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:58] [ROWS] 6: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:33:58] [ROWS] 7: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:33:58] [ROWS] 8: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:58] [ROWS] 9: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:58] [ROWS] 10: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:58] [ROWS] 11: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:58] [ROWS] 12: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:33:58] [ROWS] 13: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:33:58] [ROWS] 14: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:58] [ROWS] 15: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:58] [ROWS] 16: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:33:58] [ROWS] 17: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:58] [ROWS] 18: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:58] [ROWS] 19: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:58] [ROWS] 20: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:58] [ROWS] 21: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:33:58] [ROWS] 22: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:58] [ROWS] 23: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:58] [ROWS] 24: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:58] [ROWS] 25: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:58] [ROWS] 26: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:33:58] [ROWS] 27: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:33:58] [ROWS] 28: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:33:58] [ROWS] 29: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:33:58] [ROWS] 30: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:58] [ROWS] 31: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:58] [ROWS] 32: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:58] [ROWS] 33: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:58] [ROWS] 34: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:58] [ROWS] 35: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:58] [ROWS] 36: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:58] [ROWS] 37: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:58] [ROWS] 38: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:58] [ROWS] 39: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:58] [ROWS] 40: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:58] [ROWS] 41: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:58] [ROWS] 42: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:58] [ROWS] 43: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:58] [ROWS] 44: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:33:58] [ROWS] 45: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:58] [ROWS] 46: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:58] [ROWS] 47: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:33:58] [ROWS] 48: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:58] [ROWS] 49: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:58] [ROWS] 50: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:58] [ROWS] ===== END (updateMessageCell for 1621) =====
[11:33:58] [HEIGHT_DEBUG] Row 1 msg 1621: isPlayingEvolution=true, textLength=4, text='Mess...'
[11:33:58] [HEIGHT] Row 1 msg 1621: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:33:58] [HEIGHT_DEBUG] Row 2 msg 1620: isPlayingEvolution=false, textLength=8, text='Message1...'
[11:33:58] [HEIGHT] Row 2 msg 1620: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:33:58] [HEIGHT_DEBUG] Row 1 msg 1621: isPlayingEvolution=true, textLength=4, text='Mess...'
[11:33:58] [HEIGHT] Row 1 msg 1621: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:33:58] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:33:58] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:33:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:58] [HEIGHT_DEBUG] Row 2 msg 1620: isPlayingEvolution=false, textLength=8, text='Message1...'
[11:33:58] [HEIGHT] Row 2 msg 1620: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:33:58] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:58] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:58] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:58] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:58] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:58] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:58] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:58] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:58] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:58] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:58] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:59] [EVOLUTION] πŸ“ Event 4/8 - Text now: "Messa..."
[11:33:59] [UPDATE] πŸ”„ updateMessageCell(for: 1621) β€” full safe reload
[11:33:59] [ROWS] ===== updateMessageCell for 1621 β€” chatRows.count=51 =====
[11:33:59] [ROWS] 0: SEPARATOR
[11:33:59] [ROWS] 1: MESSAGE id=1621 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=5 textLen=8
[11:33:59] [ROWS] 2: MESSAGE id=1620 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=8 textLen=8
[11:33:59] [ROWS] 3: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:59] [ROWS] 4: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:59] [ROWS] 5: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:59] [ROWS] 6: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:33:59] [ROWS] 7: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:33:59] [ROWS] 8: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:59] [ROWS] 9: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:59] [ROWS] 10: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:59] [ROWS] 11: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:59] [ROWS] 12: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:33:59] [ROWS] 13: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:33:59] [ROWS] 14: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:59] [ROWS] 15: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:59] [ROWS] 16: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:33:59] [ROWS] 17: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:59] [ROWS] 18: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:59] [ROWS] 19: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:59] [ROWS] 20: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:59] [ROWS] 21: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:33:59] [ROWS] 22: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:59] [ROWS] 23: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:59] [ROWS] 24: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:59] [ROWS] 25: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:59] [ROWS] 26: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:33:59] [ROWS] 27: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:33:59] [ROWS] 28: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:33:59] [ROWS] 29: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:33:59] [ROWS] 30: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:59] [ROWS] 31: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:59] [ROWS] 32: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:59] [ROWS] 33: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:59] [ROWS] 34: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:59] [ROWS] 35: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:59] [ROWS] 36: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:59] [ROWS] 37: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:59] [ROWS] 38: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:59] [ROWS] 39: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:59] [ROWS] 40: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:59] [ROWS] 41: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:59] [ROWS] 42: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:59] [ROWS] 43: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:59] [ROWS] 44: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:33:59] [ROWS] 45: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:59] [ROWS] 46: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:59] [ROWS] 47: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:33:59] [ROWS] 48: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:59] [ROWS] 49: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:59] [ROWS] 50: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:59] [ROWS] ===== END (updateMessageCell for 1621) =====
[11:33:59] [HEIGHT_DEBUG] Row 1 msg 1621: isPlayingEvolution=true, textLength=5, text='Messa...'
[11:33:59] [HEIGHT] Row 1 msg 1621: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:33:59] [HEIGHT_DEBUG] Row 2 msg 1620: isPlayingEvolution=false, textLength=8, text='Message1...'
[11:33:59] [HEIGHT] Row 2 msg 1620: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:33:59] [HEIGHT_DEBUG] Row 1 msg 1621: isPlayingEvolution=true, textLength=5, text='Messa...'
[11:33:59] [HEIGHT] Row 1 msg 1621: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:33:59] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:33:59] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:33:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:59] [HEIGHT_DEBUG] Row 2 msg 1620: isPlayingEvolution=false, textLength=8, text='Message1...'
[11:33:59] [HEIGHT] Row 2 msg 1620: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:33:59] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:59] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:59] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:59] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:59] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:59] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:59] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:59] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:59] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:59] [EVOLUTION] πŸ“ Event 5/8 - Text now: "Messag..."
[11:33:59] [UPDATE] πŸ”„ updateMessageCell(for: 1621) β€” full safe reload
[11:33:59] [ROWS] ===== updateMessageCell for 1621 β€” chatRows.count=51 =====
[11:33:59] [ROWS] 0: SEPARATOR
[11:33:59] [ROWS] 1: MESSAGE id=1621 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=6 textLen=8
[11:33:59] [ROWS] 2: MESSAGE id=1620 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=8 textLen=8
[11:33:59] [ROWS] 3: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:59] [ROWS] 4: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:59] [ROWS] 5: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:59] [ROWS] 6: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:33:59] [ROWS] 7: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:33:59] [ROWS] 8: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:59] [ROWS] 9: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:59] [ROWS] 10: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:59] [ROWS] 11: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:59] [ROWS] 12: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:33:59] [ROWS] 13: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:33:59] [ROWS] 14: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:59] [ROWS] 15: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:59] [ROWS] 16: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:33:59] [ROWS] 17: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:59] [ROWS] 18: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:59] [ROWS] 19: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:59] [ROWS] 20: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:59] [ROWS] 21: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:33:59] [ROWS] 22: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:59] [ROWS] 23: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:59] [ROWS] 24: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:59] [ROWS] 25: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:59] [ROWS] 26: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:33:59] [ROWS] 27: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:33:59] [ROWS] 28: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:33:59] [ROWS] 29: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:33:59] [ROWS] 30: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:59] [ROWS] 31: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:59] [ROWS] 32: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:59] [ROWS] 33: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:59] [ROWS] 34: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:59] [ROWS] 35: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:59] [ROWS] 36: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:59] [ROWS] 37: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:59] [ROWS] 38: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:59] [ROWS] 39: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:59] [ROWS] 40: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:59] [ROWS] 41: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:59] [ROWS] 42: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:59] [ROWS] 43: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:59] [ROWS] 44: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:33:59] [ROWS] 45: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:59] [ROWS] 46: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:59] [ROWS] 47: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:33:59] [ROWS] 48: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:59] [ROWS] 49: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:59] [ROWS] 50: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:59] [ROWS] ===== END (updateMessageCell for 1621) =====
[11:33:59] [HEIGHT_DEBUG] Row 1 msg 1621: isPlayingEvolution=true, textLength=6, text='Messag...'
[11:33:59] [HEIGHT] Row 1 msg 1621: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:33:59] [HEIGHT_DEBUG] Row 2 msg 1620: isPlayingEvolution=false, textLength=8, text='Message1...'
[11:33:59] [HEIGHT] Row 2 msg 1620: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:33:59] [HEIGHT_DEBUG] Row 1 msg 1621: isPlayingEvolution=true, textLength=6, text='Messag...'
[11:33:59] [HEIGHT] Row 1 msg 1621: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:33:59] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:33:59] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:33:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:59] [HEIGHT_DEBUG] Row 2 msg 1620: isPlayingEvolution=false, textLength=8, text='Message1...'
[11:33:59] [HEIGHT] Row 2 msg 1620: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:33:59] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:59] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:59] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:59] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:59] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:59] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:59] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:59] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:59] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:59] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:33:59] [INFO_PAGE] Found 436 messages for session 'ILUIWU2'
[11:33:59] [INFO_PAGE] Total messages in database: 1202
[11:33:59] [EVOLUTION] πŸ“ Event 6/8 - Text now: "Message..."
[11:33:59] [UPDATE] πŸ”„ updateMessageCell(for: 1621) β€” full safe reload
[11:33:59] [ROWS] ===== updateMessageCell for 1621 β€” chatRows.count=51 =====
[11:33:59] [ROWS] 0: SEPARATOR
[11:33:59] [ROWS] 1: MESSAGE id=1621 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=7 textLen=8
[11:33:59] [ROWS] 2: MESSAGE id=1620 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=8 textLen=8
[11:33:59] [ROWS] 3: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:59] [ROWS] 4: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:59] [ROWS] 5: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:59] [ROWS] 6: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:33:59] [ROWS] 7: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:33:59] [ROWS] 8: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:59] [ROWS] 9: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:59] [ROWS] 10: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:59] [ROWS] 11: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:59] [ROWS] 12: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:33:59] [ROWS] 13: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:33:59] [ROWS] 14: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:59] [ROWS] 15: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:59] [ROWS] 16: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:33:59] [ROWS] 17: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:59] [ROWS] 18: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:59] [ROWS] 19: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:59] [ROWS] 20: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:59] [ROWS] 21: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:33:59] [ROWS] 22: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:59] [ROWS] 23: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:59] [ROWS] 24: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:59] [ROWS] 25: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:59] [ROWS] 26: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:33:59] [ROWS] 27: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:33:59] [ROWS] 28: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:33:59] [ROWS] 29: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:33:59] [ROWS] 30: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:59] [ROWS] 31: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:59] [ROWS] 32: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:59] [ROWS] 33: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:59] [ROWS] 34: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:59] [ROWS] 35: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:59] [ROWS] 36: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:59] [ROWS] 37: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:59] [ROWS] 38: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:59] [ROWS] 39: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:59] [ROWS] 40: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:59] [ROWS] 41: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:59] [ROWS] 42: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:59] [ROWS] 43: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:59] [ROWS] 44: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:33:59] [ROWS] 45: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:59] [ROWS] 46: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:59] [ROWS] 47: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:33:59] [ROWS] 48: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:59] [ROWS] 49: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:59] [ROWS] 50: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:59] [ROWS] ===== END (updateMessageCell for 1621) =====
[11:33:59] [HEIGHT_DEBUG] Row 1 msg 1621: isPlayingEvolution=true, textLength=7, text='Message...'
[11:33:59] [HEIGHT] Row 1 msg 1621: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:33:59] [HEIGHT_DEBUG] Row 2 msg 1620: isPlayingEvolution=false, textLength=8, text='Message1...'
[11:33:59] [HEIGHT] Row 2 msg 1620: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:33:59] [HEIGHT_DEBUG] Row 1 msg 1621: isPlayingEvolution=true, textLength=7, text='Message...'
[11:33:59] [HEIGHT] Row 1 msg 1621: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:33:59] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:33:59] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:33:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:59] [HEIGHT_DEBUG] Row 2 msg 1620: isPlayingEvolution=false, textLength=8, text='Message1...'
[11:33:59] [HEIGHT] Row 2 msg 1620: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:33:59] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:59] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:59] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:59] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:59] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:59] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:59] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:59] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:59] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:59] [EVOLUTION] πŸ“ Event 7/8 - Text now: "Message2..."
[11:33:59] [UPDATE] πŸ”„ updateMessageCell(for: 1621) β€” full safe reload
[11:33:59] [ROWS] ===== updateMessageCell for 1621 β€” chatRows.count=51 =====
[11:33:59] [ROWS] 0: SEPARATOR
[11:33:59] [ROWS] 1: MESSAGE id=1621 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=8 textLen=8
[11:33:59] [ROWS] 2: MESSAGE id=1620 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=8 textLen=8
[11:33:59] [ROWS] 3: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:59] [ROWS] 4: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:59] [ROWS] 5: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:59] [ROWS] 6: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:33:59] [ROWS] 7: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:33:59] [ROWS] 8: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:59] [ROWS] 9: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:59] [ROWS] 10: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:59] [ROWS] 11: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:59] [ROWS] 12: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:33:59] [ROWS] 13: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:33:59] [ROWS] 14: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:59] [ROWS] 15: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:59] [ROWS] 16: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:33:59] [ROWS] 17: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:59] [ROWS] 18: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:59] [ROWS] 19: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:59] [ROWS] 20: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:59] [ROWS] 21: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:33:59] [ROWS] 22: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:59] [ROWS] 23: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:59] [ROWS] 24: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:59] [ROWS] 25: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:59] [ROWS] 26: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:33:59] [ROWS] 27: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:33:59] [ROWS] 28: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:33:59] [ROWS] 29: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:33:59] [ROWS] 30: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:59] [ROWS] 31: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:59] [ROWS] 32: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:59] [ROWS] 33: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:59] [ROWS] 34: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:59] [ROWS] 35: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:59] [ROWS] 36: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:59] [ROWS] 37: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:59] [ROWS] 38: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:59] [ROWS] 39: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:59] [ROWS] 40: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:59] [ROWS] 41: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:59] [ROWS] 42: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:59] [ROWS] 43: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:59] [ROWS] 44: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:33:59] [ROWS] 45: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:59] [ROWS] 46: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:59] [ROWS] 47: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:33:59] [ROWS] 48: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:59] [ROWS] 49: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:59] [ROWS] 50: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:59] [ROWS] ===== END (updateMessageCell for 1621) =====
[11:33:59] [HEIGHT_DEBUG] Row 1 msg 1621: isPlayingEvolution=true, textLength=8, text='Message2...'
[11:33:59] [HEIGHT] Row 1 msg 1621: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:33:59] [HEIGHT_DEBUG] Row 2 msg 1620: isPlayingEvolution=false, textLength=8, text='Message1...'
[11:33:59] [HEIGHT] Row 2 msg 1620: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:33:59] [HEIGHT_DEBUG] Row 1 msg 1621: isPlayingEvolution=true, textLength=8, text='Message2...'
[11:33:59] [HEIGHT] Row 1 msg 1621: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:33:59] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:33:59] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:33:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:59] [HEIGHT_DEBUG] Row 2 msg 1620: isPlayingEvolution=false, textLength=8, text='Message1...'
[11:33:59] [HEIGHT] Row 2 msg 1620: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:33:59] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:59] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:59] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:59] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:59] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:59] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:59] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:59] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:59] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:59] [EVOLUTION_SEQ] ⏱️ t=1763289239.720 βœ… Finished message 1621 - duration=1.84s, length=8 chars, speed=4 chars/s
[11:33:59] [UPDATE] πŸ”„ updateMessageCell(for: 1621) β€” full safe reload
[11:33:59] [ROWS] ===== updateMessageCell for 1621 β€” chatRows.count=51 =====
[11:33:59] [ROWS] 0: SEPARATOR
[11:33:59] [ROWS] 1: MESSAGE id=1621 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=8 textLen=8
[11:33:59] [ROWS] 2: MESSAGE id=1620 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=8 textLen=8
[11:33:59] [ROWS] 3: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:59] [ROWS] 4: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:59] [ROWS] 5: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:59] [ROWS] 6: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:33:59] [ROWS] 7: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:33:59] [ROWS] 8: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:59] [ROWS] 9: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:59] [ROWS] 10: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:59] [ROWS] 11: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:59] [ROWS] 12: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:33:59] [ROWS] 13: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:33:59] [ROWS] 14: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:59] [ROWS] 15: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:59] [ROWS] 16: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:33:59] [ROWS] 17: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:59] [ROWS] 18: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:59] [ROWS] 19: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:59] [ROWS] 20: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:59] [ROWS] 21: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:33:59] [ROWS] 22: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:59] [ROWS] 23: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:59] [ROWS] 24: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:59] [ROWS] 25: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:59] [ROWS] 26: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:33:59] [ROWS] 27: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:33:59] [ROWS] 28: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:33:59] [ROWS] 29: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:33:59] [ROWS] 30: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:59] [ROWS] 31: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:59] [ROWS] 32: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:59] [ROWS] 33: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:59] [ROWS] 34: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:59] [ROWS] 35: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:59] [ROWS] 36: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:59] [ROWS] 37: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:59] [ROWS] 38: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:59] [ROWS] 39: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:33:59] [ROWS] 40: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:59] [ROWS] 41: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:33:59] [ROWS] 42: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:59] [ROWS] 43: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:33:59] [ROWS] 44: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:33:59] [ROWS] 45: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:59] [ROWS] 46: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:33:59] [ROWS] 47: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:33:59] [ROWS] 48: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:59] [ROWS] 49: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:33:59] [ROWS] 50: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:33:59] [ROWS] ===== END (updateMessageCell for 1621) =====
[11:33:59] [HEIGHT_DEBUG] Row 1 msg 1621: isPlayingEvolution=false, textLength=8, text='Message2...'
[11:33:59] [HEIGHT] Row 1 msg 1621: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:33:59] [HEIGHT_DEBUG] Row 2 msg 1620: isPlayingEvolution=false, textLength=8, text='Message1...'
[11:33:59] [HEIGHT] Row 2 msg 1620: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:33:59] [HEIGHT_DEBUG] Row 1 msg 1621: isPlayingEvolution=false, textLength=8, text='Message2...'
[11:33:59] [HEIGHT] Row 1 msg 1621: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:33:59] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:33:59] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:33:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:59] [HEIGHT_DEBUG] Row 2 msg 1620: isPlayingEvolution=false, textLength=8, text='Message1...'
[11:33:59] [HEIGHT] Row 2 msg 1620: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:33:59] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:59] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:59] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:59] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:59] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:59] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:59] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:59] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:59] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:33:59] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:33:59] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:33:59] [EVOLUTION_SEQ] ⏱️ t=1763289239.736 βœ… All queued messages have been played
[11:34:00] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:34:00] Will get events_php
[11:34:00] [TYPING] πŸ”„ ========== POLL START ==========
[11:34:00] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:34:00] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:34:00] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:34:00] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:34:00] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:34:00] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:34:00] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2, "status": ok]
[11:34:00] [TYPING] πŸ“₯ Found 0 typing users in response
[11:34:00] [TYPING] πŸ“₯ Updating typing users SET: []
[11:34:00] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:34:00] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:34:00] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:34:00] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:34:00] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:34:00] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:34:00] [TYPING] πŸ”„ ========== POLL END ==========
[11:34:00] [EVT] get_events.php HTTP 200
── Response Headers ──
X-Powered-By: PHP/8.4.14
Content-Length: 56
Connection: Keep-Alive
Date: Sun, 16 Nov 2025 10:34:00 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=90
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:34:00] Done
[11:34:00] Main
[11:34:02] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:34:02] Will get events_php
[11:34:02] [TYPING] πŸ”„ ========== POLL START ==========
[11:34:02] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:34:02] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:34:02] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:34:02] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:34:02] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:34:02] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:34:02] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2, "status": ok]
[11:34:02] [TYPING] πŸ“₯ Found 0 typing users in response
[11:34:02] [TYPING] πŸ“₯ Updating typing users SET: []
[11:34:02] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:34:02] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:34:02] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:34:02] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:34:02] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:34:02] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:34:02] [TYPING] πŸ”„ ========== POLL END ==========
[11:34:02] [EVT] get_events.php HTTP 200
── Response Headers ──
Content-Type: application/json; charset=utf-8
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Keep-Alive: timeout=5, max=89
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Content-Length: 56
Date: Sun, 16 Nov 2025 10:34:02 GMT
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:34:02] Done
[11:34:02] Main
[11:34:04] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:34:04] [INFO_PAGE] Found 436 messages for session 'ILUIWU2'
[11:34:04] [INFO_PAGE] Total messages in database: 1202
[11:34:04] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:34:04] Will get events_php
[11:34:04] [TYPING] πŸ”„ ========== POLL START ==========
[11:34:04] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:34:04] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:34:04] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:34:04] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:34:04] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:34:04] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:34:04] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok]
[11:34:04] [TYPING] πŸ“₯ Found 0 typing users in response
[11:34:04] [TYPING] πŸ“₯ Updating typing users SET: []
[11:34:04] [EVT] get_events.php HTTP 200
── Response Headers ──
X-Powered-By: PHP/8.4.14
Content-Length: 56
Connection: Keep-Alive
Date: Sun, 16 Nov 2025 10:34:04 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=87
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:34:04] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:34:04] Done
[11:34:04] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:34:04] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:34:04] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:34:04] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:34:04] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:34:04] [TYPING] πŸ”„ ========== POLL END ==========
[11:34:04] Main
[11:41:29] [CRASH] Previous session did not exit cleanly - crash detected
[11:41:29] [GIPHY] SDK not available - using REST API fallback
[11:41:29] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:41:29] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:41:29] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:41:29] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:41:29] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:41:29] [SCENE] Launched directly to chat view with sessionId: ILUIWU2
[11:41:29] [PUSH] APNs token: 6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c
[11:41:29] [PUSH] APNs token: 6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c
[11:41:29] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:41:29] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:41:29] [PUSH] Device role updated to 'viewer': HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:41:30] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:41:30] Documents Directory: /var/mobile/Containers/Data/Application/DE898285-043D-4122-BDE6-EC10956BEAA9/Documents
[11:41:30] [NOTIFICATION] πŸ”” Notification button created and added to topNavBar
[11:41:30] [NOTIFICATION] πŸ”” Button tintColor: grey (0.5, 0.5, 0.5)
[11:41:30] [NOTIFICATION] πŸ”” Button isUserInteractionEnabled: true
[11:41:30] [INFO_PAGE] InformationViewController viewDidLoad called
[11:41:30] [INFO_PAGE] Actions configured (bell button is external)
[11:41:30] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:41:30] [INFO_PAGE] Successfully opened database at /var/mobile/Containers/Data/Application/DE898285-043D-4122-BDE6-EC10956BEAA9/Documents/chat_local_viewer.db
[11:41:30] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:41:30] [INFO_PAGE] Found 436 messages for session 'ILUIWU2'
[11:41:30] [INFO_PAGE] Total messages in database: 1202
[11:41:30] [INFO_PAGE] InformationViewController setup complete
[11:41:30] [INFO_PAGE] ℹ️ Information page added to tab 3
[11:41:30] [THEME] Applying current theme
[11:41:30] [CHAT] Applied day theme (mode: day)
[11:41:30] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:41:30] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:41:30] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:41:30] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:41:30] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:41:30] [SUMMARY] Already showed summary today (2025-11-16)
[11:41:30] Did transition
[11:41:30] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:41:30] [VIEWER] Screen lock enabled - normal idle behavior
[11:41:30] [QUERY] πŸ” Checking tab - currentTabIndex=0
[11:41:30] [QUERY] πŸ”΅ [TAB 0] No query connection needed
[11:41:30] [QUERY] βœ… [TAB 0] Initialized without query connection
[11:41:30] [LOCATION] Started location updates for distance calculation (already authorized)
[11:41:30] [TAB 0] Skipping reconnect polling - only needed for tab 1
[11:41:30] [VIEWER_INIT] Loading messages with read receipts from server
[11:41:30] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:41:30] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:41:30] [DB]   msg[0] id=1621, isMyMessage=false, readBy.count=0
[11:41:30] [DB]   msg[1] id=1620, isMyMessage=false, readBy.count=0
[11:41:30] [DB]   msg[2] id=1619, isMyMessage=false, readBy.count=0
[11:41:30] [EVOLUTION] πŸ” Found 0 NEW unread messages from local DB before fetching read receipts (lastSeenMessageId=1621): []
[11:41:30] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1621, readBy=[]", "id=1620, readBy=[]", "id=1619, readBy=[]"]
[11:41:30] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:41:30] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:41:30] [DB]   msg[0] id=1621, isMyMessage=false, readBy.count=0
[11:41:30] [DB]   msg[1] id=1620, isMyMessage=false, readBy.count=0
[11:41:30] [DB]   msg[2] id=1619, isMyMessage=false, readBy.count=0
[11:41:30] [EVENT_POLL] Starting periodic event polling for viewer mode (5s interval)
[11:41:30] [ORIENTATION] Updated pagingScrollView height to 247.5 for width 440.0
[11:41:30] [SUMMARY] Already showed summary today (2025-11-16)
[11:41:30] Did transition
[11:41:30] [NOTIFICATION] πŸ”” Constraints activated for notification button
[11:41:30] [NOTIFICATION] πŸ”” topNavBar frame: (0.0, 0.0, 440.0, 50.0)
[11:41:30] [NOTIFICATION] πŸ”” menuButton frame: (0.0, 0.0, 39.0, 30.0)
[11:41:30] [NOTIFICATION] πŸ”” notificationButton frame: (0.0, 0.0, 56.333333333333336, 58.0)
[11:41:30] [NOTIFICATION] πŸ”” Notification button brought to front
[11:41:30] [NOTIFICATION] πŸ”„ Updating icon to: bell.slash.fill (muted=true)
[11:41:30] [NOTIFICATION] βœ… Icon updated successfully
[11:41:30] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[11:41:30] [MIGRATION] No messages need sender_name backfill
[11:41:30] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:41:30] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:41:30] [DB]   msg[0] id=1621, isMyMessage=false, readBy.count=0
[11:41:30] [DB]   msg[1] id=1620, isMyMessage=false, readBy.count=0
[11:41:30] [DB]   msg[2] id=1619, isMyMessage=false, readBy.count=0
[11:41:30] [INFO_PAGE] InformationViewController viewWillAppear - applying theme
[11:41:30] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:41:30] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:41:30] [PAGINATION_SCROLL] offset=-12.0, contentHeight=108.0, distFromBottom=120.0, dragging=false, decel=false, isLoading=false, cooldown=63899059290.76732s
[11:41:30] [PAGINATION_SCROLL] offset=0.0, contentHeight=108.0, distFromBottom=-650.0, dragging=false, decel=false, isLoading=false, cooldown=63899059290.76861s
[11:41:30] [LOCATION] Authorization changed: 4
[11:41:30] [NOTIFICATION] πŸ”” FINAL STATE after viewDidLoad:
[11:41:30] [NOTIFICATION] πŸ”” notificationButton.frame: (392.0, 67.0, 40.0, 40.0)
[11:41:30] [NOTIFICATION] πŸ”” notificationButton.isHidden: false
[11:41:30] [NOTIFICATION] πŸ”” notificationButton.alpha: 1.0
[11:41:30] [NOTIFICATION] πŸ”” notificationButton.superview: true
[11:41:30] [NOTIFICATION] πŸ”” topNavBar.isHidden: false
[11:41:30] [NOTIFICATION] πŸ”” topNavBar.subviews.count: 3
[11:41:31] [PUSH] Device role updated to 'viewer': HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:41:31] [USER] βœ… User registered successfully
[11:41:31] [USER] User registration successful
[11:41:31] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:41:31] [UNREAD_DEBUG]   FINAL msg[0] id=1621, readBy.count=1
[11:41:31] [UNREAD_DEBUG]   FINAL msg[1] id=1620, readBy.count=1
[11:41:31] [UNREAD_DEBUG]   FINAL msg[2] id=1619, readBy.count=1
[11:41:31] [VIEWER_INIT] Loaded 50 messages with read receipts, hasMore: true
[11:41:31] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:41:31] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:41:31] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:41:31] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=51 =====
[11:41:31] [ROWS] 0: SEPARATOR
[11:41:31] [ROWS] 1: MESSAGE id=1621 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:41:31] [ROWS] 2: MESSAGE id=1620 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:41:31] [ROWS] 3: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:31] [ROWS] 4: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:31] [ROWS] 5: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:31] [ROWS] 6: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:41:31] [ROWS] 7: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:41:31] [ROWS] 8: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:31] [ROWS] 9: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:31] [ROWS] 10: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:31] [ROWS] 11: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:31] [ROWS] 12: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:41:31] [ROWS] 13: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:41:31] [ROWS] 14: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:41:31] [ROWS] 15: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:31] [ROWS] 16: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:41:31] [ROWS] 17: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:31] [ROWS] 18: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:31] [ROWS] 19: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:41:31] [ROWS] 20: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:31] [ROWS] 21: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:41:31] [ROWS] 22: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:31] [ROWS] 23: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:31] [ROWS] 24: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:31] [ROWS] 25: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:31] [ROWS] 26: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:41:31] [ROWS] 27: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:41:31] [ROWS] 28: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:41:31] [ROWS] 29: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:41:31] [ROWS] 30: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:31] [ROWS] 31: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:31] [ROWS] 32: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:31] [ROWS] 33: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:41:31] [ROWS] 34: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:31] [ROWS] 35: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:31] [ROWS] 36: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:31] [ROWS] 37: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:31] [ROWS] 38: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:31] [ROWS] 39: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:31] [ROWS] 40: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:31] [ROWS] 41: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:31] [ROWS] 42: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:31] [ROWS] 43: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:31] [ROWS] 44: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:41:31] [ROWS] 45: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:31] [ROWS] 46: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:31] [ROWS] 47: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:41:31] [ROWS] 48: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:41:31] [ROWS] 49: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:41:31] [ROWS] 50: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:41:31] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:41:31] [TAB_FILTER] πŸ“Š Reloading table with 51 rows
[11:41:31] [HEIGHT_DEBUG] Row 1 msg 1621: isPlayingEvolution=false, textLength=8, text='Message2...'
[11:41:31] [EMOJI] βœ… Loaded 451 emoji-to-GIF mappings
[11:41:31] [HEIGHT] Row 1 msg 1621: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:41:31] [HEIGHT_DEBUG] Row 2 msg 1620: isPlayingEvolution=false, textLength=8, text='Message1...'
[11:41:31] [HEIGHT] Row 2 msg 1620: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:41:31] [HEIGHT_DEBUG] Row 1 msg 1621: isPlayingEvolution=false, textLength=8, text='Message2...'
[11:41:31] [HEIGHT] Row 1 msg 1621: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:41:31] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:41:31] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:41:31] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:31] [HEIGHT_DEBUG] Row 2 msg 1620: isPlayingEvolution=false, textLength=8, text='Message1...'
[11:41:31] [HEIGHT] Row 2 msg 1620: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:41:31] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:31] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:31] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:31] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:31] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:31] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:31] [CHAT] βœ… refreshAllFromServer - parsed 437 messages from server
[11:41:31] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:31] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:31] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:31] [DB] clearDBForSession(ILUIWU2): deleted 436 messages, result=101
[11:41:31] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:31] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:31] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:31] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:31] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:31] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:31] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:31] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:31] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:31] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:31] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:31] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:31] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:31] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:31] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:31] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:31] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:31] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:31] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:41:40] [CRASH] Previous session did not exit cleanly - crash detected
[11:41:40] [GIPHY] SDK not available - using REST API fallback
[11:41:40] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:41:40] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:41:40] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:41:40] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:41:40] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:41:40] [SCENE] Launched directly to chat view with sessionId: ILUIWU2
[11:41:40] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:41:40] Documents Directory: /var/mobile/Containers/Data/Application/66AAD1D1-CC61-43ED-A03A-2091FFA3E970/Documents
[11:41:40] [NOTIFICATION] πŸ”” Notification button created and added to topNavBar
[11:41:40] [NOTIFICATION] πŸ”” Button tintColor: grey (0.5, 0.5, 0.5)
[11:41:40] [NOTIFICATION] πŸ”” Button isUserInteractionEnabled: true
[11:41:40] [INFO_PAGE] InformationViewController viewDidLoad called
[11:41:40] [INFO_PAGE] Actions configured (bell button is external)
[11:41:40] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:41:40] [INFO_PAGE] Successfully opened database at /var/mobile/Containers/Data/Application/66AAD1D1-CC61-43ED-A03A-2091FFA3E970/Documents/chat_local_viewer.db
[11:41:40] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:41:40] [INFO_PAGE] Found 437 messages for session 'ILUIWU2'
[11:41:40] [INFO_PAGE] Total messages in database: 1203
[11:41:40] [INFO_PAGE] InformationViewController setup complete
[11:41:40] [INFO_PAGE] ℹ️ Information page added to tab 3
[11:41:40] [THEME] Applying current theme
[11:41:40] [CHAT] Applied day theme (mode: day)
[11:41:40] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:41:40] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:41:40] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:41:40] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:41:40] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:41:40] [SUMMARY] Already showed summary today (2025-11-16)
[11:41:40] Did transition
[11:41:40] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:41:40] [VIEWER] Screen lock enabled - normal idle behavior
[11:41:40] [QUERY] πŸ” Checking tab - currentTabIndex=0
[11:41:40] [QUERY] πŸ”΅ [TAB 0] No query connection needed
[11:41:40] [QUERY] βœ… [TAB 0] Initialized without query connection
[11:41:40] [LOCATION] Started location updates for distance calculation (already authorized)
[11:41:40] [TAB 0] Skipping reconnect polling - only needed for tab 1
[11:41:40] [VIEWER_INIT] Loading messages with read receipts from server
[11:41:40] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:41:40] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:41:40] [DB]   msg[0] id=1622, isMyMessage=false, readBy.count=0
[11:41:40] [DB]   msg[1] id=1621, isMyMessage=false, readBy.count=0
[11:41:40] [DB]   msg[2] id=1620, isMyMessage=false, readBy.count=0
[11:41:40] [EVOLUTION] πŸ” Found 1 NEW unread messages from local DB before fetching read receipts (lastSeenMessageId=1621): [1622]
[11:41:40] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1622, readBy=[]", "id=1621, readBy=[]", "id=1620, readBy=[]"]
[11:41:40] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:41:40] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:41:40] [DB]   msg[0] id=1622, isMyMessage=false, readBy.count=0
[11:41:40] [DB]   msg[1] id=1621, isMyMessage=false, readBy.count=0
[11:41:40] [DB]   msg[2] id=1620, isMyMessage=false, readBy.count=0
[11:41:40] [EVENT_POLL] Starting periodic event polling for viewer mode (5s interval)
[11:41:40] [ORIENTATION] Updated pagingScrollView height to 247.5 for width 440.0
[11:41:40] [SUMMARY] Already showed summary today (2025-11-16)
[11:41:40] Did transition
[11:41:40] [NOTIFICATION] πŸ”” Constraints activated for notification button
[11:41:40] [NOTIFICATION] πŸ”” topNavBar frame: (0.0, 0.0, 440.0, 50.0)
[11:41:40] [NOTIFICATION] πŸ”” menuButton frame: (0.0, 0.0, 39.0, 30.0)
[11:41:40] [NOTIFICATION] πŸ”” notificationButton frame: (0.0, 0.0, 56.333333333333336, 58.0)
[11:41:40] [NOTIFICATION] πŸ”” Notification button brought to front
[11:41:40] [NOTIFICATION] πŸ”„ Updating icon to: bell.slash.fill (muted=true)
[11:41:40] [NOTIFICATION] βœ… Icon updated successfully
[11:41:40] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[11:41:40] [MIGRATION] No messages need sender_name backfill
[11:41:40] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:41:40] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:41:40] [DB]   msg[0] id=1622, isMyMessage=false, readBy.count=0
[11:41:40] [DB]   msg[1] id=1621, isMyMessage=false, readBy.count=0
[11:41:40] [DB]   msg[2] id=1620, isMyMessage=false, readBy.count=0
[11:41:40] [INFO_PAGE] InformationViewController viewWillAppear - applying theme
[11:41:40] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:41:40] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:41:40] [PAGINATION_SCROLL] offset=-12.0, contentHeight=108.0, distFromBottom=120.0, dragging=false, decel=false, isLoading=false, cooldown=63899059300.46223s
[11:41:40] [PAGINATION_SCROLL] offset=0.0, contentHeight=108.0, distFromBottom=-650.0, dragging=false, decel=false, isLoading=false, cooldown=63899059300.46429s
[11:41:40] [LOCATION] Authorization changed: 4
[11:41:40] [LOCATION] Updated location: 46.50140991181292, 6.722694862476218
[11:41:40] [NOTIFICATION] πŸ”” FINAL STATE after viewDidLoad:
[11:41:40] [NOTIFICATION] πŸ”” notificationButton.frame: (392.0, 67.0, 40.0, 40.0)
[11:41:40] [NOTIFICATION] πŸ”” notificationButton.isHidden: false
[11:41:40] [NOTIFICATION] πŸ”” notificationButton.alpha: 1.0
[11:41:40] [NOTIFICATION] πŸ”” notificationButton.superview: true
[11:41:40] [NOTIFICATION] πŸ”” topNavBar.isHidden: false
[11:41:40] [NOTIFICATION] πŸ”” topNavBar.subviews.count: 3
[11:41:40] [PUSH] handlePollEventsNotification userInfo: [:]
[11:41:40] [PUSH] No message_id in userInfo
[11:41:40] [PUSH] No operation_type in userInfo
[11:41:40] [PUSH] Performing full refresh to catch up on any missed messages
[11:41:40] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:41:40] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:41:40] [DB]   msg[0] id=1622, isMyMessage=false, readBy.count=0
[11:41:40] [DB]   msg[1] id=1621, isMyMessage=false, readBy.count=0
[11:41:40] [DB]   msg[2] id=1620, isMyMessage=false, readBy.count=0
[11:41:40] [PUSH] APNs token: 6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c
[11:41:40] [PUSH] Device role updated to 'viewer': HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:41:40] [PUSH] Device role updated to 'viewer': HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:41:40] [USER] βœ… User registered successfully
[11:41:40] [USER] User registration successful
[11:41:40] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:41:40] [CHAT] βœ… refreshAllFromServer - parsed 437 messages from server
[11:41:40] [DB] clearDBForSession(ILUIWU2): deleted 437 messages, result=101
[11:41:40] ReloadData 15 (437 messages loaded, 0 pending media)
[11:41:40] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:41:40] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:41:40] [DB]   msg[0] id=1622, isMyMessage=false, readBy.count=0
[11:41:40] [DB]   msg[1] id=1621, isMyMessage=false, readBy.count=0
[11:41:40] [DB]   msg[2] id=1620, isMyMessage=false, readBy.count=0
[11:41:40] [EVOLUTION] πŸ” Found 1 NEW unread messages after refreshAllFromServer (lastSeenMessageId=1621): [1622]
[11:41:40] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1622, readBy=[]", "id=1621, readBy=[]", "id=1620, readBy=[]"]
[11:41:40] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:41:40] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:41:40] [DB]   msg[0] id=1622, isMyMessage=false, readBy.count=0
[11:41:40] [DB]   msg[1] id=1621, isMyMessage=false, readBy.count=0
[11:41:40] [DB]   msg[2] id=1620, isMyMessage=false, readBy.count=0
[11:41:40] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:41:40] [UNREAD_DEBUG]   FINAL msg[0] id=1622, readBy.count=0
[11:41:40] [UNREAD_DEBUG]   FINAL msg[1] id=1621, readBy.count=1
[11:41:40] [UNREAD_DEBUG]   FINAL msg[2] id=1620, readBy.count=1
[11:41:40] [VIEWER_INIT] Loaded 50 messages with read receipts, hasMore: true
[11:41:40] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:41:40] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:41:40] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:41:40] [EVOLUTION] πŸ“ Updated lastSeenMessageId: 1621 β†’ 1622
[11:41:40] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=51 =====
[11:41:40] [ROWS] 0: SEPARATOR
[11:41:40] [ROWS] 1: MESSAGE id=1622 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:40] [ROWS] 2: MESSAGE id=1621 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:41:40] [ROWS] 3: MESSAGE id=1620 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:41:40] [ROWS] 4: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:40] [ROWS] 5: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:40] [ROWS] 6: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:40] [ROWS] 7: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:41:40] [ROWS] 8: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:41:40] [ROWS] 9: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:40] [ROWS] 10: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:40] [ROWS] 11: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:40] [ROWS] 12: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:40] [ROWS] 13: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:41:40] [ROWS] 14: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:41:40] [ROWS] 15: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:41:40] [ROWS] 16: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:40] [ROWS] 17: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:41:40] [ROWS] 18: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:40] [ROWS] 19: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:40] [ROWS] 20: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:41:40] [ROWS] 21: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:40] [ROWS] 22: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:41:40] [ROWS] 23: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:40] [ROWS] 24: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:40] [ROWS] 25: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:40] [ROWS] 26: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:40] [ROWS] 27: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:41:40] [ROWS] 28: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:41:40] [ROWS] 29: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:41:40] [ROWS] 30: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:41:40] [ROWS] 31: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:40] [ROWS] 32: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:40] [ROWS] 33: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:40] [ROWS] 34: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:41:40] [ROWS] 35: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:40] [ROWS] 36: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:40] [ROWS] 37: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:40] [ROWS] 38: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:40] [ROWS] 39: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:40] [ROWS] 40: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:40] [ROWS] 41: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:40] [ROWS] 42: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:40] [ROWS] 43: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:40] [ROWS] 44: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:40] [ROWS] 45: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:41:40] [ROWS] 46: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:40] [ROWS] 47: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:40] [ROWS] 48: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:41:40] [ROWS] 49: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:41:40] [ROWS] 50: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:41:40] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:41:40] [TAB_FILTER] πŸ“Š Reloading table with 51 rows
[11:41:40] [HEIGHT_DEBUG] Row 1 msg 1622: isPlayingEvolution=false, textLength=6, text='Coucou...'
[11:41:40] [EMOJI] βœ… Loaded 451 emoji-to-GIF mappings
[11:41:40] [HEIGHT] Row 1 msg 1622: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:41:40] [HEIGHT_DEBUG] Row 2 msg 1621: isPlayingEvolution=false, textLength=8, text='Message2...'
[11:41:40] [HEIGHT] Row 2 msg 1621: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:41:40] [HEIGHT_DEBUG] Row 1 msg 1622: isPlayingEvolution=false, textLength=6, text='Coucou...'
[11:41:40] [HEIGHT] Row 1 msg 1622: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:41:40] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:41:40] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [HEIGHT_DEBUG] Row 2 msg 1621: isPlayingEvolution=false, textLength=8, text='Message2...'
[11:41:40] [HEIGHT] Row 2 msg 1621: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:41:40] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:41:40] ReloadData 18 (viewer init with read receipts)
[11:41:40] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:41:40] [UNREAD_DEBUG]   FINAL msg[0] id=1622, readBy.count=0
[11:41:40] [UNREAD_DEBUG]   FINAL msg[1] id=1621, readBy.count=1
[11:41:40] [UNREAD_DEBUG]   FINAL msg[2] id=1620, readBy.count=1
[11:41:40] [FOREGROUND_REFRESH] Loaded 50 messages
[11:41:40] [EVOLUTION] πŸ” [FOREGROUND] Found 0 NEW unread messages (lastSeenMessageId=1622): []
[11:41:40] [FOREGROUND_REFRESH] About to call autoPlayEvolutionForUnreadMessageIds with 0 IDs: []
[11:41:40] [FOREGROUND_REFRESH] No unread messages to play evolution for - reloading table normally
[11:41:40] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:41:40] [UNREAD_DEBUG]   FINAL msg[0] id=1622, readBy.count=0
[11:41:40] [UNREAD_DEBUG]   FINAL msg[1] id=1621, readBy.count=1
[11:41:40] [UNREAD_DEBUG]   FINAL msg[2] id=1620, readBy.count=1
[11:41:40] [EVOLUTION_SEQ] πŸš€ FUNCTION CALLED with 1 message IDs: [1622]
[11:41:40] [EVOLUTION_SEQ] ⏱️ t=1763289700.890 πŸ“‹ Starting with 1 messages: [1622]
[11:41:40] [EVOLUTION_SEQ] πŸ“Š Message 1/1: id=1622, length=6 chars, estimated_duration=0.30s
[11:41:40] [EVOLUTION_SEQ] ⏱️ t=1763289700.890 πŸ”’ Marked 1 messages as pending (hidden from view)
[11:41:40] [EVOLUTION_SEQ] ⏱️ t=1763289700.890 πŸ“ Queued 1 messages for sequential playback
[11:41:40] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:41:40] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:41:40] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:41:40] [EVOLUTION_SEQ] ⏱️ t=1763289700.890 Filtered out 1 pending evolution messages
[11:41:40] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=50 =====
[11:41:40] [ROWS] 0: SEPARATOR
[11:41:40] [ROWS] 1: MESSAGE id=1621 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:41:40] [ROWS] 2: MESSAGE id=1620 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:41:40] [ROWS] 3: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:40] [ROWS] 4: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:40] [ROWS] 5: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:40] [ROWS] 6: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:41:40] [ROWS] 7: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:41:40] [ROWS] 8: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:40] [ROWS] 9: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:40] [ROWS] 10: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:40] [ROWS] 11: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:40] [ROWS] 12: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:41:40] [ROWS] 13: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:41:40] [ROWS] 14: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:41:40] [ROWS] 15: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:40] [ROWS] 16: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:41:40] [ROWS] 17: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:40] [ROWS] 18: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:40] [ROWS] 19: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:41:40] [ROWS] 20: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:40] [ROWS] 21: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:41:40] [ROWS] 22: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:40] [ROWS] 23: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:40] [ROWS] 24: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:40] [ROWS] 25: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:40] [ROWS] 26: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:41:40] [ROWS] 27: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:41:40] [ROWS] 28: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:41:40] [ROWS] 29: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:41:40] [ROWS] 30: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:40] [ROWS] 31: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:40] [ROWS] 32: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:40] [ROWS] 33: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:41:40] [ROWS] 34: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:40] [ROWS] 35: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:40] [ROWS] 36: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:40] [ROWS] 37: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:40] [ROWS] 38: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:40] [ROWS] 39: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:40] [ROWS] 40: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:40] [ROWS] 41: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:40] [ROWS] 42: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:40] [ROWS] 43: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:40] [ROWS] 44: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:41:40] [ROWS] 45: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:40] [ROWS] 46: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:40] [ROWS] 47: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:41:40] [ROWS] 48: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:41:40] [ROWS] 49: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:41:40] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:41:40] [TAB_FILTER] πŸ“Š Reloading table with 50 rows
[11:41:40] [HEIGHT_DEBUG] Row 1 msg 1621: isPlayingEvolution=false, textLength=8, text='Message2...'
[11:41:40] [HEIGHT] Row 1 msg 1621: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:41:40] [HEIGHT_DEBUG] Row 2 msg 1620: isPlayingEvolution=false, textLength=8, text='Message1...'
[11:41:40] [HEIGHT] Row 2 msg 1620: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:41:40] [HEIGHT_DEBUG] Row 1 msg 1621: isPlayingEvolution=false, textLength=8, text='Message2...'
[11:41:40] [HEIGHT] Row 1 msg 1621: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:41:40] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:41:40] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [HEIGHT_DEBUG] Row 2 msg 1620: isPlayingEvolution=false, textLength=8, text='Message1...'
[11:41:40] [HEIGHT] Row 2 msg 1620: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:41:40] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:41:40] [EVOLUTION_SEQ] ⏱️ t=1763289700.897 πŸ“Š Table reloaded: 50 β†’ 49 visible messages
[11:41:40] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:41:40] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:41:40] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:41:40] [EVOLUTION_SEQ] ⏱️ t=1763289700.897 Filtered out 1 pending evolution messages
[11:41:40] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=50 =====
[11:41:40] [ROWS] 0: SEPARATOR
[11:41:40] [ROWS] 1: MESSAGE id=1621 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:41:40] [ROWS] 2: MESSAGE id=1620 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:41:40] [ROWS] 3: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:40] [ROWS] 4: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:40] [ROWS] 5: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:40] [ROWS] 6: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:41:40] [ROWS] 7: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:41:40] [ROWS] 8: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:40] [ROWS] 9: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:40] [ROWS] 10: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:40] [ROWS] 11: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:40] [ROWS] 12: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:41:40] [ROWS] 13: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:41:40] [ROWS] 14: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:41:40] [ROWS] 15: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:40] [ROWS] 16: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:41:40] [ROWS] 17: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:40] [ROWS] 18: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:40] [ROWS] 19: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:41:40] [ROWS] 20: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:40] [ROWS] 21: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:41:40] [ROWS] 22: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:40] [ROWS] 23: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:40] [ROWS] 24: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:40] [ROWS] 25: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:40] [ROWS] 26: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:41:40] [ROWS] 27: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:41:40] [ROWS] 28: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:41:40] [ROWS] 29: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:41:40] [ROWS] 30: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:40] [ROWS] 31: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:40] [ROWS] 32: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:40] [ROWS] 33: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:41:40] [ROWS] 34: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:40] [ROWS] 35: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:40] [ROWS] 36: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:40] [ROWS] 37: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:40] [ROWS] 38: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:40] [ROWS] 39: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:40] [ROWS] 40: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:40] [ROWS] 41: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:40] [ROWS] 42: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:40] [ROWS] 43: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:40] [ROWS] 44: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:41:40] [ROWS] 45: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:40] [ROWS] 46: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:40] [ROWS] 47: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:41:40] [ROWS] 48: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:41:40] [ROWS] 49: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:41:40] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:41:40] [TAB_FILTER] πŸ“Š Reloading table with 50 rows
[11:41:40] [HEIGHT_DEBUG] Row 1 msg 1621: isPlayingEvolution=false, textLength=8, text='Message2...'
[11:41:40] [HEIGHT] Row 1 msg 1621: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:41:40] [HEIGHT_DEBUG] Row 2 msg 1620: isPlayingEvolution=false, textLength=8, text='Message1...'
[11:41:40] [HEIGHT] Row 2 msg 1620: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:41:40] [HEIGHT_DEBUG] Row 1 msg 1621: isPlayingEvolution=false, textLength=8, text='Message2...'
[11:41:40] [HEIGHT] Row 1 msg 1621: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:41:40] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:41:40] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [HEIGHT_DEBUG] Row 2 msg 1620: isPlayingEvolution=false, textLength=8, text='Message1...'
[11:41:40] [HEIGHT] Row 2 msg 1620: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:41:40] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:41:40] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:41:40] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:41:40] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:41:40] [EVOLUTION_SEQ] ⏱️ t=1763289700.904 Filtered out 1 pending evolution messages
[11:41:40] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=50 =====
[11:41:40] [ROWS] 0: SEPARATOR
[11:41:40] [ROWS] 1: MESSAGE id=1621 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:41:40] [ROWS] 2: MESSAGE id=1620 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:41:40] [ROWS] 3: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:40] [ROWS] 4: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:40] [ROWS] 5: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:40] [ROWS] 6: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:41:40] [ROWS] 7: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:41:40] [ROWS] 8: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:40] [ROWS] 9: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:40] [ROWS] 10: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:40] [ROWS] 11: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:40] [ROWS] 12: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:41:40] [ROWS] 13: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:41:40] [ROWS] 14: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:41:40] [ROWS] 15: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:40] [ROWS] 16: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:41:40] [ROWS] 17: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:40] [ROWS] 18: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:40] [ROWS] 19: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:41:40] [ROWS] 20: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:40] [ROWS] 21: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:41:40] [ROWS] 22: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:40] [ROWS] 23: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:40] [ROWS] 24: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:40] [ROWS] 25: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:40] [ROWS] 26: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:41:40] [ROWS] 27: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:41:40] [ROWS] 28: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:41:40] [ROWS] 29: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:41:40] [ROWS] 30: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:40] [ROWS] 31: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:40] [ROWS] 32: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:40] [ROWS] 33: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:41:40] [ROWS] 34: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:40] [ROWS] 35: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:40] [ROWS] 36: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:40] [ROWS] 37: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:40] [ROWS] 38: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:40] [ROWS] 39: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:40] [ROWS] 40: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:40] [ROWS] 41: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:40] [ROWS] 42: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:40] [ROWS] 43: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:40] [ROWS] 44: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:41:40] [ROWS] 45: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:40] [ROWS] 46: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:40] [ROWS] 47: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:41:40] [ROWS] 48: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:41:40] [ROWS] 49: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:41:40] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:41:40] [TAB_FILTER] πŸ“Š Reloading table with 50 rows
[11:41:40] [HEIGHT_DEBUG] Row 1 msg 1621: isPlayingEvolution=false, textLength=8, text='Message2...'
[11:41:40] [HEIGHT] Row 1 msg 1621: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:41:40] [HEIGHT_DEBUG] Row 2 msg 1620: isPlayingEvolution=false, textLength=8, text='Message1...'
[11:41:40] [HEIGHT] Row 2 msg 1620: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:41:40] [HEIGHT_DEBUG] Row 1 msg 1621: isPlayingEvolution=false, textLength=8, text='Message2...'
[11:41:40] [HEIGHT] Row 1 msg 1621: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:41:40] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:41:40] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [HEIGHT_DEBUG] Row 2 msg 1620: isPlayingEvolution=false, textLength=8, text='Message1...'
[11:41:40] [HEIGHT] Row 2 msg 1620: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:41:40] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:41:40] [INIT_PAGINATION] Loaded 50 total messages, displaying 49 for tab 0
[11:41:40] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:41:40] [UNREAD_DEBUG]   FINAL msg[0] id=1622, readBy.count=1
[11:41:40] [UNREAD_DEBUG]   FINAL msg[1] id=1621, readBy.count=1
[11:41:40] [UNREAD_DEBUG]   FINAL msg[2] id=1620, readBy.count=1
[11:41:40] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:41:40] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:41:40] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:41:40] [EVOLUTION_SEQ] ⏱️ t=1763289700.935 Filtered out 1 pending evolution messages
[11:41:40] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=50 =====
[11:41:40] [ROWS] 0: SEPARATOR
[11:41:40] [ROWS] 1: MESSAGE id=1621 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:41:40] [ROWS] 2: MESSAGE id=1620 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:41:40] [ROWS] 3: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:40] [ROWS] 4: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:40] [ROWS] 5: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:40] [ROWS] 6: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:41:40] [ROWS] 7: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:41:40] [ROWS] 8: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:40] [ROWS] 9: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:40] [ROWS] 10: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:40] [ROWS] 11: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:40] [ROWS] 12: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:41:40] [ROWS] 13: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:41:40] [ROWS] 14: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:41:40] [ROWS] 15: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:40] [ROWS] 16: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:41:40] [ROWS] 17: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:40] [ROWS] 18: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:40] [ROWS] 19: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:41:40] [ROWS] 20: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:40] [ROWS] 21: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:41:40] [ROWS] 22: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:40] [ROWS] 23: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:40] [ROWS] 24: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:40] [ROWS] 25: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:40] [ROWS] 26: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:41:40] [ROWS] 27: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:41:40] [ROWS] 28: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:41:40] [ROWS] 29: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:41:40] [ROWS] 30: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:40] [ROWS] 31: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:40] [ROWS] 32: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:40] [ROWS] 33: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:41:40] [ROWS] 34: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:40] [ROWS] 35: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:40] [ROWS] 36: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:40] [ROWS] 37: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:40] [ROWS] 38: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:40] [ROWS] 39: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:40] [ROWS] 40: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:40] [ROWS] 41: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:40] [ROWS] 42: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:40] [ROWS] 43: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:40] [ROWS] 44: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:41:40] [ROWS] 45: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:40] [ROWS] 46: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:40] [ROWS] 47: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:41:40] [ROWS] 48: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:41:40] [ROWS] 49: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:41:40] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:41:40] [TAB_FILTER] πŸ“Š Reloading table with 50 rows
[11:41:40] [HEIGHT_DEBUG] Row 1 msg 1621: isPlayingEvolution=false, textLength=8, text='Message2...'
[11:41:40] [HEIGHT] Row 1 msg 1621: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:41:40] [HEIGHT_DEBUG] Row 2 msg 1620: isPlayingEvolution=false, textLength=8, text='Message1...'
[11:41:40] [HEIGHT] Row 2 msg 1620: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:41:40] [HEIGHT_DEBUG] Row 1 msg 1621: isPlayingEvolution=false, textLength=8, text='Message2...'
[11:41:40] [HEIGHT] Row 1 msg 1621: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:41:40] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:41:40] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [HEIGHT_DEBUG] Row 2 msg 1620: isPlayingEvolution=false, textLength=8, text='Message1...'
[11:41:40] [HEIGHT] Row 2 msg 1620: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:41:40] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:41:40] [INITIAL_LOAD] Loaded 50 messages (first page), displaying 49 for tab 0, hasMore: true
[11:41:40] ReloadData 1
[11:41:40] [PURGE] Deleted 0 unused media files:

[11:41:40] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:41:40] [EVOLUTION_SEQ] πŸš€ FUNCTION CALLED with 1 message IDs: [1622]
[11:41:40] [EVOLUTION_SEQ] ⏱️ t=1763289700.942 πŸ“‹ Starting with 1 messages: [1622]
[11:41:40] [EVOLUTION_SEQ] πŸ“Š Message 1/1: id=1622, length=6 chars, estimated_duration=0.30s
[11:41:40] [EVOLUTION_SEQ] ⏱️ t=1763289700.942 πŸ”’ Marked 1 messages as pending (hidden from view)
[11:41:40] [EVOLUTION_SEQ] ⏱️ t=1763289700.942 πŸ“ Queued 1 messages for sequential playback
[11:41:40] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:41:40] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:41:40] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:41:40] [EVOLUTION_SEQ] ⏱️ t=1763289700.942 Filtered out 1 pending evolution messages
[11:41:40] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=50 =====
[11:41:40] [ROWS] 0: SEPARATOR
[11:41:40] [ROWS] 1: MESSAGE id=1621 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:41:40] [ROWS] 2: MESSAGE id=1620 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:41:40] [ROWS] 3: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:40] [ROWS] 4: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:40] [ROWS] 5: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:40] [ROWS] 6: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:41:40] [ROWS] 7: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:41:40] [ROWS] 8: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:40] [ROWS] 9: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:40] [ROWS] 10: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:40] [ROWS] 11: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:40] [ROWS] 12: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:41:40] [ROWS] 13: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:41:40] [ROWS] 14: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:41:40] [ROWS] 15: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:40] [ROWS] 16: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:41:40] [ROWS] 17: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:40] [ROWS] 18: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:40] [ROWS] 19: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:41:40] [ROWS] 20: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:40] [ROWS] 21: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:41:40] [ROWS] 22: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:40] [ROWS] 23: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:40] [ROWS] 24: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:40] [ROWS] 25: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:40] [ROWS] 26: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:41:40] [ROWS] 27: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:41:40] [ROWS] 28: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:41:40] [ROWS] 29: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:41:40] [ROWS] 30: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:40] [ROWS] 31: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:40] [ROWS] 32: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:40] [ROWS] 33: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:41:40] [ROWS] 34: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:40] [ROWS] 35: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:40] [ROWS] 36: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:40] [ROWS] 37: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:40] [ROWS] 38: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:40] [ROWS] 39: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:40] [ROWS] 40: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:40] [ROWS] 41: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:40] [ROWS] 42: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:40] [ROWS] 43: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:40] [ROWS] 44: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:41:40] [ROWS] 45: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:40] [ROWS] 46: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:40] [ROWS] 47: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:41:40] [ROWS] 48: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:41:40] [ROWS] 49: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:41:40] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:41:40] [TAB_FILTER] πŸ“Š Reloading table with 50 rows
[11:41:40] [HEIGHT_DEBUG] Row 1 msg 1621: isPlayingEvolution=false, textLength=8, text='Message2...'
[11:41:40] [HEIGHT] Row 1 msg 1621: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:41:40] [HEIGHT_DEBUG] Row 2 msg 1620: isPlayingEvolution=false, textLength=8, text='Message1...'
[11:41:40] [HEIGHT] Row 2 msg 1620: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:41:40] [HEIGHT_DEBUG] Row 1 msg 1621: isPlayingEvolution=false, textLength=8, text='Message2...'
[11:41:40] [HEIGHT] Row 1 msg 1621: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:41:40] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:41:40] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [HEIGHT_DEBUG] Row 2 msg 1620: isPlayingEvolution=false, textLength=8, text='Message1...'
[11:41:40] [HEIGHT] Row 2 msg 1620: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:41:40] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:40] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:40] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:40] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:41:40] [EVOLUTION_SEQ] ⏱️ t=1763289700.948 πŸ“Š Table reloaded: 49 β†’ 49 visible messages
[11:41:41] [EVOLUTION_SEQ] ⏱️ t=1763289701.100 🎬 Starting sequential playback
[11:41:41] [EVOLUTION_SEQ] ⏱️ t=1763289701.101 ▢️ Playing message 1622 - 0 remaining in queue
[11:41:41] [EVOLUTION_SEQ] ⏱️ t=1763289701.101 πŸ“ Message 1622: "Coucou..." (6 chars)
[11:41:41] [EVOLUTION_SEQ] ⏱️ t=1763289701.101 πŸ”“ Removed message 1622 from pending set
[11:41:41] [EVOLUTION_SEQ] ⏱️ t=1763289701.101 🎬 Set evolution state for message 1622
[11:41:41] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:41:41] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:41:41] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:41:41] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=51 =====
[11:41:41] [ROWS] 0: SEPARATOR
[11:41:41] [ROWS] 1: MESSAGE id=1622 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=6
[11:41:41] [ROWS] 2: MESSAGE id=1621 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:41:41] [ROWS] 3: MESSAGE id=1620 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:41:41] [ROWS] 4: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:41] [ROWS] 5: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:41] [ROWS] 6: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:41] [ROWS] 7: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:41:41] [ROWS] 8: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:41:41] [ROWS] 9: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:41] [ROWS] 10: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:41] [ROWS] 11: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:41] [ROWS] 12: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:41] [ROWS] 13: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:41:41] [ROWS] 14: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:41:41] [ROWS] 15: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:41:41] [ROWS] 16: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:41] [ROWS] 17: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:41:41] [ROWS] 18: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:41] [ROWS] 19: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:41] [ROWS] 20: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:41:41] [ROWS] 21: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:41] [ROWS] 22: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:41:41] [ROWS] 23: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:41] [ROWS] 24: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:41] [ROWS] 25: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:41] [ROWS] 26: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:41] [ROWS] 27: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:41:41] [ROWS] 28: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:41:41] [ROWS] 29: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:41:41] [ROWS] 30: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:41:41] [ROWS] 31: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:41] [ROWS] 32: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:41] [ROWS] 33: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:41] [ROWS] 34: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:41:41] [ROWS] 35: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:41] [ROWS] 36: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:41] [ROWS] 37: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:41] [ROWS] 38: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:41] [ROWS] 39: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:41] [ROWS] 40: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:41] [ROWS] 41: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:41] [ROWS] 42: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:41] [ROWS] 43: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:41] [ROWS] 44: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:41] [ROWS] 45: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:41:41] [ROWS] 46: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:41] [ROWS] 47: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:41] [ROWS] 48: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:41:41] [ROWS] 49: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:41:41] [ROWS] 50: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:41:41] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:41:41] [TAB_FILTER] πŸ“Š Reloading table with 51 rows
[11:41:41] [HEIGHT_DEBUG] Row 1 msg 1622: isPlayingEvolution=true, textLength=0, text='...'
[11:41:41] [HEIGHT] Row 1 msg 1622: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:41:41] [HEIGHT_DEBUG] Row 2 msg 1621: isPlayingEvolution=false, textLength=8, text='Message2...'
[11:41:41] [HEIGHT] Row 2 msg 1621: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:41:41] [HEIGHT_DEBUG] Row 1 msg 1622: isPlayingEvolution=true, textLength=0, text='...'
[11:41:41] [HEIGHT] Row 1 msg 1622: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:41:41] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:41:41] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:41:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:41:41] [HEIGHT_DEBUG] Row 2 msg 1621: isPlayingEvolution=false, textLength=8, text='Message2...'
[11:41:41] [HEIGHT] Row 2 msg 1621: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:41:41] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:41] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:41] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:41] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:41] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:41] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:41] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:41] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:41] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:41] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:41] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:41] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:41] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:41] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:41] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:41] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:41] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:41] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:41] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:41:41] [EVOLUTION_SEQ] ⏱️ t=1763289701.101 πŸ“± Table reloaded: 49 β†’ 50 messages (bubble for 1622 now visible)
[11:41:41] [EVOLUTION_SEQ] ⏱️ t=1763289701.154 🎬 Starting sequential playback
[11:41:41] [EVOLUTION] ⏸️ Already playing queued evolution, will retry when current finishes
[11:41:41] [EVOLUTION_SEQ] ⏱️ t=1763289701.417 ▢️ Starting animation for message 1622
[11:41:41] [EVOLUTION] πŸ“‘ Fetching evolution data for message 1622
[11:41:41] [EVOLUTION] πŸ” Raw response (306 bytes): {"ok":true,"has_evolution":true,"message_id":1622,"evolution":{"events":[{"c":"C","p":0,"t":0,"op":"i"},{"t":276,"op":"i","p":1,"c":"o"},{"c":"u","p":2,"op":"i","t":343},{"p":3,"op":"i","c":"c","t":46
[11:41:41] [EVOLUTION] πŸ” Parsed JSON keys: ["created_at", "evolution", "has_evolution", "message_id", "ok"]
[11:41:41] [EVOLUTION] πŸ” has_evolution: 1
[11:41:41] [EVOLUTION] βœ… Got 6 events for message 1622
[11:41:41] [OVERLAP_FIX] πŸš€ Starting evolution - forcing initial height recalculation
[11:41:41] [UPDATE] πŸ”„ updateMessageCell(for: 1622) β€” full safe reload
[11:41:41] [ROWS] ===== updateMessageCell for 1622 β€” chatRows.count=51 =====
[11:41:41] [ROWS] 0: SEPARATOR
[11:41:41] [ROWS] 1: MESSAGE id=1622 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=6
[11:41:41] [ROWS] 2: MESSAGE id=1621 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:41:41] [ROWS] 3: MESSAGE id=1620 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:41:41] [ROWS] 4: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:41] [ROWS] 5: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:41] [ROWS] 6: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:41] [ROWS] 7: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:41:41] [ROWS] 8: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:41:41] [ROWS] 9: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:41] [ROWS] 10: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:41] [ROWS] 11: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:41] [ROWS] 12: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:41] [ROWS] 13: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:41:41] [ROWS] 14: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:41:41] [ROWS] 15: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:41:41] [ROWS] 16: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:41] [ROWS] 17: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:41:41] [ROWS] 18: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:41] [ROWS] 19: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:41] [ROWS] 20: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:41:41] [ROWS] 21: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:41] [ROWS] 22: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:41:41] [ROWS] 23: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:41] [ROWS] 24: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:41] [ROWS] 25: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:41] [ROWS] 26: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:41] [ROWS] 27: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:41:41] [ROWS] 28: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:41:41] [ROWS] 29: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:41:41] [ROWS] 30: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:41:41] [ROWS] 31: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:41] [ROWS] 32: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:41] [ROWS] 33: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:41] [ROWS] 34: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:41:41] [ROWS] 35: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:41] [ROWS] 36: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:41] [ROWS] 37: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:41] [ROWS] 38: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:41] [ROWS] 39: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:41] [ROWS] 40: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:41] [ROWS] 41: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:41] [ROWS] 42: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:41] [ROWS] 43: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:41] [ROWS] 44: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:41] [ROWS] 45: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:41:41] [ROWS] 46: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:41] [ROWS] 47: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:41] [ROWS] 48: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:41:41] [ROWS] 49: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:41:41] [ROWS] 50: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:41:41] [ROWS] ===== END (updateMessageCell for 1622) =====
[11:41:41] [HEIGHT_DEBUG] Row 1 msg 1622: isPlayingEvolution=true, textLength=0, text='...'
[11:41:41] [HEIGHT] Row 1 msg 1622: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:41:41] [HEIGHT_DEBUG] Row 2 msg 1621: isPlayingEvolution=false, textLength=8, text='Message2...'
[11:41:41] [HEIGHT] Row 2 msg 1621: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:41:41] [HEIGHT_DEBUG] Row 1 msg 1622: isPlayingEvolution=true, textLength=0, text='...'
[11:41:41] [HEIGHT] Row 1 msg 1622: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:41:41] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:41:41] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:41:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:41:41] [HEIGHT_DEBUG] Row 2 msg 1621: isPlayingEvolution=false, textLength=8, text='Message2...'
[11:41:41] [HEIGHT] Row 2 msg 1621: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:41:41] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:41] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:41] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:41] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:41] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:41] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:41] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:41] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:41] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:41] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:41] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:41] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:41] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:41] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:41] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:41] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:41] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:41] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:41] [EVOLUTION] ▢️ Starting inline playback for message 1622 with 6 events
[11:41:41] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("operation_type"): 3, AnyHashable("message_id"): 1622, AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("session_id"): ILUIWU2]
[11:41:41] [PUSH] Parsed message_id: 1622
[11:41:41] [PUSH] Parsed operation_type: 3
[11:41:41] [PUSH] Taking direct action: opType=3, messageId=1622
[11:41:41] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=1622
[11:41:41] [EVOLUTION] πŸ“ Event 0/6 - Text now: "C..."
[11:41:41] [UPDATE] πŸ”„ updateMessageCell(for: 1622) β€” full safe reload
[11:41:41] [ROWS] ===== updateMessageCell for 1622 β€” chatRows.count=51 =====
[11:41:41] [ROWS] 0: SEPARATOR
[11:41:41] [ROWS] 1: MESSAGE id=1622 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=1 textLen=6
[11:41:41] [ROWS] 2: MESSAGE id=1621 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:41:41] [ROWS] 3: MESSAGE id=1620 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:41:41] [ROWS] 4: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:41] [ROWS] 5: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:41] [ROWS] 6: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:41] [ROWS] 7: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:41:41] [ROWS] 8: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:41:41] [ROWS] 9: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:41] [ROWS] 10: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:41] [ROWS] 11: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:41] [ROWS] 12: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:41] [ROWS] 13: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:41:41] [ROWS] 14: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:41:41] [ROWS] 15: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:41:41] [ROWS] 16: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:41] [ROWS] 17: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:41:41] [ROWS] 18: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:41] [ROWS] 19: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:41] [ROWS] 20: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:41:41] [ROWS] 21: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:41] [ROWS] 22: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:41:41] [ROWS] 23: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:41] [ROWS] 24: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:41] [ROWS] 25: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:41] [ROWS] 26: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:41] [ROWS] 27: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:41:41] [ROWS] 28: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:41:41] [ROWS] 29: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:41:41] [ROWS] 30: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:41:41] [ROWS] 31: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:41] [ROWS] 32: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:41] [ROWS] 33: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:41] [ROWS] 34: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:41:41] [ROWS] 35: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:41] [ROWS] 36: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:41] [ROWS] 37: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:41] [ROWS] 38: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:41] [ROWS] 39: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:41] [ROWS] 40: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:41] [ROWS] 41: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:41] [ROWS] 42: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:41] [ROWS] 43: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:41] [ROWS] 44: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:41] [ROWS] 45: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:41:41] [ROWS] 46: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:41] [ROWS] 47: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:41] [ROWS] 48: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:41:41] [ROWS] 49: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:41:41] [ROWS] 50: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:41:41] [ROWS] ===== END (updateMessageCell for 1622) =====
[11:41:41] [HEIGHT_DEBUG] Row 1 msg 1622: isPlayingEvolution=true, textLength=1, text='C...'
[11:41:41] [HEIGHT] Row 1 msg 1622: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:41:41] [HEIGHT_DEBUG] Row 2 msg 1621: isPlayingEvolution=false, textLength=8, text='Message2...'
[11:41:41] [HEIGHT] Row 2 msg 1621: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:41:41] [HEIGHT_DEBUG] Row 1 msg 1622: isPlayingEvolution=true, textLength=1, text='C...'
[11:41:41] [HEIGHT] Row 1 msg 1622: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:41:41] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:41:41] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:41:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:41] [HEIGHT_DEBUG] Row 2 msg 1621: isPlayingEvolution=false, textLength=8, text='Message2...'
[11:41:41] [HEIGHT] Row 2 msg 1621: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:41:41] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:41] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:41] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:41] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:41] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:41] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:41] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:41] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:41] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:41] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:41] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:41] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:41] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:41] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:41] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:41] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:41] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:41] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:41] [EVOLUTION] πŸ“ Event 1/6 - Text now: "Co..."
[11:41:41] [UPDATE] πŸ”„ updateMessageCell(for: 1622) β€” full safe reload
[11:41:41] [ROWS] ===== updateMessageCell for 1622 β€” chatRows.count=51 =====
[11:41:41] [ROWS] 0: SEPARATOR
[11:41:41] [ROWS] 1: MESSAGE id=1622 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=2 textLen=6
[11:41:41] [ROWS] 2: MESSAGE id=1621 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:41:41] [ROWS] 3: MESSAGE id=1620 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:41:41] [ROWS] 4: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:41] [ROWS] 5: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:41] [ROWS] 6: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:41] [ROWS] 7: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:41:41] [ROWS] 8: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:41:41] [ROWS] 9: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:41] [ROWS] 10: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:41] [ROWS] 11: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:41] [ROWS] 12: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:41] [ROWS] 13: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:41:41] [ROWS] 14: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:41:41] [ROWS] 15: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:41:41] [ROWS] 16: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:41] [ROWS] 17: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:41:41] [ROWS] 18: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:41] [ROWS] 19: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:41] [ROWS] 20: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:41:41] [ROWS] 21: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:41] [ROWS] 22: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:41:41] [ROWS] 23: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:41] [ROWS] 24: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:41] [ROWS] 25: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:41] [ROWS] 26: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:41] [ROWS] 27: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:41:41] [ROWS] 28: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:41:41] [ROWS] 29: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:41:41] [ROWS] 30: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:41:41] [ROWS] 31: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:41] [ROWS] 32: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:41] [ROWS] 33: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:41] [ROWS] 34: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:41:41] [ROWS] 35: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:41] [ROWS] 36: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:41] [ROWS] 37: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:41] [ROWS] 38: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:41] [ROWS] 39: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:41] [ROWS] 40: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:41] [ROWS] 41: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:41] [ROWS] 42: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:41] [ROWS] 43: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:41] [ROWS] 44: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:41] [ROWS] 45: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:41:41] [ROWS] 46: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:41] [ROWS] 47: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:41] [ROWS] 48: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:41:41] [ROWS] 49: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:41:41] [ROWS] 50: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:41:41] [ROWS] ===== END (updateMessageCell for 1622) =====
[11:41:41] [HEIGHT_DEBUG] Row 1 msg 1622: isPlayingEvolution=true, textLength=2, text='Co...'
[11:41:41] [HEIGHT] Row 1 msg 1622: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:41:41] [HEIGHT_DEBUG] Row 2 msg 1621: isPlayingEvolution=false, textLength=8, text='Message2...'
[11:41:41] [HEIGHT] Row 2 msg 1621: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:41:41] [HEIGHT_DEBUG] Row 1 msg 1622: isPlayingEvolution=true, textLength=2, text='Co...'
[11:41:41] [HEIGHT] Row 1 msg 1622: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:41:41] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:41:41] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:41:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:41] [HEIGHT_DEBUG] Row 2 msg 1621: isPlayingEvolution=false, textLength=8, text='Message2...'
[11:41:41] [HEIGHT] Row 2 msg 1621: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:41:41] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:41] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:41] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:41] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:41] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:41] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:41] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:41] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:41] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:41] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:41] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:41] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:41] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:41] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:41] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:41] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:41] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:41] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:41] [EVOLUTION] πŸ“ Event 2/6 - Text now: "Cou..."
[11:41:41] [UPDATE] πŸ”„ updateMessageCell(for: 1622) β€” full safe reload
[11:41:41] [ROWS] ===== updateMessageCell for 1622 β€” chatRows.count=51 =====
[11:41:41] [ROWS] 0: SEPARATOR
[11:41:41] [ROWS] 1: MESSAGE id=1622 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=3 textLen=6
[11:41:41] [ROWS] 2: MESSAGE id=1621 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:41:41] [ROWS] 3: MESSAGE id=1620 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:41:41] [ROWS] 4: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:41] [ROWS] 5: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:41] [ROWS] 6: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:41] [ROWS] 7: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:41:41] [ROWS] 8: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:41:41] [ROWS] 9: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:41] [ROWS] 10: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:41] [ROWS] 11: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:41] [ROWS] 12: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:41] [ROWS] 13: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:41:41] [ROWS] 14: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:41:41] [ROWS] 15: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:41:41] [ROWS] 16: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:41] [ROWS] 17: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:41:41] [ROWS] 18: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:41] [ROWS] 19: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:41] [ROWS] 20: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:41:41] [ROWS] 21: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:41] [ROWS] 22: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:41:41] [ROWS] 23: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:41] [ROWS] 24: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:41] [ROWS] 25: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:41] [ROWS] 26: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:41] [ROWS] 27: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:41:41] [ROWS] 28: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:41:41] [ROWS] 29: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:41:41] [ROWS] 30: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:41:41] [ROWS] 31: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:41] [ROWS] 32: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:41] [ROWS] 33: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:41] [ROWS] 34: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:41:41] [ROWS] 35: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:41] [ROWS] 36: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:41] [ROWS] 37: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:41] [ROWS] 38: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:41] [ROWS] 39: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:41] [ROWS] 40: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:41] [ROWS] 41: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:41] [ROWS] 42: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:41] [ROWS] 43: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:41] [ROWS] 44: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:41] [ROWS] 45: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:41:41] [ROWS] 46: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:41] [ROWS] 47: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:41] [ROWS] 48: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:41:41] [ROWS] 49: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:41:41] [ROWS] 50: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:41:41] [ROWS] ===== END (updateMessageCell for 1622) =====
[11:41:41] [HEIGHT_DEBUG] Row 1 msg 1622: isPlayingEvolution=true, textLength=3, text='Cou...'
[11:41:41] [HEIGHT] Row 1 msg 1622: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:41:41] [HEIGHT_DEBUG] Row 2 msg 1621: isPlayingEvolution=false, textLength=8, text='Message2...'
[11:41:41] [HEIGHT] Row 2 msg 1621: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:41:41] [HEIGHT_DEBUG] Row 1 msg 1622: isPlayingEvolution=true, textLength=3, text='Cou...'
[11:41:41] [HEIGHT] Row 1 msg 1622: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:41:41] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:41:41] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:41:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:41] [HEIGHT_DEBUG] Row 2 msg 1621: isPlayingEvolution=false, textLength=8, text='Message2...'
[11:41:41] [HEIGHT] Row 2 msg 1621: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:41:41] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:41] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:41] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:41] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:41] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:41] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:41] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:41] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:41] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:41] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:41] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:41] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:41] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:41] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:41] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:41] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:41] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:41] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:41] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:41] [EVOLUTION] πŸ“ Event 3/6 - Text now: "Couc..."
[11:41:41] [UPDATE] πŸ”„ updateMessageCell(for: 1622) β€” full safe reload
[11:41:41] [ROWS] ===== updateMessageCell for 1622 β€” chatRows.count=51 =====
[11:41:41] [ROWS] 0: SEPARATOR
[11:41:41] [ROWS] 1: MESSAGE id=1622 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=4 textLen=6
[11:41:41] [ROWS] 2: MESSAGE id=1621 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:41:41] [ROWS] 3: MESSAGE id=1620 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:41:41] [ROWS] 4: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:41] [ROWS] 5: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:41] [ROWS] 6: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:41] [ROWS] 7: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:41:41] [ROWS] 8: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:41:41] [ROWS] 9: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:41] [ROWS] 10: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:41] [ROWS] 11: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:41] [ROWS] 12: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:41] [ROWS] 13: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:41:41] [ROWS] 14: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:41:41] [ROWS] 15: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:41:41] [ROWS] 16: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:41] [ROWS] 17: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:41:41] [ROWS] 18: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:41] [ROWS] 19: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:41] [ROWS] 20: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:41:41] [ROWS] 21: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:41] [ROWS] 22: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:41:41] [ROWS] 23: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:41] [ROWS] 24: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:41] [ROWS] 25: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:41] [ROWS] 26: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:41] [ROWS] 27: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:41:41] [ROWS] 28: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:41:41] [ROWS] 29: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:41:41] [ROWS] 30: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:41:41] [ROWS] 31: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:41] [ROWS] 32: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:41] [ROWS] 33: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:41] [ROWS] 34: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:41:41] [ROWS] 35: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:41] [ROWS] 36: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:41] [ROWS] 37: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:41] [ROWS] 38: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:41] [ROWS] 39: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:41] [ROWS] 40: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:41] [ROWS] 41: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:41] [ROWS] 42: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:41] [ROWS] 43: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:41] [ROWS] 44: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:41] [ROWS] 45: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:41:41] [ROWS] 46: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:41] [ROWS] 47: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:41] [ROWS] 48: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:41:41] [ROWS] 49: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:41:41] [ROWS] 50: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:41:41] [ROWS] ===== END (updateMessageCell for 1622) =====
[11:41:41] [HEIGHT_DEBUG] Row 1 msg 1622: isPlayingEvolution=true, textLength=4, text='Couc...'
[11:41:41] [HEIGHT] Row 1 msg 1622: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:41:41] [HEIGHT_DEBUG] Row 2 msg 1621: isPlayingEvolution=false, textLength=8, text='Message2...'
[11:41:41] [HEIGHT] Row 2 msg 1621: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:41:42] [HEIGHT_DEBUG] Row 1 msg 1622: isPlayingEvolution=true, textLength=4, text='Couc...'
[11:41:42] [HEIGHT] Row 1 msg 1622: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:41:42] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:41:42] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:41:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:42] [HEIGHT_DEBUG] Row 2 msg 1621: isPlayingEvolution=false, textLength=8, text='Message2...'
[11:41:42] [HEIGHT] Row 2 msg 1621: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:41:42] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:42] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:42] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:42] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:42] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:42] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:42] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:42] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:42] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:42] [EVOLUTION] πŸ“ Event 4/6 - Text now: "Couco..."
[11:41:42] [UPDATE] πŸ”„ updateMessageCell(for: 1622) β€” full safe reload
[11:41:42] [ROWS] ===== updateMessageCell for 1622 β€” chatRows.count=51 =====
[11:41:42] [ROWS] 0: SEPARATOR
[11:41:42] [ROWS] 1: MESSAGE id=1622 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=5 textLen=6
[11:41:42] [ROWS] 2: MESSAGE id=1621 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:41:42] [ROWS] 3: MESSAGE id=1620 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:41:42] [ROWS] 4: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:42] [ROWS] 5: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:42] [ROWS] 6: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:42] [ROWS] 7: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:41:42] [ROWS] 8: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:41:42] [ROWS] 9: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:42] [ROWS] 10: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:42] [ROWS] 11: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:42] [ROWS] 12: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:42] [ROWS] 13: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:41:42] [ROWS] 14: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:41:42] [ROWS] 15: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:41:42] [ROWS] 16: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:42] [ROWS] 17: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:41:42] [ROWS] 18: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:42] [ROWS] 19: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:42] [ROWS] 20: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:41:42] [ROWS] 21: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:42] [ROWS] 22: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:41:42] [ROWS] 23: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:42] [ROWS] 24: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:42] [ROWS] 25: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:42] [ROWS] 26: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:42] [ROWS] 27: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:41:42] [ROWS] 28: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:41:42] [ROWS] 29: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:41:42] [ROWS] 30: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:41:42] [ROWS] 31: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:42] [ROWS] 32: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:42] [ROWS] 33: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:42] [ROWS] 34: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:41:42] [ROWS] 35: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:42] [ROWS] 36: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:42] [ROWS] 37: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:42] [ROWS] 38: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:42] [ROWS] 39: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:42] [ROWS] 40: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:42] [ROWS] 41: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:42] [ROWS] 42: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:42] [ROWS] 43: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:42] [ROWS] 44: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:42] [ROWS] 45: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:41:42] [ROWS] 46: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:42] [ROWS] 47: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:42] [ROWS] 48: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:41:42] [ROWS] 49: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:41:42] [ROWS] 50: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:41:42] [ROWS] ===== END (updateMessageCell for 1622) =====
[11:41:42] [HEIGHT_DEBUG] Row 1 msg 1622: isPlayingEvolution=true, textLength=5, text='Couco...'
[11:41:42] [HEIGHT] Row 1 msg 1622: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:41:42] [HEIGHT_DEBUG] Row 2 msg 1621: isPlayingEvolution=false, textLength=8, text='Message2...'
[11:41:42] [HEIGHT] Row 2 msg 1621: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:41:42] [HEIGHT_DEBUG] Row 1 msg 1622: isPlayingEvolution=true, textLength=5, text='Couco...'
[11:41:42] [HEIGHT] Row 1 msg 1622: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:41:42] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:41:42] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:41:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:42] [HEIGHT_DEBUG] Row 2 msg 1621: isPlayingEvolution=false, textLength=8, text='Message2...'
[11:41:42] [HEIGHT] Row 2 msg 1621: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:41:42] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:42] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:42] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:42] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:42] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:42] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:42] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:42] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:42] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:42] [EVOLUTION] πŸ“ Event 5/6 - Text now: "Coucou..."
[11:41:42] [UPDATE] πŸ”„ updateMessageCell(for: 1622) β€” full safe reload
[11:41:42] [ROWS] ===== updateMessageCell for 1622 β€” chatRows.count=51 =====
[11:41:42] [ROWS] 0: SEPARATOR
[11:41:42] [ROWS] 1: MESSAGE id=1622 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=6 textLen=6
[11:41:42] [ROWS] 2: MESSAGE id=1621 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:41:42] [ROWS] 3: MESSAGE id=1620 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:41:42] [ROWS] 4: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:42] [ROWS] 5: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:42] [ROWS] 6: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:42] [ROWS] 7: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:41:42] [ROWS] 8: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:41:42] [ROWS] 9: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:42] [ROWS] 10: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:42] [ROWS] 11: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:42] [ROWS] 12: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:42] [ROWS] 13: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:41:42] [ROWS] 14: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:41:42] [ROWS] 15: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:41:42] [ROWS] 16: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:42] [ROWS] 17: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:41:42] [ROWS] 18: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:42] [ROWS] 19: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:42] [ROWS] 20: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:41:42] [ROWS] 21: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:42] [ROWS] 22: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:41:42] [ROWS] 23: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:42] [ROWS] 24: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:42] [ROWS] 25: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:42] [ROWS] 26: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:42] [ROWS] 27: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:41:42] [ROWS] 28: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:41:42] [ROWS] 29: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:41:42] [ROWS] 30: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:41:42] [ROWS] 31: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:42] [ROWS] 32: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:42] [ROWS] 33: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:42] [ROWS] 34: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:41:42] [ROWS] 35: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:42] [ROWS] 36: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:42] [ROWS] 37: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:42] [ROWS] 38: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:42] [ROWS] 39: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:42] [ROWS] 40: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:42] [ROWS] 41: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:42] [ROWS] 42: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:42] [ROWS] 43: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:42] [ROWS] 44: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:42] [ROWS] 45: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:41:42] [ROWS] 46: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:42] [ROWS] 47: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:42] [ROWS] 48: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:41:42] [ROWS] 49: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:41:42] [ROWS] 50: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:41:42] [ROWS] ===== END (updateMessageCell for 1622) =====
[11:41:42] [HEIGHT_DEBUG] Row 1 msg 1622: isPlayingEvolution=true, textLength=6, text='Coucou...'
[11:41:42] [HEIGHT] Row 1 msg 1622: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:41:42] [HEIGHT_DEBUG] Row 2 msg 1621: isPlayingEvolution=false, textLength=8, text='Message2...'
[11:41:42] [HEIGHT] Row 2 msg 1621: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:41:42] [HEIGHT_DEBUG] Row 1 msg 1622: isPlayingEvolution=true, textLength=6, text='Coucou...'
[11:41:42] [HEIGHT] Row 1 msg 1622: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:41:42] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:41:42] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:41:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:42] [HEIGHT_DEBUG] Row 2 msg 1621: isPlayingEvolution=false, textLength=8, text='Message2...'
[11:41:42] [HEIGHT] Row 2 msg 1621: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:41:42] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:42] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:42] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:42] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:42] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:42] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:42] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:42] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:42] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:42] [EVOLUTION_SEQ] ⏱️ t=1763289702.168 βœ… Finished message 1622 - duration=1.07s, length=6 chars, speed=6 chars/s
[11:41:42] [UPDATE] πŸ”„ updateMessageCell(for: 1622) β€” full safe reload
[11:41:42] [ROWS] ===== updateMessageCell for 1622 β€” chatRows.count=51 =====
[11:41:42] [ROWS] 0: SEPARATOR
[11:41:42] [ROWS] 1: MESSAGE id=1622 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=6 textLen=6
[11:41:42] [ROWS] 2: MESSAGE id=1621 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:41:42] [ROWS] 3: MESSAGE id=1620 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:41:42] [ROWS] 4: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:42] [ROWS] 5: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:42] [ROWS] 6: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:42] [ROWS] 7: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:41:42] [ROWS] 8: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:41:42] [ROWS] 9: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:42] [ROWS] 10: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:42] [ROWS] 11: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:42] [ROWS] 12: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:42] [ROWS] 13: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:41:42] [ROWS] 14: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:41:42] [ROWS] 15: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:41:42] [ROWS] 16: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:42] [ROWS] 17: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:41:42] [ROWS] 18: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:42] [ROWS] 19: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:42] [ROWS] 20: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:41:42] [ROWS] 21: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:42] [ROWS] 22: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:41:42] [ROWS] 23: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:42] [ROWS] 24: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:42] [ROWS] 25: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:42] [ROWS] 26: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:42] [ROWS] 27: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:41:42] [ROWS] 28: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:41:42] [ROWS] 29: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:41:42] [ROWS] 30: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:41:42] [ROWS] 31: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:42] [ROWS] 32: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:42] [ROWS] 33: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:42] [ROWS] 34: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:41:42] [ROWS] 35: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:42] [ROWS] 36: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:42] [ROWS] 37: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:42] [ROWS] 38: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:42] [ROWS] 39: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:42] [ROWS] 40: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:41:42] [ROWS] 41: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:42] [ROWS] 42: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:41:42] [ROWS] 43: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:42] [ROWS] 44: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:41:42] [ROWS] 45: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:41:42] [ROWS] 46: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:42] [ROWS] 47: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:41:42] [ROWS] 48: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:41:42] [ROWS] 49: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:41:42] [ROWS] 50: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:41:42] [ROWS] ===== END (updateMessageCell for 1622) =====
[11:41:42] [HEIGHT_DEBUG] Row 1 msg 1622: isPlayingEvolution=false, textLength=6, text='Coucou...'
[11:41:42] [HEIGHT] Row 1 msg 1622: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:41:42] [HEIGHT_DEBUG] Row 2 msg 1621: isPlayingEvolution=false, textLength=8, text='Message2...'
[11:41:42] [HEIGHT] Row 2 msg 1621: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:41:42] [HEIGHT_DEBUG] Row 1 msg 1622: isPlayingEvolution=false, textLength=6, text='Coucou...'
[11:41:42] [HEIGHT] Row 1 msg 1622: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:41:42] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:41:42] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:41:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:42] [HEIGHT_DEBUG] Row 2 msg 1621: isPlayingEvolution=false, textLength=8, text='Message2...'
[11:41:42] [HEIGHT] Row 2 msg 1621: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:41:42] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:42] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:42] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:42] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:42] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:42] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:42] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:42] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:42] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:41:42] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:41:42] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:41:42] [EVOLUTION_SEQ] ⏱️ t=1763289702.173 βœ… All queued messages have been played
[11:41:42] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:41:42] Will get events_php
[11:41:42] [TYPING] πŸ”„ ========== POLL START ==========
[11:41:42] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:41:42] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:41:42] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:41:42] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:41:42] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:41:42] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:41:42] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:41:42] [TYPING] πŸ“₯ Found 0 typing users in response
[11:41:42] [TYPING] πŸ“₯ Updating typing users SET: []
[11:41:42] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:41:42] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:41:42] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:41:42] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:41:42] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:41:42] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:41:42] [TYPING] πŸ”„ ========== POLL END ==========
[11:41:42] [EVT] get_events.php HTTP 200
── Response Headers ──
Keep-Alive: timeout=5, max=94
Content-Length: 205
Content-Type: application/json; charset=utf-8
Server: Apache/2.4.65 (Unix) PHP/8.4.14
X-Powered-By: PHP/8.4.14
Date: Sun, 16 Nov 2025 10:41:42 GMT
Connection: Keep-Alive
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":2,"events":[{"event_id":10730,"event_type":3,"message_id":1622,"session_id":"ILUIWU2"},{"event_id":10731,"event_type":3,"message_id":1622,"session_id":"ILUIWU2"}]}
[11:41:42] Done
[11:41:44] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:41:44] Will get events_php
[11:41:44] [TYPING] πŸ”„ ========== POLL START ==========
[11:41:44] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:41:44] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:41:44] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:41:44] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:41:44] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:41:44] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:41:44] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok, "sessionId": ILUIWU2]
[11:41:44] [TYPING] πŸ“₯ Found 0 typing users in response
[11:41:44] [TYPING] πŸ“₯ Updating typing users SET: []
[11:41:44] [EVT] get_events.php HTTP 200
── Response Headers ──
Keep-Alive: timeout=5, max=92
Content-Length: 56
Content-Type: application/json; charset=utf-8
Server: Apache/2.4.65 (Unix) PHP/8.4.14
X-Powered-By: PHP/8.4.14
Date: Sun, 16 Nov 2025 10:41:44 GMT
Connection: Keep-Alive
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:41:44] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:41:44] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:41:44] Done
[11:41:44] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:41:44] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:41:44] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:41:44] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:41:44] [TYPING] πŸ”„ ========== POLL END ==========
[11:41:44] Main
[11:41:45] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:41:45] [INFO_PAGE] Found 437 messages for session 'ILUIWU2'
[11:41:45] [INFO_PAGE] Total messages in database: 1203
[11:41:46] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:41:46] Will get events_php
[11:41:46] [TYPING] πŸ”„ ========== POLL START ==========
[11:41:46] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:41:46] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:41:46] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:41:46] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:41:46] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:41:46] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:41:46] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2]
[11:41:46] [TYPING] πŸ“₯ Found 0 typing users in response
[11:41:46] [TYPING] πŸ“₯ Updating typing users SET: []
[11:41:46] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:41:46] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:41:46] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:41:46] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:41:46] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:41:46] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:41:46] [TYPING] πŸ”„ ========== POLL END ==========
[11:41:46] [EVT] get_events.php HTTP 200
── Response Headers ──
Keep-Alive: timeout=5, max=90
Content-Length: 56
Content-Type: application/json; charset=utf-8
Server: Apache/2.4.65 (Unix) PHP/8.4.14
X-Powered-By: PHP/8.4.14
Date: Sun, 16 Nov 2025 10:41:46 GMT
Connection: Keep-Alive
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:41:46] Done
[11:41:46] Main
[11:44:47] [CRASH] Previous session did not exit cleanly - crash detected
[11:44:47] [GIPHY] SDK not available - using REST API fallback
[11:44:47] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:44:47] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:44:47] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:44:47] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:44:47] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:44:47] [SCENE] Launched directly to chat view with sessionId: ILUIWU2
[11:44:47] [PUSH] APNs token: 6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c
[11:44:48] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:44:48] [PUSH] Device role updated to 'viewer': HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:44:48] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:44:48] Documents Directory: /var/mobile/Containers/Data/Application/66AAD1D1-CC61-43ED-A03A-2091FFA3E970/Documents
[11:44:48] [NOTIFICATION] πŸ”” Notification button created and added to topNavBar
[11:44:48] [NOTIFICATION] πŸ”” Button tintColor: grey (0.5, 0.5, 0.5)
[11:44:48] [NOTIFICATION] πŸ”” Button isUserInteractionEnabled: true
[11:44:48] [INFO_PAGE] InformationViewController viewDidLoad called
[11:44:48] [INFO_PAGE] Actions configured (bell button is external)
[11:44:48] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:44:48] [INFO_PAGE] Successfully opened database at /var/mobile/Containers/Data/Application/66AAD1D1-CC61-43ED-A03A-2091FFA3E970/Documents/chat_local_viewer.db
[11:44:48] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:44:48] [INFO_PAGE] Found 437 messages for session 'ILUIWU2'
[11:44:48] [INFO_PAGE] Total messages in database: 1203
[11:44:48] [INFO_PAGE] InformationViewController setup complete
[11:44:48] [INFO_PAGE] ℹ️ Information page added to tab 3
[11:44:48] [THEME] Applying current theme
[11:44:48] [CHAT] Applied day theme (mode: day)
[11:44:48] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:44:48] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:44:48] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:44:48] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:44:48] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:44:48] [SUMMARY] Already showed summary today (2025-11-16)
[11:44:48] Did transition
[11:44:48] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:44:48] [VIEWER] Screen lock enabled - normal idle behavior
[11:44:48] [QUERY] πŸ” Checking tab - currentTabIndex=0
[11:44:48] [QUERY] πŸ”΅ [TAB 0] No query connection needed
[11:44:48] [QUERY] βœ… [TAB 0] Initialized without query connection
[11:44:48] [LOCATION] Started location updates for distance calculation (already authorized)
[11:44:48] [TAB 0] Skipping reconnect polling - only needed for tab 1
[11:44:48] [VIEWER_INIT] Loading messages with read receipts from server
[11:44:48] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:44:48] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:44:48] [DB]   msg[0] id=1622, isMyMessage=false, readBy.count=0
[11:44:48] [DB]   msg[1] id=1621, isMyMessage=false, readBy.count=0
[11:44:48] [DB]   msg[2] id=1620, isMyMessage=false, readBy.count=0
[11:44:48] [EVOLUTION] πŸ” Found 0 NEW unread messages from local DB before fetching read receipts (lastSeenMessageId=1622): []
[11:44:48] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1622, readBy=[]", "id=1621, readBy=[]", "id=1620, readBy=[]"]
[11:44:48] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:44:48] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:44:48] [DB]   msg[0] id=1622, isMyMessage=false, readBy.count=0
[11:44:48] [DB]   msg[1] id=1621, isMyMessage=false, readBy.count=0
[11:44:48] [DB]   msg[2] id=1620, isMyMessage=false, readBy.count=0
[11:44:48] [EVENT_POLL] Starting periodic event polling for viewer mode (5s interval)
[11:44:48] [ORIENTATION] Updated pagingScrollView height to 247.5 for width 440.0
[11:44:48] [SUMMARY] Already showed summary today (2025-11-16)
[11:44:48] Did transition
[11:44:48] [NOTIFICATION] πŸ”” Constraints activated for notification button
[11:44:48] [NOTIFICATION] πŸ”” topNavBar frame: (0.0, 0.0, 440.0, 50.0)
[11:44:48] [NOTIFICATION] πŸ”” menuButton frame: (0.0, 0.0, 39.0, 30.0)
[11:44:48] [NOTIFICATION] πŸ”” notificationButton frame: (0.0, 0.0, 56.333333333333336, 58.0)
[11:44:48] [NOTIFICATION] πŸ”” Notification button brought to front
[11:44:48] [NOTIFICATION] πŸ”„ Updating icon to: bell.slash.fill (muted=true)
[11:44:48] [NOTIFICATION] βœ… Icon updated successfully
[11:44:48] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[11:44:48] [MIGRATION] No messages need sender_name backfill
[11:44:48] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:44:48] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:44:48] [DB]   msg[0] id=1622, isMyMessage=false, readBy.count=0
[11:44:48] [DB]   msg[1] id=1621, isMyMessage=false, readBy.count=0
[11:44:48] [DB]   msg[2] id=1620, isMyMessage=false, readBy.count=0
[11:44:48] [INFO_PAGE] InformationViewController viewWillAppear - applying theme
[11:44:48] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:44:48] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:44:48] [PAGINATION_SCROLL] offset=-12.0, contentHeight=108.0, distFromBottom=120.0, dragging=false, decel=false, isLoading=false, cooldown=63899059488.71822s
[11:44:48] [PAGINATION_SCROLL] offset=0.0, contentHeight=108.0, distFromBottom=-650.0, dragging=false, decel=false, isLoading=false, cooldown=63899059488.71956s
[11:44:48] [LOCATION] Authorization changed: 4
[11:44:48] [NOTIFICATION] πŸ”” FINAL STATE after viewDidLoad:
[11:44:48] [NOTIFICATION] πŸ”” notificationButton.frame: (392.0, 67.0, 40.0, 40.0)
[11:44:48] [NOTIFICATION] πŸ”” notificationButton.isHidden: false
[11:44:48] [NOTIFICATION] πŸ”” notificationButton.alpha: 1.0
[11:44:48] [NOTIFICATION] πŸ”” notificationButton.superview: true
[11:44:48] [NOTIFICATION] πŸ”” topNavBar.isHidden: false
[11:44:48] [NOTIFICATION] πŸ”” topNavBar.subviews.count: 3
[11:44:49] [PUSH] Device role updated to 'viewer': HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:44:49] [USER] βœ… User registered successfully
[11:44:49] [USER] User registration successful
[11:44:49] [CHAT] βœ… refreshAllFromServer - parsed 438 messages from server
[11:44:49] [DB] clearDBForSession(ILUIWU2): deleted 437 messages, result=101
[11:44:49] ReloadData 15 (438 messages loaded, 0 pending media)
[11:44:49] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:44:49] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:44:49] [DB]   msg[0] id=1623, isMyMessage=false, readBy.count=0
[11:44:49] [DB]   msg[1] id=1622, isMyMessage=false, readBy.count=0
[11:44:49] [DB]   msg[2] id=1621, isMyMessage=false, readBy.count=0
[11:44:49] [EVOLUTION] πŸ” Found 1 NEW unread messages after refreshAllFromServer (lastSeenMessageId=1622): [1623]
[11:44:49] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1623, readBy=[]", "id=1622, readBy=[]", "id=1621, readBy=[]"]
[11:44:49] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:44:49] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:44:49] [DB]   msg[0] id=1623, isMyMessage=false, readBy.count=0
[11:44:49] [DB]   msg[1] id=1622, isMyMessage=false, readBy.count=0
[11:44:49] [DB]   msg[2] id=1621, isMyMessage=false, readBy.count=0
[11:44:49] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:44:49] [UNREAD_DEBUG]   FINAL msg[0] id=1622, readBy.count=1
[11:44:49] [UNREAD_DEBUG]   FINAL msg[1] id=1621, readBy.count=1
[11:44:49] [UNREAD_DEBUG]   FINAL msg[2] id=1620, readBy.count=1
[11:44:49] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:44:49] [UNREAD_DEBUG]   FINAL msg[0] id=1622, readBy.count=1
[11:44:49] [UNREAD_DEBUG]   FINAL msg[1] id=1621, readBy.count=1
[11:44:49] [UNREAD_DEBUG]   FINAL msg[2] id=1620, readBy.count=1
[11:44:49] [VIEWER_INIT] Loaded 50 messages with read receipts, hasMore: true
[11:44:49] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:44:49] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:44:49] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:44:49] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=51 =====
[11:44:49] [ROWS] 0: SEPARATOR
[11:44:49] [ROWS] 1: MESSAGE id=1622 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:44:49] [ROWS] 2: MESSAGE id=1621 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:44:49] [ROWS] 3: MESSAGE id=1620 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:44:49] [ROWS] 4: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:49] [ROWS] 5: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:49] [ROWS] 6: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:49] [ROWS] 7: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:44:49] [ROWS] 8: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:44:49] [ROWS] 9: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:44:49] [ROWS] 10: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:44:49] [ROWS] 11: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:49] [ROWS] 12: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:44:49] [ROWS] 13: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:44:49] [ROWS] 14: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:44:49] [ROWS] 15: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:44:49] [ROWS] 16: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:49] [ROWS] 17: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:44:49] [ROWS] 18: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:49] [ROWS] 19: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:44:49] [ROWS] 20: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:44:49] [ROWS] 21: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:44:49] [ROWS] 22: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:44:49] [ROWS] 23: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:44:49] [ROWS] 24: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:44:49] [ROWS] 25: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:49] [ROWS] 26: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:49] [ROWS] 27: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:44:49] [ROWS] 28: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:44:49] [ROWS] 29: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:44:49] [ROWS] 30: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:44:49] [ROWS] 31: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:49] [ROWS] 32: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:44:49] [ROWS] 33: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:49] [ROWS] 34: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:44:49] [ROWS] 35: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:49] [ROWS] 36: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:49] [ROWS] 37: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:44:49] [ROWS] 38: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:44:49] [ROWS] 39: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:44:49] [ROWS] 40: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:44:49] [ROWS] 41: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:49] [ROWS] 42: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:44:49] [ROWS] 43: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:49] [ROWS] 44: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:49] [ROWS] 45: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:44:49] [ROWS] 46: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:49] [ROWS] 47: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:49] [ROWS] 48: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:44:49] [ROWS] 49: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:44:49] [ROWS] 50: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:44:49] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:44:49] [TAB_FILTER] πŸ“Š Reloading table with 51 rows
[11:44:49] [HEIGHT_DEBUG] Row 1 msg 1622: isPlayingEvolution=false, textLength=6, text='Coucou...'
[11:44:49] [EMOJI] βœ… Loaded 451 emoji-to-GIF mappings
[11:44:49] [HEIGHT] Row 1 msg 1622: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:44:49] [HEIGHT_DEBUG] Row 2 msg 1621: isPlayingEvolution=false, textLength=8, text='Message2...'
[11:44:49] [HEIGHT] Row 2 msg 1621: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:44:49] [HEIGHT_DEBUG] Row 1 msg 1622: isPlayingEvolution=false, textLength=6, text='Coucou...'
[11:44:49] [HEIGHT] Row 1 msg 1622: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:44:49] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:44:49] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:44:49] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:49] [HEIGHT_DEBUG] Row 2 msg 1621: isPlayingEvolution=false, textLength=8, text='Message2...'
[11:44:49] [HEIGHT] Row 2 msg 1621: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:44:49] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:49] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:49] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:49] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:49] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:49] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:49] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:49] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:49] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:49] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:49] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:49] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:49] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:49] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:49] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:49] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:49] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:49] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:49] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:49] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:49] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:49] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:49] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:49] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:49] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:49] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:49] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:49] [BADGES] Chat tab unread: 1, Slave tab unread: 0, current tab: 0
[11:44:49] ReloadData 18 (viewer init with read receipts)
[11:44:49] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:44:49] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:44:49] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:44:49] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=51 =====
[11:44:49] [ROWS] 0: SEPARATOR
[11:44:49] [ROWS] 1: MESSAGE id=1622 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:44:49] [ROWS] 2: MESSAGE id=1621 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:44:49] [ROWS] 3: MESSAGE id=1620 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:44:49] [ROWS] 4: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:49] [ROWS] 5: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:49] [ROWS] 6: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:49] [ROWS] 7: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:44:49] [ROWS] 8: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:44:49] [ROWS] 9: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:44:49] [ROWS] 10: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:44:49] [ROWS] 11: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:49] [ROWS] 12: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:44:49] [ROWS] 13: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:44:49] [ROWS] 14: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:44:49] [ROWS] 15: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:44:49] [ROWS] 16: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:49] [ROWS] 17: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:44:49] [ROWS] 18: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:49] [ROWS] 19: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:44:49] [ROWS] 20: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:44:49] [ROWS] 21: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:44:49] [ROWS] 22: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:44:49] [ROWS] 23: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:44:49] [ROWS] 24: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:44:49] [ROWS] 25: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:49] [ROWS] 26: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:49] [ROWS] 27: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:44:49] [ROWS] 28: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:44:49] [ROWS] 29: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:44:49] [ROWS] 30: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:44:49] [ROWS] 31: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:49] [ROWS] 32: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:44:49] [ROWS] 33: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:49] [ROWS] 34: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:44:49] [ROWS] 35: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:49] [ROWS] 36: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:49] [ROWS] 37: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:44:49] [ROWS] 38: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:44:49] [ROWS] 39: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:44:49] [ROWS] 40: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:44:49] [ROWS] 41: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:49] [ROWS] 42: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:44:49] [ROWS] 43: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:49] [ROWS] 44: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:49] [ROWS] 45: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:44:49] [ROWS] 46: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:49] [ROWS] 47: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:49] [ROWS] 48: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:44:49] [ROWS] 49: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:44:49] [ROWS] 50: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:44:49] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:44:49] [TAB_FILTER] πŸ“Š Reloading table with 51 rows
[11:44:49] [HEIGHT_DEBUG] Row 1 msg 1622: isPlayingEvolution=false, textLength=6, text='Coucou...'
[11:44:49] [HEIGHT] Row 1 msg 1622: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:44:49] [HEIGHT_DEBUG] Row 2 msg 1621: isPlayingEvolution=false, textLength=8, text='Message2...'
[11:44:49] [HEIGHT] Row 2 msg 1621: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:44:49] [HEIGHT_DEBUG] Row 1 msg 1622: isPlayingEvolution=false, textLength=6, text='Coucou...'
[11:44:49] [HEIGHT] Row 1 msg 1622: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:44:49] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:44:49] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:44:49] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:49] [HEIGHT_DEBUG] Row 2 msg 1621: isPlayingEvolution=false, textLength=8, text='Message2...'
[11:44:49] [HEIGHT] Row 2 msg 1621: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:44:49] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:49] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:49] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:49] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:49] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:49] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:49] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:49] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:49] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:49] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:49] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:49] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:49] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:49] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:49] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:49] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:49] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:49] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:50] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:50] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:50] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:50] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:50] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:50] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:50] [BADGES] Chat tab unread: 1, Slave tab unread: 0, current tab: 0
[11:44:50] [INIT_PAGINATION] Loaded 50 total messages, displaying 50 for tab 0
[11:44:50] [EVOLUTION_SEQ] πŸš€ FUNCTION CALLED with 0 message IDs: []
[11:44:50] [EVOLUTION_SEQ] πŸ“­ No unread message IDs provided for evolution playback
[11:44:50] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:44:50] [UNREAD_DEBUG]   FINAL msg[0] id=1623, readBy.count=0
[11:44:50] [UNREAD_DEBUG]   FINAL msg[1] id=1622, readBy.count=1
[11:44:50] [UNREAD_DEBUG]   FINAL msg[2] id=1621, readBy.count=1
[11:44:50] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:44:50] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:44:50] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:44:50] [EVOLUTION] πŸ“ Updated lastSeenMessageId: 1622 β†’ 1623
[11:44:50] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=51 =====
[11:44:50] [ROWS] 0: SEPARATOR
[11:44:50] [ROWS] 1: MESSAGE id=1623 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:44:50] [ROWS] 2: MESSAGE id=1622 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:44:50] [ROWS] 3: MESSAGE id=1621 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:44:50] [ROWS] 4: MESSAGE id=1620 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:44:50] [ROWS] 5: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:50] [ROWS] 6: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:50] [ROWS] 7: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:50] [ROWS] 8: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:44:50] [ROWS] 9: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:44:50] [ROWS] 10: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:44:50] [ROWS] 11: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:44:50] [ROWS] 12: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:50] [ROWS] 13: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:44:50] [ROWS] 14: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:44:50] [ROWS] 15: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:44:50] [ROWS] 16: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:44:50] [ROWS] 17: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:50] [ROWS] 18: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:44:50] [ROWS] 19: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:50] [ROWS] 20: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:44:50] [ROWS] 21: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:44:50] [ROWS] 22: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:44:50] [ROWS] 23: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:44:50] [ROWS] 24: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:44:50] [ROWS] 25: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:44:50] [ROWS] 26: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:50] [ROWS] 27: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:50] [ROWS] 28: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:44:50] [ROWS] 29: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:44:50] [ROWS] 30: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:44:50] [ROWS] 31: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:44:50] [ROWS] 32: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:50] [ROWS] 33: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:44:50] [ROWS] 34: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:50] [ROWS] 35: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:44:50] [ROWS] 36: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:50] [ROWS] 37: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:50] [ROWS] 38: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:44:50] [ROWS] 39: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:44:50] [ROWS] 40: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:44:50] [ROWS] 41: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:44:50] [ROWS] 42: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:50] [ROWS] 43: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:44:50] [ROWS] 44: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:50] [ROWS] 45: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:50] [ROWS] 46: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:44:50] [ROWS] 47: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:50] [ROWS] 48: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:50] [ROWS] 49: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:44:50] [ROWS] 50: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:44:50] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:44:50] [TAB_FILTER] πŸ“Š Reloading table with 51 rows
[11:44:50] [HEIGHT_DEBUG] Row 1 msg 1623: isPlayingEvolution=false, textLength=1, text='2...'
[11:44:50] [HEIGHT] Row 1 msg 1623: CALC=115.0 (name=29.0, text=39.0, reply=0.0, showName=true)
[11:44:50] [HEIGHT_DEBUG] Row 2 msg 1622: isPlayingEvolution=false, textLength=6, text='Coucou...'
[11:44:50] [HEIGHT] Row 2 msg 1622: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:44:50] [HEIGHT_DEBUG] Row 1 msg 1623: isPlayingEvolution=false, textLength=1, text='2...'
[11:44:50] [HEIGHT] Row 1 msg 1623: CALC=115.0 (name=29.0, text=39.0, reply=0.0, showName=true)
[11:44:50] [CELL POSITION] Y=32.0 Height=115.0 Bottom=147.0 contentView.bounds=(0.0, 0.0, 440.0, 115.0) name='LOLOTEST'
[11:44:50] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=79.66666666666667 bubbleBottom=108.66666666666667 cellHeight=115.0 remainingSpace=6.333333333333329
[11:44:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 38.333333333333336)
[11:44:50] [HEIGHT_DEBUG] Row 2 msg 1622: isPlayingEvolution=false, textLength=6, text='Coucou...'
[11:44:50] [HEIGHT] Row 2 msg 1622: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:44:50] [CELL POSITION] Y=147.0 Height=71.0 Bottom=218.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:50] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:50] [CELL POSITION] Y=218.0 Height=71.0 Bottom=289.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:50] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:50] [CELL POSITION] Y=289.0 Height=71.0 Bottom=360.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:50] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:50] [CELL POSITION] Y=360.0 Height=71.0 Bottom=431.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:50] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:50] [CELL POSITION] Y=431.0 Height=71.0 Bottom=502.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:50] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:50] [CELL POSITION] Y=502.0 Height=71.0 Bottom=573.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:50] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:50] [CELL POSITION] Y=573.0 Height=71.0 Bottom=644.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:50] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:50] [CELL POSITION] Y=644.0 Height=71.0 Bottom=715.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:50] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:50] [CELL POSITION] Y=715.0 Height=71.0 Bottom=786.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:50] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:50] [BADGES] Chat tab unread: 1, Slave tab unread: 0, current tab: 0
[11:44:50] [INITIAL_LOAD] Loaded 50 messages (first page), displaying 50 for tab 0, hasMore: true
[11:44:50] ReloadData 1
[11:44:50] [PURGE] Deleted 0 unused media files:

[11:44:50] [BADGES] Chat tab unread: 1, Slave tab unread: 0, current tab: 0
[11:44:50] [EVOLUTION_SEQ] πŸš€ FUNCTION CALLED with 1 message IDs: [1623]
[11:44:50] [EVOLUTION_SEQ] ⏱️ t=1763289890.150 πŸ“‹ Starting with 1 messages: [1623]
[11:44:50] [EVOLUTION_SEQ] πŸ“Š Message 1/1: id=1623, length=1 chars, estimated_duration=0.05s
[11:44:50] [EVOLUTION_SEQ] ⏱️ t=1763289890.151 πŸ”’ Marked 1 messages as pending (hidden from view)
[11:44:50] [EVOLUTION_SEQ] ⏱️ t=1763289890.151 πŸ“ Queued 1 messages for sequential playback
[11:44:50] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:44:50] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:44:50] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:44:50] [EVOLUTION_SEQ] ⏱️ t=1763289890.152 Filtered out 1 pending evolution messages
[11:44:50] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=50 =====
[11:44:50] [ROWS] 0: SEPARATOR
[11:44:50] [ROWS] 1: MESSAGE id=1622 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:44:50] [ROWS] 2: MESSAGE id=1621 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:44:50] [ROWS] 3: MESSAGE id=1620 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:44:50] [ROWS] 4: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:50] [ROWS] 5: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:50] [ROWS] 6: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:50] [ROWS] 7: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:44:50] [ROWS] 8: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:44:50] [ROWS] 9: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:44:50] [ROWS] 10: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:44:50] [ROWS] 11: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:50] [ROWS] 12: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:44:50] [ROWS] 13: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:44:50] [ROWS] 14: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:44:50] [ROWS] 15: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:44:50] [ROWS] 16: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:50] [ROWS] 17: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:44:50] [ROWS] 18: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:50] [ROWS] 19: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:44:50] [ROWS] 20: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:44:50] [ROWS] 21: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:44:50] [ROWS] 22: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:44:50] [ROWS] 23: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:44:50] [ROWS] 24: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:44:50] [ROWS] 25: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:50] [ROWS] 26: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:50] [ROWS] 27: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:44:50] [ROWS] 28: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:44:50] [ROWS] 29: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:44:50] [ROWS] 30: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:44:50] [ROWS] 31: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:50] [ROWS] 32: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:44:50] [ROWS] 33: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:50] [ROWS] 34: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:44:50] [ROWS] 35: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:50] [ROWS] 36: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:50] [ROWS] 37: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:44:50] [ROWS] 38: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:44:50] [ROWS] 39: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:44:50] [ROWS] 40: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:44:50] [ROWS] 41: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:50] [ROWS] 42: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:44:50] [ROWS] 43: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:50] [ROWS] 44: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:50] [ROWS] 45: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:44:50] [ROWS] 46: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:50] [ROWS] 47: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:50] [ROWS] 48: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:44:50] [ROWS] 49: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:44:50] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:44:50] [TAB_FILTER] πŸ“Š Reloading table with 50 rows
[11:44:50] [HEIGHT_DEBUG] Row 1 msg 1622: isPlayingEvolution=false, textLength=6, text='Coucou...'
[11:44:50] [HEIGHT] Row 1 msg 1622: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:44:50] [HEIGHT_DEBUG] Row 2 msg 1621: isPlayingEvolution=false, textLength=8, text='Message2...'
[11:44:50] [HEIGHT] Row 2 msg 1621: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:44:50] [HEIGHT_DEBUG] Row 1 msg 1622: isPlayingEvolution=false, textLength=6, text='Coucou...'
[11:44:50] [HEIGHT] Row 1 msg 1622: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:44:50] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:44:50] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:44:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:50] [HEIGHT_DEBUG] Row 2 msg 1621: isPlayingEvolution=false, textLength=8, text='Message2...'
[11:44:50] [HEIGHT] Row 2 msg 1621: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:44:50] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:50] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:50] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:50] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:50] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:50] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:50] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:50] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:50] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:50] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:50] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:50] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:50] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:50] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:50] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:50] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:50] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:50] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:50] [BADGES] Chat tab unread: 1, Slave tab unread: 0, current tab: 0
[11:44:50] [EVOLUTION_SEQ] ⏱️ t=1763289890.210 πŸ“Š Table reloaded: 50 β†’ 49 visible messages
[11:44:50] [EVOLUTION_SEQ] ⏱️ t=1763289890.411 🎬 Starting sequential playback
[11:44:50] [EVOLUTION_SEQ] ⏱️ t=1763289890.412 ▢️ Playing message 1623 - 0 remaining in queue
[11:44:50] [EVOLUTION_SEQ] ⏱️ t=1763289890.412 πŸ“ Message 1623: "2..." (1 chars)
[11:44:50] [EVOLUTION_SEQ] ⏱️ t=1763289890.413 πŸ”“ Removed message 1623 from pending set
[11:44:50] [EVOLUTION_SEQ] ⏱️ t=1763289890.413 🎬 Set evolution state for message 1623
[11:44:50] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:44:50] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:44:50] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:44:50] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=51 =====
[11:44:50] [ROWS] 0: SEPARATOR
[11:44:50] [ROWS] 1: MESSAGE id=1623 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=1
[11:44:50] [ROWS] 2: MESSAGE id=1622 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:44:50] [ROWS] 3: MESSAGE id=1621 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:44:50] [ROWS] 4: MESSAGE id=1620 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:44:50] [ROWS] 5: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:50] [ROWS] 6: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:50] [ROWS] 7: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:50] [ROWS] 8: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:44:50] [ROWS] 9: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:44:50] [ROWS] 10: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:44:50] [ROWS] 11: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:44:50] [ROWS] 12: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:50] [ROWS] 13: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:44:50] [ROWS] 14: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:44:50] [ROWS] 15: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:44:50] [ROWS] 16: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:44:50] [ROWS] 17: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:50] [ROWS] 18: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:44:50] [ROWS] 19: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:50] [ROWS] 20: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:44:50] [ROWS] 21: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:44:50] [ROWS] 22: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:44:50] [ROWS] 23: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:44:50] [ROWS] 24: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:44:50] [ROWS] 25: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:44:50] [ROWS] 26: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:50] [ROWS] 27: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:50] [ROWS] 28: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:44:50] [ROWS] 29: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:44:50] [ROWS] 30: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:44:50] [ROWS] 31: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:44:50] [ROWS] 32: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:50] [ROWS] 33: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:44:50] [ROWS] 34: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:50] [ROWS] 35: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:44:50] [ROWS] 36: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:50] [ROWS] 37: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:50] [ROWS] 38: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:44:50] [ROWS] 39: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:44:50] [ROWS] 40: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:44:50] [ROWS] 41: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:44:50] [ROWS] 42: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:50] [ROWS] 43: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:44:50] [ROWS] 44: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:50] [ROWS] 45: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:50] [ROWS] 46: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:44:50] [ROWS] 47: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:50] [ROWS] 48: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:50] [ROWS] 49: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:44:50] [ROWS] 50: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:44:50] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:44:50] [TAB_FILTER] πŸ“Š Reloading table with 51 rows
[11:44:50] [HEIGHT_DEBUG] Row 1 msg 1623: isPlayingEvolution=true, textLength=0, text='...'
[11:44:50] [HEIGHT] Row 1 msg 1623: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:44:50] [HEIGHT_DEBUG] Row 2 msg 1622: isPlayingEvolution=false, textLength=6, text='Coucou...'
[11:44:50] [HEIGHT] Row 2 msg 1622: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:44:50] [HEIGHT_DEBUG] Row 1 msg 1623: isPlayingEvolution=true, textLength=0, text='...'
[11:44:50] [HEIGHT] Row 1 msg 1623: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:44:50] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:44:50] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:44:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:44:50] [HEIGHT_DEBUG] Row 2 msg 1622: isPlayingEvolution=false, textLength=6, text='Coucou...'
[11:44:50] [HEIGHT] Row 2 msg 1622: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:44:50] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:50] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:50] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:50] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:50] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:50] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:50] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:50] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:50] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:50] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:50] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:50] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:50] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:50] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:50] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:50] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:50] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:50] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:50] [BADGES] Chat tab unread: 1, Slave tab unread: 0, current tab: 0
[11:44:50] [EVOLUTION_SEQ] ⏱️ t=1763289890.413 πŸ“± Table reloaded: 49 β†’ 50 messages (bubble for 1623 now visible)
[11:44:50] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("session_id"): ILUIWU2, AnyHashable("message_id"): 1623, AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("operation_type"): 3]
[11:44:50] [PUSH] Parsed message_id: 1623
[11:44:50] [PUSH] Parsed operation_type: 3
[11:44:50] [PUSH] Taking direct action: opType=3, messageId=1623
[11:44:50] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=1623
[11:44:50] [LOCATION] Failed to get location: The operation couldn’t be completed. (kCLErrorDomain error 1.)
[11:44:50] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:44:50] Will get events_php
[11:44:50] [TYPING] πŸ”„ ========== POLL START ==========
[11:44:50] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:44:50] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:44:50] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:44:50] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:44:50] [EVOLUTION_SEQ] ⏱️ t=1763289890.781 ▢️ Starting animation for message 1623
[11:44:50] [EVOLUTION] πŸ“‘ Fetching evolution data for message 1623
[11:44:50] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:44:50] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:44:50] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:44:50] [TYPING] πŸ“₯ Found 0 typing users in response
[11:44:50] [EVT] get_events.php HTTP 200
── Response Headers ──
Date: Sun, 16 Nov 2025 10:44:50 GMT
Keep-Alive: timeout=5, max=96
Content-Type: application/json; charset=utf-8
Connection: Keep-Alive
X-Powered-By: PHP/8.4.14
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Content-Length: 205
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":2,"events":[{"event_id":10733,"event_type":3,"message_id":1623,"session_id":"ILUIWU2"},{"event_id":10734,"event_type":3,"message_id":1623,"session_id":"ILUIWU2"}]}
[11:44:50] [TYPING] πŸ“₯ Updating typing users SET: []
[11:44:50] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:44:50] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:44:50] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:44:50] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:44:50] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:44:50] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:44:50] [TYPING] πŸ”„ ========== POLL END ==========
[11:44:50] Done
[11:44:50] [EVOLUTION] πŸ” Raw response (141 bytes): {"ok":true,"has_evolution":true,"message_id":1623,"evolution":{"events":[{"op":"i","c":"2","t":0,"p":0}]},"created_at":"2025-11-16 10:44:46"}
[11:44:50] [EVOLUTION] πŸ” Parsed JSON keys: ["created_at", "evolution", "has_evolution", "message_id", "ok"]
[11:44:50] [EVOLUTION] πŸ” has_evolution: 1
[11:44:50] [EVOLUTION] βœ… Got 1 events for message 1623
[11:44:50] [OVERLAP_FIX] πŸš€ Starting evolution - forcing initial height recalculation
[11:44:50] [UPDATE] πŸ”„ updateMessageCell(for: 1623) β€” full safe reload
[11:44:50] [ROWS] ===== updateMessageCell for 1623 β€” chatRows.count=51 =====
[11:44:50] [ROWS] 0: SEPARATOR
[11:44:50] [ROWS] 1: MESSAGE id=1623 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=0 textLen=1
[11:44:50] [ROWS] 2: MESSAGE id=1622 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:44:50] [ROWS] 3: MESSAGE id=1621 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:44:50] [ROWS] 4: MESSAGE id=1620 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:44:50] [ROWS] 5: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:50] [ROWS] 6: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:50] [ROWS] 7: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:50] [ROWS] 8: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:44:50] [ROWS] 9: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:44:50] [ROWS] 10: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:44:50] [ROWS] 11: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:44:50] [ROWS] 12: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:50] [ROWS] 13: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:44:50] [ROWS] 14: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:44:50] [ROWS] 15: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:44:50] [ROWS] 16: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:44:50] [ROWS] 17: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:50] [ROWS] 18: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:44:50] [ROWS] 19: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:50] [ROWS] 20: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:44:50] [ROWS] 21: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:44:50] [ROWS] 22: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:44:50] [ROWS] 23: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:44:50] [ROWS] 24: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:44:50] [ROWS] 25: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:44:50] [ROWS] 26: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:50] [ROWS] 27: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:50] [ROWS] 28: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:44:50] [ROWS] 29: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:44:50] [ROWS] 30: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:44:50] [ROWS] 31: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:44:50] [ROWS] 32: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:50] [ROWS] 33: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:44:50] [ROWS] 34: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:50] [ROWS] 35: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:44:50] [ROWS] 36: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:50] [ROWS] 37: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:50] [ROWS] 38: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:44:50] [ROWS] 39: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:44:50] [ROWS] 40: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:44:50] [ROWS] 41: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:44:50] [ROWS] 42: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:50] [ROWS] 43: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:44:50] [ROWS] 44: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:50] [ROWS] 45: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:50] [ROWS] 46: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:44:50] [ROWS] 47: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:50] [ROWS] 48: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:50] [ROWS] 49: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:44:50] [ROWS] 50: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:44:50] [ROWS] ===== END (updateMessageCell for 1623) =====
[11:44:50] [HEIGHT_DEBUG] Row 1 msg 1623: isPlayingEvolution=true, textLength=0, text='...'
[11:44:50] [HEIGHT] Row 1 msg 1623: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:44:50] [HEIGHT_DEBUG] Row 2 msg 1622: isPlayingEvolution=false, textLength=6, text='Coucou...'
[11:44:50] [HEIGHT] Row 2 msg 1622: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:44:50] [HEIGHT_DEBUG] Row 1 msg 1623: isPlayingEvolution=true, textLength=0, text='...'
[11:44:50] [HEIGHT] Row 1 msg 1623: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:44:50] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:44:50] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=41.333333333333336 bubbleBottom=70.33333333333334 cellHeight=96.0 remainingSpace=25.666666666666657
[11:44:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 0.0)
[11:44:50] [HEIGHT_DEBUG] Row 2 msg 1622: isPlayingEvolution=false, textLength=6, text='Coucou...'
[11:44:50] [HEIGHT] Row 2 msg 1622: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:44:50] [CELL POSITION] Y=128.0 Height=71.0 Bottom=199.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:50] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:50] [CELL POSITION] Y=199.0 Height=71.0 Bottom=270.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:50] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:50] [CELL POSITION] Y=270.0 Height=71.0 Bottom=341.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:50] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:50] [CELL POSITION] Y=341.0 Height=71.0 Bottom=412.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:50] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:50] [CELL POSITION] Y=412.0 Height=71.0 Bottom=483.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:50] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:50] [CELL POSITION] Y=483.0 Height=71.0 Bottom=554.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:50] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:50] [CELL POSITION] Y=554.0 Height=71.0 Bottom=625.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:50] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:50] [CELL POSITION] Y=625.0 Height=71.0 Bottom=696.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:50] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:50] [CELL POSITION] Y=696.0 Height=71.0 Bottom=767.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:50] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:50] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:50] [EVOLUTION] ▢️ Starting inline playback for message 1623 with 1 events
[11:44:51] [EVOLUTION] πŸ“ Event 0/1 - Text now: "2..."
[11:44:51] [UPDATE] πŸ”„ updateMessageCell(for: 1623) β€” full safe reload
[11:44:51] [ROWS] ===== updateMessageCell for 1623 β€” chatRows.count=51 =====
[11:44:51] [ROWS] 0: SEPARATOR
[11:44:51] [ROWS] 1: MESSAGE id=1623 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=true evoTextLen=1 textLen=1
[11:44:51] [ROWS] 2: MESSAGE id=1622 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:44:51] [ROWS] 3: MESSAGE id=1621 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:44:51] [ROWS] 4: MESSAGE id=1620 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:44:51] [ROWS] 5: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:51] [ROWS] 6: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:51] [ROWS] 7: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:51] [ROWS] 8: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:44:51] [ROWS] 9: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:44:51] [ROWS] 10: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:44:51] [ROWS] 11: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:44:51] [ROWS] 12: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:51] [ROWS] 13: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:44:51] [ROWS] 14: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:44:51] [ROWS] 15: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:44:51] [ROWS] 16: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:44:51] [ROWS] 17: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:51] [ROWS] 18: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:44:51] [ROWS] 19: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:51] [ROWS] 20: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:44:51] [ROWS] 21: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:44:51] [ROWS] 22: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:44:51] [ROWS] 23: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:44:51] [ROWS] 24: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:44:51] [ROWS] 25: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:44:51] [ROWS] 26: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:51] [ROWS] 27: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:51] [ROWS] 28: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:44:51] [ROWS] 29: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:44:51] [ROWS] 30: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:44:51] [ROWS] 31: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:44:51] [ROWS] 32: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:51] [ROWS] 33: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:44:51] [ROWS] 34: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:51] [ROWS] 35: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:44:51] [ROWS] 36: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:51] [ROWS] 37: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:51] [ROWS] 38: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:44:51] [ROWS] 39: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:44:51] [ROWS] 40: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:44:51] [ROWS] 41: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:44:51] [ROWS] 42: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:51] [ROWS] 43: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:44:51] [ROWS] 44: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:51] [ROWS] 45: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:51] [ROWS] 46: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:44:51] [ROWS] 47: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:51] [ROWS] 48: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:51] [ROWS] 49: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:44:51] [ROWS] 50: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:44:51] [ROWS] ===== END (updateMessageCell for 1623) =====
[11:44:51] [HEIGHT_DEBUG] Row 1 msg 1623: isPlayingEvolution=true, textLength=1, text='2...'
[11:44:51] [HEIGHT] Row 1 msg 1623: CALC=115.0 (name=29.0, text=39.0, reply=0.0, showName=true)
[11:44:51] [HEIGHT_DEBUG] Row 2 msg 1622: isPlayingEvolution=false, textLength=6, text='Coucou...'
[11:44:51] [HEIGHT] Row 2 msg 1622: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:44:51] [HEIGHT_DEBUG] Row 1 msg 1623: isPlayingEvolution=true, textLength=1, text='2...'
[11:44:51] [HEIGHT] Row 1 msg 1623: CALC=115.0 (name=29.0, text=39.0, reply=0.0, showName=true)
[11:44:51] [CELL POSITION] Y=32.0 Height=115.0 Bottom=147.0 contentView.bounds=(0.0, 0.0, 440.0, 115.0) name='LOLOTEST'
[11:44:51] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=79.66666666666667 bubbleBottom=108.66666666666667 cellHeight=115.0 remainingSpace=6.333333333333329
[11:44:51] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 38.333333333333336)
[11:44:51] [HEIGHT_DEBUG] Row 2 msg 1622: isPlayingEvolution=false, textLength=6, text='Coucou...'
[11:44:51] [HEIGHT] Row 2 msg 1622: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:44:51] [CELL POSITION] Y=147.0 Height=71.0 Bottom=218.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:51] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:51] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:51] [CELL POSITION] Y=218.0 Height=71.0 Bottom=289.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:51] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:51] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:51] [CELL POSITION] Y=289.0 Height=71.0 Bottom=360.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:51] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:51] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:51] [CELL POSITION] Y=360.0 Height=71.0 Bottom=431.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:51] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:51] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:51] [CELL POSITION] Y=431.0 Height=71.0 Bottom=502.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:51] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:51] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:51] [CELL POSITION] Y=502.0 Height=71.0 Bottom=573.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:51] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:51] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:51] [CELL POSITION] Y=573.0 Height=71.0 Bottom=644.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:51] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:51] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:51] [CELL POSITION] Y=644.0 Height=71.0 Bottom=715.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:51] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:51] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:51] [CELL POSITION] Y=715.0 Height=71.0 Bottom=786.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:51] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:51] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:51] [EVOLUTION_SEQ] ⏱️ t=1763289891.108 βœ… Finished message 1623 - duration=0.69s, length=1 chars, speed=1 chars/s
[11:44:51] [UPDATE] πŸ”„ updateMessageCell(for: 1623) β€” full safe reload
[11:44:51] [ROWS] ===== updateMessageCell for 1623 β€” chatRows.count=51 =====
[11:44:51] [ROWS] 0: SEPARATOR
[11:44:51] [ROWS] 1: MESSAGE id=1623 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=1 textLen=1
[11:44:51] [ROWS] 2: MESSAGE id=1622 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:44:51] [ROWS] 3: MESSAGE id=1621 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:44:51] [ROWS] 4: MESSAGE id=1620 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:44:51] [ROWS] 5: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:51] [ROWS] 6: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:51] [ROWS] 7: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:51] [ROWS] 8: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:44:51] [ROWS] 9: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:44:51] [ROWS] 10: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:44:51] [ROWS] 11: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:44:51] [ROWS] 12: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:51] [ROWS] 13: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:44:51] [ROWS] 14: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:44:51] [ROWS] 15: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:44:51] [ROWS] 16: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:44:51] [ROWS] 17: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:51] [ROWS] 18: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:44:51] [ROWS] 19: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:51] [ROWS] 20: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:44:51] [ROWS] 21: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:44:51] [ROWS] 22: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:44:51] [ROWS] 23: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:44:51] [ROWS] 24: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:44:51] [ROWS] 25: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:44:51] [ROWS] 26: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:51] [ROWS] 27: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:51] [ROWS] 28: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:44:51] [ROWS] 29: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:44:51] [ROWS] 30: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:44:51] [ROWS] 31: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:44:51] [ROWS] 32: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:51] [ROWS] 33: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:44:51] [ROWS] 34: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:51] [ROWS] 35: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:44:51] [ROWS] 36: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:51] [ROWS] 37: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:51] [ROWS] 38: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:44:51] [ROWS] 39: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:44:51] [ROWS] 40: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:44:51] [ROWS] 41: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:44:51] [ROWS] 42: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:51] [ROWS] 43: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:44:51] [ROWS] 44: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:51] [ROWS] 45: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:44:51] [ROWS] 46: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:44:51] [ROWS] 47: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:51] [ROWS] 48: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:44:51] [ROWS] 49: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:44:51] [ROWS] 50: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:44:51] [ROWS] ===== END (updateMessageCell for 1623) =====
[11:44:51] [HEIGHT_DEBUG] Row 1 msg 1623: isPlayingEvolution=false, textLength=1, text='2...'
[11:44:51] [HEIGHT] Row 1 msg 1623: CALC=115.0 (name=29.0, text=39.0, reply=0.0, showName=true)
[11:44:51] [HEIGHT_DEBUG] Row 2 msg 1622: isPlayingEvolution=false, textLength=6, text='Coucou...'
[11:44:51] [HEIGHT] Row 2 msg 1622: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:44:51] [HEIGHT_DEBUG] Row 1 msg 1623: isPlayingEvolution=false, textLength=1, text='2...'
[11:44:51] [HEIGHT] Row 1 msg 1623: CALC=115.0 (name=29.0, text=39.0, reply=0.0, showName=true)
[11:44:51] [CELL POSITION] Y=32.0 Height=115.0 Bottom=147.0 contentView.bounds=(0.0, 0.0, 440.0, 115.0) name='LOLOTEST'
[11:44:51] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=79.66666666666667 bubbleBottom=108.66666666666667 cellHeight=115.0 remainingSpace=6.333333333333329
[11:44:51] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 38.333333333333336)
[11:44:51] [HEIGHT_DEBUG] Row 2 msg 1622: isPlayingEvolution=false, textLength=6, text='Coucou...'
[11:44:51] [HEIGHT] Row 2 msg 1622: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:44:51] [CELL POSITION] Y=147.0 Height=71.0 Bottom=218.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:51] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:51] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:51] [CELL POSITION] Y=218.0 Height=71.0 Bottom=289.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:51] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:51] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:51] [CELL POSITION] Y=289.0 Height=71.0 Bottom=360.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:51] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:51] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:51] [CELL POSITION] Y=360.0 Height=71.0 Bottom=431.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:51] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:51] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:51] [CELL POSITION] Y=431.0 Height=71.0 Bottom=502.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:51] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:51] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:51] [CELL POSITION] Y=502.0 Height=71.0 Bottom=573.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:51] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:51] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:51] [CELL POSITION] Y=573.0 Height=71.0 Bottom=644.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:51] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:51] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:51] [CELL POSITION] Y=644.0 Height=71.0 Bottom=715.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:51] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:51] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:51] [CELL POSITION] Y=715.0 Height=71.0 Bottom=786.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:44:51] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:44:51] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:44:51] [EVOLUTION_SEQ] ⏱️ t=1763289891.173 βœ… All queued messages have been played
[11:45:00] [CRASH] Previous session did not exit cleanly - crash detected
[11:45:00] [GIPHY] SDK not available - using REST API fallback
[11:45:00] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:45:00] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:45:00] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:45:00] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:45:00] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:45:00] [SCENE] Launched directly to chat view with sessionId: ILUIWU2
[11:45:00] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:45:00] Documents Directory: /var/mobile/Containers/Data/Application/8BF2B2CD-D826-45C5-8339-E3D3B633A2B2/Documents
[11:45:00] [NOTIFICATION] πŸ”” Notification button created and added to topNavBar
[11:45:00] [NOTIFICATION] πŸ”” Button tintColor: grey (0.5, 0.5, 0.5)
[11:45:00] [NOTIFICATION] πŸ”” Button isUserInteractionEnabled: true
[11:45:00] [INFO_PAGE] InformationViewController viewDidLoad called
[11:45:00] [INFO_PAGE] Actions configured (bell button is external)
[11:45:00] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:45:00] [INFO_PAGE] Successfully opened database at /var/mobile/Containers/Data/Application/8BF2B2CD-D826-45C5-8339-E3D3B633A2B2/Documents/chat_local_viewer.db
[11:45:00] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:45:00] [INFO_PAGE] Found 438 messages for session 'ILUIWU2'
[11:45:00] [INFO_PAGE] Total messages in database: 1204
[11:45:00] [INFO_PAGE] InformationViewController setup complete
[11:45:00] [INFO_PAGE] ℹ️ Information page added to tab 3
[11:45:00] [THEME] Applying current theme
[11:45:00] [CHAT] Applied day theme (mode: day)
[11:45:00] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:45:00] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:45:00] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:45:00] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:45:00] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:45:00] [SUMMARY] Already showed summary today (2025-11-16)
[11:45:00] Did transition
[11:45:00] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:45:00] [VIEWER] Screen lock enabled - normal idle behavior
[11:45:00] [QUERY] πŸ” Checking tab - currentTabIndex=0
[11:45:00] [QUERY] πŸ”΅ [TAB 0] No query connection needed
[11:45:00] [QUERY] βœ… [TAB 0] Initialized without query connection
[11:45:00] [LOCATION] Started location updates for distance calculation (already authorized)
[11:45:00] [TAB 0] Skipping reconnect polling - only needed for tab 1
[11:45:00] [VIEWER_INIT] Loading messages with read receipts from server
[11:45:00] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:45:00] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:45:00] [DB]   msg[0] id=1623, isMyMessage=false, readBy.count=0
[11:45:00] [DB]   msg[1] id=1622, isMyMessage=false, readBy.count=0
[11:45:00] [DB]   msg[2] id=1621, isMyMessage=false, readBy.count=0
[11:45:00] [EVOLUTION] πŸ” Found 0 NEW unread messages from local DB before fetching read receipts (lastSeenMessageId=1623): []
[11:45:00] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1623, readBy=[]", "id=1622, readBy=[]", "id=1621, readBy=[]"]
[11:45:00] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:45:01] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:45:01] [DB]   msg[0] id=1623, isMyMessage=false, readBy.count=0
[11:45:01] [DB]   msg[1] id=1622, isMyMessage=false, readBy.count=0
[11:45:01] [DB]   msg[2] id=1621, isMyMessage=false, readBy.count=0
[11:45:01] [EVENT_POLL] Starting periodic event polling for viewer mode (5s interval)
[11:45:01] [ORIENTATION] Updated pagingScrollView height to 247.5 for width 440.0
[11:45:01] [SUMMARY] Already showed summary today (2025-11-16)
[11:45:01] Did transition
[11:45:01] [NOTIFICATION] πŸ”” Constraints activated for notification button
[11:45:01] [NOTIFICATION] πŸ”” topNavBar frame: (0.0, 0.0, 440.0, 50.0)
[11:45:01] [NOTIFICATION] πŸ”” menuButton frame: (0.0, 0.0, 39.0, 30.0)
[11:45:01] [NOTIFICATION] πŸ”” notificationButton frame: (0.0, 0.0, 56.333333333333336, 58.0)
[11:45:01] [NOTIFICATION] πŸ”” Notification button brought to front
[11:45:01] [NOTIFICATION] πŸ”„ Updating icon to: bell.slash.fill (muted=true)
[11:45:01] [NOTIFICATION] βœ… Icon updated successfully
[11:45:01] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[11:45:01] [MIGRATION] No messages need sender_name backfill
[11:45:01] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:45:01] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:45:01] [DB]   msg[0] id=1623, isMyMessage=false, readBy.count=0
[11:45:01] [DB]   msg[1] id=1622, isMyMessage=false, readBy.count=0
[11:45:01] [DB]   msg[2] id=1621, isMyMessage=false, readBy.count=0
[11:45:01] [INFO_PAGE] InformationViewController viewWillAppear - applying theme
[11:45:01] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:45:01] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:45:01] [PAGINATION_SCROLL] offset=-12.0, contentHeight=108.0, distFromBottom=120.0, dragging=false, decel=false, isLoading=false, cooldown=63899059501.03102s
[11:45:01] [PAGINATION_SCROLL] offset=0.0, contentHeight=108.0, distFromBottom=-650.0, dragging=false, decel=false, isLoading=false, cooldown=63899059501.03297s
[11:45:01] [LOCATION] Authorization changed: 4
[11:45:01] [LOCATION] Updated location: 46.50140965804246, 6.722694347188251
[11:45:01] [LOCATION] Updated location: 46.50140965804246, 6.722694347188251
[11:45:01] [NOTIFICATION] πŸ”” FINAL STATE after viewDidLoad:
[11:45:01] [NOTIFICATION] πŸ”” notificationButton.frame: (392.0, 67.0, 40.0, 40.0)
[11:45:01] [NOTIFICATION] πŸ”” notificationButton.isHidden: false
[11:45:01] [NOTIFICATION] πŸ”” notificationButton.alpha: 1.0
[11:45:01] [NOTIFICATION] πŸ”” notificationButton.superview: true
[11:45:01] [NOTIFICATION] πŸ”” topNavBar.isHidden: false
[11:45:01] [NOTIFICATION] πŸ”” topNavBar.subviews.count: 3
[11:45:01] [PUSH] APNs token: 6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c
[11:45:01] [PUSH] handlePollEventsNotification userInfo: [:]
[11:45:01] [PUSH] No message_id in userInfo
[11:45:01] [PUSH] No operation_type in userInfo
[11:45:01] [PUSH] Performing full refresh to catch up on any missed messages
[11:45:01] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:45:01] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:45:01] [DB]   msg[0] id=1623, isMyMessage=false, readBy.count=0
[11:45:01] [DB]   msg[1] id=1622, isMyMessage=false, readBy.count=0
[11:45:01] [DB]   msg[2] id=1621, isMyMessage=false, readBy.count=0
[11:45:01] [PUSH] Device role updated to 'viewer': HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:45:01] [PUSH] Device role updated to 'viewer': HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:45:01] [USER] βœ… User registered successfully
[11:45:01] [USER] User registration successful
[11:45:01] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:45:01] [CHAT] βœ… refreshAllFromServer - parsed 438 messages from server
[11:45:01] [DB] clearDBForSession(ILUIWU2): deleted 438 messages, result=101
[11:45:01] ReloadData 15 (438 messages loaded, 0 pending media)
[11:45:01] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:45:01] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:45:01] [DB]   msg[0] id=1623, isMyMessage=false, readBy.count=0
[11:45:01] [DB]   msg[1] id=1622, isMyMessage=false, readBy.count=0
[11:45:01] [DB]   msg[2] id=1621, isMyMessage=false, readBy.count=0
[11:45:01] [EVOLUTION] πŸ” Found 0 NEW unread messages after refreshAllFromServer (lastSeenMessageId=1623): []
[11:45:01] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1623, readBy=[]", "id=1622, readBy=[]", "id=1621, readBy=[]"]
[11:45:01] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:45:01] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:45:01] [DB]   msg[0] id=1623, isMyMessage=false, readBy.count=0
[11:45:01] [DB]   msg[1] id=1622, isMyMessage=false, readBy.count=0
[11:45:01] [DB]   msg[2] id=1621, isMyMessage=false, readBy.count=0
[11:45:01] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:45:01] [UNREAD_DEBUG]   FINAL msg[0] id=1623, readBy.count=1
[11:45:01] [UNREAD_DEBUG]   FINAL msg[1] id=1622, readBy.count=1
[11:45:01] [UNREAD_DEBUG]   FINAL msg[2] id=1621, readBy.count=1
[11:45:01] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:45:01] [UNREAD_DEBUG]   FINAL msg[0] id=1623, readBy.count=1
[11:45:01] [UNREAD_DEBUG]   FINAL msg[1] id=1622, readBy.count=1
[11:45:01] [UNREAD_DEBUG]   FINAL msg[2] id=1621, readBy.count=1
[11:45:01] [VIEWER_INIT] Loaded 50 messages with read receipts, hasMore: true
[11:45:01] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:45:01] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:45:01] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:45:01] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=51 =====
[11:45:01] [ROWS] 0: SEPARATOR
[11:45:01] [ROWS] 1: MESSAGE id=1623 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:45:01] [ROWS] 2: MESSAGE id=1622 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:45:01] [ROWS] 3: MESSAGE id=1621 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:45:01] [ROWS] 4: MESSAGE id=1620 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:45:01] [ROWS] 5: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:45:01] [ROWS] 6: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:45:01] [ROWS] 7: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:45:01] [ROWS] 8: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:45:01] [ROWS] 9: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:45:01] [ROWS] 10: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:45:01] [ROWS] 11: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:45:01] [ROWS] 12: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:45:01] [ROWS] 13: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:45:01] [ROWS] 14: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:45:01] [ROWS] 15: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:45:01] [ROWS] 16: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:45:01] [ROWS] 17: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:45:01] [ROWS] 18: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:45:01] [ROWS] 19: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:45:01] [ROWS] 20: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:45:01] [ROWS] 21: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:45:01] [ROWS] 22: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:45:01] [ROWS] 23: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:45:01] [ROWS] 24: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:45:01] [ROWS] 25: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:45:01] [ROWS] 26: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:45:01] [ROWS] 27: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:45:01] [ROWS] 28: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:45:01] [ROWS] 29: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:45:01] [ROWS] 30: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:45:01] [ROWS] 31: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:45:01] [ROWS] 32: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:45:01] [ROWS] 33: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:45:01] [ROWS] 34: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:45:01] [ROWS] 35: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:45:01] [ROWS] 36: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:45:01] [ROWS] 37: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:45:01] [ROWS] 38: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:45:01] [ROWS] 39: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:45:01] [ROWS] 40: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:45:01] [ROWS] 41: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:45:01] [ROWS] 42: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:45:01] [ROWS] 43: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:45:01] [ROWS] 44: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:45:01] [ROWS] 45: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:45:01] [ROWS] 46: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:45:01] [ROWS] 47: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:45:01] [ROWS] 48: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:45:01] [ROWS] 49: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:45:01] [ROWS] 50: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:45:01] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:45:01] [TAB_FILTER] πŸ“Š Reloading table with 51 rows
[11:45:01] [HEIGHT_DEBUG] Row 1 msg 1623: isPlayingEvolution=false, textLength=1, text='2...'
[11:45:01] [EMOJI] βœ… Loaded 451 emoji-to-GIF mappings
[11:45:01] [HEIGHT] Row 1 msg 1623: CALC=115.0 (name=29.0, text=39.0, reply=0.0, showName=true)
[11:45:01] [HEIGHT_DEBUG] Row 2 msg 1622: isPlayingEvolution=false, textLength=6, text='Coucou...'
[11:45:01] [HEIGHT] Row 2 msg 1622: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:45:01] [HEIGHT_DEBUG] Row 1 msg 1623: isPlayingEvolution=false, textLength=1, text='2...'
[11:45:01] [HEIGHT] Row 1 msg 1623: CALC=115.0 (name=29.0, text=39.0, reply=0.0, showName=true)
[11:45:01] [CELL POSITION] Y=32.0 Height=115.0 Bottom=147.0 contentView.bounds=(0.0, 0.0, 440.0, 115.0) name='LOLOTEST'
[11:45:01] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=79.66666666666667 bubbleBottom=108.66666666666667 cellHeight=115.0 remainingSpace=6.333333333333329
[11:45:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 38.333333333333336)
[11:45:01] [HEIGHT_DEBUG] Row 2 msg 1622: isPlayingEvolution=false, textLength=6, text='Coucou...'
[11:45:01] [HEIGHT] Row 2 msg 1622: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:45:01] [CELL POSITION] Y=147.0 Height=71.0 Bottom=218.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:01] [CELL POSITION] Y=218.0 Height=71.0 Bottom=289.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:01] [CELL POSITION] Y=289.0 Height=71.0 Bottom=360.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:01] [CELL POSITION] Y=360.0 Height=71.0 Bottom=431.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:01] [CELL POSITION] Y=431.0 Height=71.0 Bottom=502.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:01] [CELL POSITION] Y=502.0 Height=71.0 Bottom=573.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:01] [CELL POSITION] Y=573.0 Height=71.0 Bottom=644.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:01] [CELL POSITION] Y=644.0 Height=71.0 Bottom=715.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:01] [CELL POSITION] Y=715.0 Height=71.0 Bottom=786.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:01] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:45:01] ReloadData 18 (viewer init with read receipts)
[11:45:01] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:45:01] [UNREAD_DEBUG]   FINAL msg[0] id=1623, readBy.count=1
[11:45:01] [UNREAD_DEBUG]   FINAL msg[1] id=1622, readBy.count=1
[11:45:01] [UNREAD_DEBUG]   FINAL msg[2] id=1621, readBy.count=1
[11:45:01] [FOREGROUND_REFRESH] Loaded 50 messages
[11:45:01] [EVOLUTION] πŸ” [FOREGROUND] Found 0 NEW unread messages (lastSeenMessageId=1623): []
[11:45:01] [FOREGROUND_REFRESH] About to call autoPlayEvolutionForUnreadMessageIds with 0 IDs: []
[11:45:01] [FOREGROUND_REFRESH] No unread messages to play evolution for - reloading table normally
[11:45:01] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:45:01] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:45:01] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:45:01] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=51 =====
[11:45:01] [ROWS] 0: SEPARATOR
[11:45:01] [ROWS] 1: MESSAGE id=1623 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:45:01] [ROWS] 2: MESSAGE id=1622 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:45:01] [ROWS] 3: MESSAGE id=1621 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:45:01] [ROWS] 4: MESSAGE id=1620 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:45:01] [ROWS] 5: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:45:01] [ROWS] 6: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:45:01] [ROWS] 7: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:45:01] [ROWS] 8: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:45:01] [ROWS] 9: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:45:01] [ROWS] 10: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:45:01] [ROWS] 11: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:45:01] [ROWS] 12: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:45:01] [ROWS] 13: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:45:01] [ROWS] 14: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:45:01] [ROWS] 15: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:45:01] [ROWS] 16: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:45:01] [ROWS] 17: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:45:01] [ROWS] 18: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:45:01] [ROWS] 19: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:45:01] [ROWS] 20: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:45:01] [ROWS] 21: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:45:01] [ROWS] 22: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:45:01] [ROWS] 23: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:45:01] [ROWS] 24: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:45:01] [ROWS] 25: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:45:01] [ROWS] 26: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:45:01] [ROWS] 27: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:45:01] [ROWS] 28: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:45:01] [ROWS] 29: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:45:01] [ROWS] 30: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:45:01] [ROWS] 31: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:45:01] [ROWS] 32: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:45:01] [ROWS] 33: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:45:01] [ROWS] 34: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:45:01] [ROWS] 35: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:45:01] [ROWS] 36: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:45:01] [ROWS] 37: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:45:01] [ROWS] 38: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:45:01] [ROWS] 39: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:45:01] [ROWS] 40: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:45:01] [ROWS] 41: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:45:01] [ROWS] 42: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:45:01] [ROWS] 43: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:45:01] [ROWS] 44: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:45:01] [ROWS] 45: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:45:01] [ROWS] 46: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:45:01] [ROWS] 47: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:45:01] [ROWS] 48: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:45:01] [ROWS] 49: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:45:01] [ROWS] 50: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:45:01] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:45:01] [TAB_FILTER] πŸ“Š Reloading table with 51 rows
[11:45:01] [HEIGHT_DEBUG] Row 1 msg 1623: isPlayingEvolution=false, textLength=1, text='2...'
[11:45:01] [HEIGHT] Row 1 msg 1623: CALC=115.0 (name=29.0, text=39.0, reply=0.0, showName=true)
[11:45:01] [HEIGHT_DEBUG] Row 2 msg 1622: isPlayingEvolution=false, textLength=6, text='Coucou...'
[11:45:01] [HEIGHT] Row 2 msg 1622: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:45:01] [HEIGHT_DEBUG] Row 1 msg 1623: isPlayingEvolution=false, textLength=1, text='2...'
[11:45:01] [HEIGHT] Row 1 msg 1623: CALC=115.0 (name=29.0, text=39.0, reply=0.0, showName=true)
[11:45:01] [CELL POSITION] Y=32.0 Height=115.0 Bottom=147.0 contentView.bounds=(0.0, 0.0, 440.0, 115.0) name='LOLOTEST'
[11:45:01] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=79.66666666666667 bubbleBottom=108.66666666666667 cellHeight=115.0 remainingSpace=6.333333333333329
[11:45:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 38.333333333333336)
[11:45:01] [HEIGHT_DEBUG] Row 2 msg 1622: isPlayingEvolution=false, textLength=6, text='Coucou...'
[11:45:01] [HEIGHT] Row 2 msg 1622: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:45:01] [CELL POSITION] Y=147.0 Height=71.0 Bottom=218.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:01] [CELL POSITION] Y=218.0 Height=71.0 Bottom=289.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:01] [CELL POSITION] Y=289.0 Height=71.0 Bottom=360.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:01] [CELL POSITION] Y=360.0 Height=71.0 Bottom=431.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:01] [CELL POSITION] Y=431.0 Height=71.0 Bottom=502.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:01] [CELL POSITION] Y=502.0 Height=71.0 Bottom=573.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:01] [CELL POSITION] Y=573.0 Height=71.0 Bottom=644.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:01] [CELL POSITION] Y=644.0 Height=71.0 Bottom=715.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:01] [CELL POSITION] Y=715.0 Height=71.0 Bottom=786.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:01] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:45:01] [INIT_PAGINATION] Loaded 50 total messages, displaying 50 for tab 0
[11:45:01] [EVOLUTION_SEQ] πŸš€ FUNCTION CALLED with 0 message IDs: []
[11:45:01] [EVOLUTION_SEQ] πŸ“­ No unread message IDs provided for evolution playback
[11:45:01] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:45:01] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:45:01] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:45:01] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=51 =====
[11:45:01] [ROWS] 0: SEPARATOR
[11:45:01] [ROWS] 1: MESSAGE id=1623 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:45:01] [ROWS] 2: MESSAGE id=1622 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:45:01] [ROWS] 3: MESSAGE id=1621 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:45:01] [ROWS] 4: MESSAGE id=1620 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:45:01] [ROWS] 5: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:45:01] [ROWS] 6: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:45:01] [ROWS] 7: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:45:01] [ROWS] 8: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:45:01] [ROWS] 9: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:45:01] [ROWS] 10: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:45:01] [ROWS] 11: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:45:01] [ROWS] 12: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:45:01] [ROWS] 13: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:45:01] [ROWS] 14: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:45:01] [ROWS] 15: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:45:01] [ROWS] 16: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:45:01] [ROWS] 17: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:45:01] [ROWS] 18: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:45:01] [ROWS] 19: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:45:01] [ROWS] 20: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:45:01] [ROWS] 21: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:45:01] [ROWS] 22: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:45:01] [ROWS] 23: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:45:01] [ROWS] 24: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:45:01] [ROWS] 25: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:45:01] [ROWS] 26: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:45:01] [ROWS] 27: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:45:01] [ROWS] 28: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:45:01] [ROWS] 29: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:45:01] [ROWS] 30: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:45:01] [ROWS] 31: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:45:01] [ROWS] 32: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:45:01] [ROWS] 33: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:45:01] [ROWS] 34: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:45:01] [ROWS] 35: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:45:01] [ROWS] 36: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:45:01] [ROWS] 37: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:45:01] [ROWS] 38: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:45:01] [ROWS] 39: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:45:01] [ROWS] 40: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:45:01] [ROWS] 41: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:45:01] [ROWS] 42: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:45:01] [ROWS] 43: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:45:01] [ROWS] 44: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:45:01] [ROWS] 45: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:45:01] [ROWS] 46: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:45:01] [ROWS] 47: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:45:01] [ROWS] 48: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:45:01] [ROWS] 49: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:45:01] [ROWS] 50: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:45:01] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:45:01] [TAB_FILTER] πŸ“Š Reloading table with 51 rows
[11:45:01] [HEIGHT_DEBUG] Row 1 msg 1623: isPlayingEvolution=false, textLength=1, text='2...'
[11:45:01] [HEIGHT] Row 1 msg 1623: CALC=115.0 (name=29.0, text=39.0, reply=0.0, showName=true)
[11:45:01] [HEIGHT_DEBUG] Row 2 msg 1622: isPlayingEvolution=false, textLength=6, text='Coucou...'
[11:45:01] [HEIGHT] Row 2 msg 1622: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:45:01] [HEIGHT_DEBUG] Row 1 msg 1623: isPlayingEvolution=false, textLength=1, text='2...'
[11:45:01] [HEIGHT] Row 1 msg 1623: CALC=115.0 (name=29.0, text=39.0, reply=0.0, showName=true)
[11:45:01] [CELL POSITION] Y=32.0 Height=115.0 Bottom=147.0 contentView.bounds=(0.0, 0.0, 440.0, 115.0) name='LOLOTEST'
[11:45:01] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=79.66666666666667 bubbleBottom=108.66666666666667 cellHeight=115.0 remainingSpace=6.333333333333329
[11:45:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 38.333333333333336)
[11:45:01] [HEIGHT_DEBUG] Row 2 msg 1622: isPlayingEvolution=false, textLength=6, text='Coucou...'
[11:45:01] [HEIGHT] Row 2 msg 1622: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:45:01] [CELL POSITION] Y=147.0 Height=71.0 Bottom=218.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:01] [CELL POSITION] Y=218.0 Height=71.0 Bottom=289.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:01] [CELL POSITION] Y=289.0 Height=71.0 Bottom=360.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:01] [CELL POSITION] Y=360.0 Height=71.0 Bottom=431.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:01] [CELL POSITION] Y=431.0 Height=71.0 Bottom=502.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:01] [CELL POSITION] Y=502.0 Height=71.0 Bottom=573.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:01] [CELL POSITION] Y=573.0 Height=71.0 Bottom=644.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:01] [CELL POSITION] Y=644.0 Height=71.0 Bottom=715.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:01] [CELL POSITION] Y=715.0 Height=71.0 Bottom=786.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:01] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:45:01] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:45:01] [UNREAD_DEBUG]   FINAL msg[0] id=1623, readBy.count=1
[11:45:01] [UNREAD_DEBUG]   FINAL msg[1] id=1622, readBy.count=1
[11:45:01] [UNREAD_DEBUG]   FINAL msg[2] id=1621, readBy.count=1
[11:45:01] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:45:01] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:45:01] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:45:01] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=51 =====
[11:45:01] [ROWS] 0: SEPARATOR
[11:45:01] [ROWS] 1: MESSAGE id=1623 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:45:01] [ROWS] 2: MESSAGE id=1622 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:45:01] [ROWS] 3: MESSAGE id=1621 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:45:01] [ROWS] 4: MESSAGE id=1620 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:45:01] [ROWS] 5: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:45:01] [ROWS] 6: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:45:01] [ROWS] 7: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:45:01] [ROWS] 8: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:45:01] [ROWS] 9: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:45:01] [ROWS] 10: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:45:01] [ROWS] 11: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:45:01] [ROWS] 12: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:45:01] [ROWS] 13: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:45:01] [ROWS] 14: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:45:01] [ROWS] 15: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:45:01] [ROWS] 16: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:45:01] [ROWS] 17: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:45:01] [ROWS] 18: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:45:01] [ROWS] 19: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:45:01] [ROWS] 20: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:45:01] [ROWS] 21: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:45:01] [ROWS] 22: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:45:01] [ROWS] 23: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:45:01] [ROWS] 24: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:45:01] [ROWS] 25: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:45:01] [ROWS] 26: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:45:01] [ROWS] 27: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:45:01] [ROWS] 28: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:45:01] [ROWS] 29: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:45:01] [ROWS] 30: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:45:01] [ROWS] 31: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:45:01] [ROWS] 32: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:45:01] [ROWS] 33: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:45:01] [ROWS] 34: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:45:01] [ROWS] 35: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:45:01] [ROWS] 36: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:45:01] [ROWS] 37: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:45:01] [ROWS] 38: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:45:01] [ROWS] 39: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:45:01] [ROWS] 40: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:45:01] [ROWS] 41: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:45:01] [ROWS] 42: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:45:01] [ROWS] 43: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:45:01] [ROWS] 44: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:45:01] [ROWS] 45: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:45:01] [ROWS] 46: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:45:01] [ROWS] 47: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:45:01] [ROWS] 48: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:45:01] [ROWS] 49: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:45:01] [ROWS] 50: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:45:01] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:45:01] [TAB_FILTER] πŸ“Š Reloading table with 51 rows
[11:45:01] [HEIGHT_DEBUG] Row 1 msg 1623: isPlayingEvolution=false, textLength=1, text='2...'
[11:45:01] [HEIGHT] Row 1 msg 1623: CALC=115.0 (name=29.0, text=39.0, reply=0.0, showName=true)
[11:45:01] [HEIGHT_DEBUG] Row 2 msg 1622: isPlayingEvolution=false, textLength=6, text='Coucou...'
[11:45:01] [HEIGHT] Row 2 msg 1622: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:45:01] [HEIGHT_DEBUG] Row 1 msg 1623: isPlayingEvolution=false, textLength=1, text='2...'
[11:45:01] [HEIGHT] Row 1 msg 1623: CALC=115.0 (name=29.0, text=39.0, reply=0.0, showName=true)
[11:45:01] [CELL POSITION] Y=32.0 Height=115.0 Bottom=147.0 contentView.bounds=(0.0, 0.0, 440.0, 115.0) name='LOLOTEST'
[11:45:01] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=79.66666666666667 bubbleBottom=108.66666666666667 cellHeight=115.0 remainingSpace=6.333333333333329
[11:45:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 38.333333333333336)
[11:45:01] [HEIGHT_DEBUG] Row 2 msg 1622: isPlayingEvolution=false, textLength=6, text='Coucou...'
[11:45:01] [HEIGHT] Row 2 msg 1622: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:45:01] [CELL POSITION] Y=147.0 Height=71.0 Bottom=218.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:01] [CELL POSITION] Y=218.0 Height=71.0 Bottom=289.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:01] [CELL POSITION] Y=289.0 Height=71.0 Bottom=360.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:01] [CELL POSITION] Y=360.0 Height=71.0 Bottom=431.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:01] [CELL POSITION] Y=431.0 Height=71.0 Bottom=502.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:01] [CELL POSITION] Y=502.0 Height=71.0 Bottom=573.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:01] [CELL POSITION] Y=573.0 Height=71.0 Bottom=644.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:01] [CELL POSITION] Y=644.0 Height=71.0 Bottom=715.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:01] [CELL POSITION] Y=715.0 Height=71.0 Bottom=786.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:01] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:01] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:01] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:45:01] [INITIAL_LOAD] Loaded 50 messages (first page), displaying 50 for tab 0, hasMore: true
[11:45:01] ReloadData 1
[11:45:01] [PURGE] Deleted 0 unused media files:

[11:45:01] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:45:01] [EVOLUTION_SEQ] πŸš€ FUNCTION CALLED with 0 message IDs: []
[11:45:01] [EVOLUTION_SEQ] πŸ“­ No unread message IDs provided for evolution playback
[11:45:03] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:45:03] Will get events_php
[11:45:03] [TYPING] πŸ”„ ========== POLL START ==========
[11:45:03] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:45:03] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:45:03] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:45:03] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:45:03] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:45:03] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:45:03] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:45:03] [TYPING] πŸ“₯ Found 0 typing users in response
[11:45:03] [TYPING] πŸ“₯ Updating typing users SET: []
[11:45:03] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:45:03] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:45:03] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:45:03] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:45:03] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:45:03] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:45:03] [TYPING] πŸ”„ ========== POLL END ==========
[11:45:03] [EVT] get_events.php HTTP 200
── Response Headers ──
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Content-Length: 56
Date: Sun, 16 Nov 2025 10:45:02 GMT
Content-Type: application/json; charset=utf-8
Connection: Keep-Alive
Keep-Alive: timeout=5, max=95
X-Powered-By: PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:45:03] Done
[11:45:03] Main
[11:45:05] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:45:05] Will get events_php
[11:45:05] [TYPING] πŸ”„ ========== POLL START ==========
[11:45:05] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:45:05] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:45:05] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:45:05] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:45:05] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:45:05] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:45:05] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:45:05] [TYPING] πŸ“₯ Found 0 typing users in response
[11:45:05] [TYPING] πŸ“₯ Updating typing users SET: []
[11:45:05] [EVT] get_events.php HTTP 200
── Response Headers ──
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Content-Length: 56
Date: Sun, 16 Nov 2025 10:45:04 GMT
Content-Type: application/json; charset=utf-8
Connection: Keep-Alive
Keep-Alive: timeout=5, max=94
X-Powered-By: PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:45:05] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:45:05] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:45:05] Done
[11:45:05] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:45:05] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:45:05] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:45:05] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:45:05] [TYPING] πŸ”„ ========== POLL END ==========
[11:45:05] Main
[11:45:05] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:45:05] [INFO_PAGE] Found 438 messages for session 'ILUIWU2'
[11:45:05] [INFO_PAGE] Total messages in database: 1204
[11:45:07] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:45:07] Will get events_php
[11:45:07] [TYPING] πŸ”„ ========== POLL START ==========
[11:45:07] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:45:07] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:45:07] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:45:07] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:45:07] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:45:07] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:45:07] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
]
[11:45:07] [TYPING] πŸ“₯ Found 0 typing users in response
[11:45:07] [TYPING] πŸ“₯ Updating typing users SET: []
[11:45:07] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:45:07] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:45:07] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:45:07] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:45:07] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:45:07] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:45:07] [EVT] get_events.php HTTP 200
── Response Headers ──
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Content-Length: 56
Date: Sun, 16 Nov 2025 10:45:07 GMT
Content-Type: application/json; charset=utf-8
Connection: Keep-Alive
Keep-Alive: timeout=5, max=92
X-Powered-By: PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:45:07] [TYPING] πŸ”„ ========== POLL END ==========
[11:45:07] Done
[11:45:07] Main
[11:45:09] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:45:09] Will get events_php
[11:45:09] [TYPING] πŸ”„ ========== POLL START ==========
[11:45:09] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:45:09] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:45:09] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:45:09] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:45:09] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:45:09] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:45:09] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok, "sessionId": ILUIWU2]
[11:45:09] [TYPING] πŸ“₯ Found 0 typing users in response
[11:45:09] [TYPING] πŸ“₯ Updating typing users SET: []
[11:45:09] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:45:09] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:45:09] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:45:09] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:45:09] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:45:09] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:45:09] [TYPING] πŸ”„ ========== POLL END ==========
[11:45:09] [EVT] get_events.php HTTP 200
── Response Headers ──
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Content-Type: application/json; charset=utf-8
X-Powered-By: PHP/8.4.14
Keep-Alive: timeout=5, max=91
Connection: Keep-Alive
Date: Sun, 16 Nov 2025 10:45:08 GMT
Content-Length: 56
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:45:09] Done
[11:45:09] Main
[11:45:09] [MENU] πŸ” dismissAnyExistingMenu called
[11:45:09] [MENU] ℹ️ No menu with tag 9999 found
[11:45:09] [MENU] βœ… dismissAnyExistingMenu completed
[11:45:09] [CELL POSITION] Y=786.0 Height=71.0 Bottom=857.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:09] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:09] [CELL POSITION] Y=786.0 Height=71.0 Bottom=857.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:09] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:09] [CELL POSITION] Y=857.0 Height=71.0 Bottom=928.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:09] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:09] [CELL POSITION] Y=857.0 Height=71.0 Bottom=928.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:09] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:09] [CELL POSITION] Y=928.0 Height=71.0 Bottom=999.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:09] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:09] [CELL POSITION] Y=928.0 Height=71.0 Bottom=999.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:09] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:09] [CELL POSITION] Y=999.0 Height=71.0 Bottom=1070.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:09] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:09] [CELL POSITION] Y=999.0 Height=71.0 Bottom=1070.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:09] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:09] [CELL POSITION] Y=1070.0 Height=71.0 Bottom=1141.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:09] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:09] [CELL POSITION] Y=1070.0 Height=71.0 Bottom=1141.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:09] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:09] [CELL POSITION] Y=1141.0 Height=71.0 Bottom=1212.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:09] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:09] [CELL POSITION] Y=1141.0 Height=71.0 Bottom=1212.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:09] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:09] [CELL POSITION] Y=1212.0 Height=71.0 Bottom=1283.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:09] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:09] [CELL POSITION] Y=1212.0 Height=71.0 Bottom=1283.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:09] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:09] [CELL POSITION] Y=1283.0 Height=71.0 Bottom=1354.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:09] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:09] [CELL POSITION] Y=1283.0 Height=71.0 Bottom=1354.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:09] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:09] [CELL POSITION] Y=1354.0 Height=71.0 Bottom=1425.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:09] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:09] [CELL POSITION] Y=1354.0 Height=71.0 Bottom=1425.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:09] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:09] [CELL POSITION] Y=1425.0 Height=71.0 Bottom=1496.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:09] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:09] [CELL POSITION] Y=1425.0 Height=71.0 Bottom=1496.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:09] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:09] [CELL POSITION] Y=1496.0 Height=71.0 Bottom=1567.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:09] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:09] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:09] [MENU] πŸ” dismissAnyExistingMenu called
[11:45:09] [MENU] ℹ️ No menu with tag 9999 found
[11:45:09] [MENU] βœ… dismissAnyExistingMenu completed
[11:45:10] [CELL POSITION] Y=644.0 Height=71.0 Bottom=715.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:10] [CELL POSITION] Y=573.0 Height=71.0 Bottom=644.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:10] [CELL POSITION] Y=573.0 Height=71.0 Bottom=644.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:10] [CELL POSITION] Y=502.0 Height=71.0 Bottom=573.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:10] [CELL POSITION] Y=502.0 Height=71.0 Bottom=573.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:10] [CELL POSITION] Y=431.0 Height=71.0 Bottom=502.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:10] [CELL POSITION] Y=431.0 Height=71.0 Bottom=502.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:10] [CELL POSITION] Y=360.0 Height=71.0 Bottom=431.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:10] [CELL POSITION] Y=360.0 Height=71.0 Bottom=431.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:10] [CELL POSITION] Y=289.0 Height=71.0 Bottom=360.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:10] [CELL POSITION] Y=289.0 Height=71.0 Bottom=360.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:10] [CELL POSITION] Y=218.0 Height=71.0 Bottom=289.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:10] [CELL POSITION] Y=218.0 Height=71.0 Bottom=289.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:10] [HEIGHT_DEBUG] Row 2 msg 1622: isPlayingEvolution=false, textLength=6, text='Coucou...'
[11:45:10] [HEIGHT] Row 2 msg 1622: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:45:10] [CELL POSITION] Y=147.0 Height=71.0 Bottom=218.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:10] [HEIGHT_DEBUG] Row 2 msg 1622: isPlayingEvolution=false, textLength=6, text='Coucou...'
[11:45:10] [HEIGHT] Row 2 msg 1622: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:45:10] [CELL POSITION] Y=147.0 Height=71.0 Bottom=218.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:10] [HEIGHT_DEBUG] Row 1 msg 1623: isPlayingEvolution=false, textLength=1, text='2...'
[11:45:10] [HEIGHT] Row 1 msg 1623: CALC=115.0 (name=29.0, text=39.0, reply=0.0, showName=true)
[11:45:10] [CELL POSITION] Y=32.0 Height=115.0 Bottom=147.0 contentView.bounds=(0.0, 0.0, 440.0, 115.0) name='LOLOTEST'
[11:45:10] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=79.66666666666667 bubbleBottom=108.66666666666667 cellHeight=115.0 remainingSpace=6.333333333333329
[11:45:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 38.333333333333336)
[11:45:10] [HEIGHT_DEBUG] Row 1 msg 1623: isPlayingEvolution=false, textLength=1, text='2...'
[11:45:10] [HEIGHT] Row 1 msg 1623: CALC=115.0 (name=29.0, text=39.0, reply=0.0, showName=true)
[11:45:10] [CELL POSITION] Y=32.0 Height=115.0 Bottom=147.0 contentView.bounds=(0.0, 0.0, 440.0, 115.0) name='LOLOTEST'
[11:45:10] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=79.66666666666667 bubbleBottom=108.66666666666667 cellHeight=115.0 remainingSpace=6.333333333333329
[11:45:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 38.333333333333336)
[11:45:10] [CELL POSITION] Y=715.0 Height=71.0 Bottom=786.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:10] [CELL POSITION] Y=786.0 Height=71.0 Bottom=857.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:45:10] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:45:10] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:45:11] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:45:11] [INFO_PAGE] Found 438 messages for session 'ILUIWU2'
[11:45:11] [INFO_PAGE] Total messages in database: 1204
[11:45:11] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:45:11] Will get events_php
[11:45:11] [TYPING] πŸ”„ ========== POLL START ==========
[11:45:11] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:45:11] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:45:11] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:45:11] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:45:11] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:45:11] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:45:11] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2, "status": ok]
[11:45:11] [TYPING] πŸ“₯ Found 0 typing users in response
[11:45:11] [TYPING] πŸ“₯ Updating typing users SET: []
[11:45:11] [EVT] get_events.php HTTP 200
── Response Headers ──
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Content-Length: 56
Date: Sun, 16 Nov 2025 10:45:11 GMT
Content-Type: application/json; charset=utf-8
Connection: Keep-Alive
Keep-Alive: timeout=5, max=100
X-Powered-By: PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:45:11] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:45:11] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:45:11] Done
[11:45:11] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:45:11] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:45:11] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:45:11] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:45:11] [TYPING] πŸ”„ ========== POLL END ==========
[11:45:11] Main
[11:45:13] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:45:13] Will get events_php
[11:45:13] [TYPING] πŸ”„ ========== POLL START ==========
[11:45:13] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:45:13] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:45:13] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:45:13] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:45:13] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:45:13] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:45:13] [TYPING] πŸ“₯ Parsed JSON: ["sessionId": ILUIWU2, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "status": ok]
[11:45:13] [TYPING] πŸ“₯ Found 0 typing users in response
[11:45:13] [TYPING] πŸ“₯ Updating typing users SET: []
[11:45:13] [EVT] get_events.php HTTP 200
── Response Headers ──
Server: Apache/2.4.65 (Unix) PHP/8.4.14
Content-Length: 56
Date: Sun, 16 Nov 2025 10:45:12 GMT
Content-Type: application/json; charset=utf-8
Connection: Keep-Alive
Keep-Alive: timeout=5, max=89
X-Powered-By: PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":0,"events":[]}
[11:45:13] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:45:13] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:45:13] Done
[11:45:13] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:45:13] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:45:13] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:45:13] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:45:13] [TYPING] πŸ”„ ========== POLL END ==========
[11:45:13] Main
[11:46:59] [CRASH] Previous session did not exit cleanly - crash detected
[11:46:59] [GIPHY] SDK not available - using REST API fallback
[11:46:59] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:46:59] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:46:59] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:46:59] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:46:59] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:46:59] [SCENE] Launched directly to chat view with sessionId: ILUIWU2
[11:46:59] [PUSH] APNs token: 6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c
[11:47:00] [PUSH] Device role updated to 'viewer': HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1}
[11:47:01] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:47:01] Documents Directory: /var/mobile/Containers/Data/Application/8BF2B2CD-D826-45C5-8339-E3D3B633A2B2/Documents
[11:47:01] [NOTIFICATION] πŸ”” Notification button created and added to topNavBar
[11:47:01] [NOTIFICATION] πŸ”” Button tintColor: grey (0.5, 0.5, 0.5)
[11:47:01] [NOTIFICATION] πŸ”” Button isUserInteractionEnabled: true
[11:47:01] [INFO_PAGE] InformationViewController viewDidLoad called
[11:47:01] [INFO_PAGE] Actions configured (bell button is external)
[11:47:01] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:47:01] [INFO_PAGE] Successfully opened database at /var/mobile/Containers/Data/Application/8BF2B2CD-D826-45C5-8339-E3D3B633A2B2/Documents/chat_local_viewer.db
[11:47:01] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:47:01] [INFO_PAGE] Found 438 messages for session 'ILUIWU2'
[11:47:01] [INFO_PAGE] Total messages in database: 1204
[11:47:01] [INFO_PAGE] InformationViewController setup complete
[11:47:01] [INFO_PAGE] ℹ️ Information page added to tab 3
[11:47:01] [THEME] Applying current theme
[11:47:01] [CHAT] Applied day theme (mode: day)
[11:47:01] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:47:01] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:47:01] [MODE] ⏸️ Skipping updateModeUI - viewDidFinishLoading=false
[11:47:01] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:47:01] [SECURITY] Saved real session: ILUIWU2, role: viewer
[11:47:01] [SUMMARY] Already showed summary today (2025-11-16)
[11:47:01] Did transition
[11:47:01] [MODE] πŸ” updateModeUI called - currentTabIndex=0, role=viewer, sessionId=ILUIWU2
[11:47:01] [VIEWER] Screen lock enabled - normal idle behavior
[11:47:01] [QUERY] πŸ” Checking tab - currentTabIndex=0
[11:47:01] [QUERY] πŸ”΅ [TAB 0] No query connection needed
[11:47:01] [QUERY] βœ… [TAB 0] Initialized without query connection
[11:47:01] [LOCATION] Started location updates for distance calculation (already authorized)
[11:47:01] [TAB 0] Skipping reconnect polling - only needed for tab 1
[11:47:01] [VIEWER_INIT] Loading messages with read receipts from server
[11:47:01] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:47:01] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:47:01] [DB]   msg[0] id=1623, isMyMessage=false, readBy.count=0
[11:47:01] [DB]   msg[1] id=1622, isMyMessage=false, readBy.count=0
[11:47:01] [DB]   msg[2] id=1621, isMyMessage=false, readBy.count=0
[11:47:01] [EVOLUTION] πŸ” Found 0 NEW unread messages from local DB before fetching read receipts (lastSeenMessageId=1623): []
[11:47:01] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1623, readBy=[]", "id=1622, readBy=[]", "id=1621, readBy=[]"]
[11:47:01] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:47:01] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:47:01] [DB]   msg[0] id=1623, isMyMessage=false, readBy.count=0
[11:47:01] [DB]   msg[1] id=1622, isMyMessage=false, readBy.count=0
[11:47:01] [DB]   msg[2] id=1621, isMyMessage=false, readBy.count=0
[11:47:01] [EVENT_POLL] Starting periodic event polling for viewer mode (5s interval)
[11:47:01] [ORIENTATION] Updated pagingScrollView height to 247.5 for width 440.0
[11:47:01] [SUMMARY] Already showed summary today (2025-11-16)
[11:47:01] Did transition
[11:47:01] [NOTIFICATION] πŸ”” Constraints activated for notification button
[11:47:01] [NOTIFICATION] πŸ”” topNavBar frame: (0.0, 0.0, 440.0, 50.0)
[11:47:01] [NOTIFICATION] πŸ”” menuButton frame: (0.0, 0.0, 39.0, 30.0)
[11:47:01] [NOTIFICATION] πŸ”” notificationButton frame: (0.0, 0.0, 56.333333333333336, 58.0)
[11:47:01] [NOTIFICATION] πŸ”” Notification button brought to front
[11:47:01] [NOTIFICATION] πŸ”„ Updating icon to: bell.slash.fill (muted=true)
[11:47:01] [NOTIFICATION] βœ… Icon updated successfully
[11:47:01] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[11:47:01] [MIGRATION] No messages need sender_name backfill
[11:47:01] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:47:01] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:47:01] [DB]   msg[0] id=1623, isMyMessage=false, readBy.count=0
[11:47:01] [DB]   msg[1] id=1622, isMyMessage=false, readBy.count=0
[11:47:01] [DB]   msg[2] id=1621, isMyMessage=false, readBy.count=0
[11:47:01] [INFO_PAGE] InformationViewController viewWillAppear - applying theme
[11:47:01] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:47:01] [INFO_PAGE] applyCurrentTheme called - theme: day, isDark: false
[11:47:01] [PAGINATION_SCROLL] offset=-12.0, contentHeight=108.0, distFromBottom=120.0, dragging=false, decel=false, isLoading=false, cooldown=63899059621.262054s
[11:47:01] [PAGINATION_SCROLL] offset=0.0, contentHeight=108.0, distFromBottom=-650.0, dragging=false, decel=false, isLoading=false, cooldown=63899059621.263374s
[11:47:01] [LOCATION] Authorization changed: 4
[11:47:01] [NOTIFICATION] πŸ”” FINAL STATE after viewDidLoad:
[11:47:01] [NOTIFICATION] πŸ”” notificationButton.frame: (392.0, 67.0, 40.0, 40.0)
[11:47:01] [NOTIFICATION] πŸ”” notificationButton.isHidden: false
[11:47:01] [NOTIFICATION] πŸ”” notificationButton.alpha: 1.0
[11:47:01] [NOTIFICATION] πŸ”” notificationButton.superview: true
[11:47:01] [NOTIFICATION] πŸ”” topNavBar.isHidden: false
[11:47:01] [NOTIFICATION] πŸ”” topNavBar.subviews.count: 3
[11:47:04] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:47:04] [TYPING] πŸ”„ ========== POLL START ==========
[11:47:04] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:47:04] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:47:04] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:47:04] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:47:04] [LIFECYCLE] App entering foreground - restoring connections
[11:47:04] [PUSH] Role update error: Error Domain=NSURLErrorDomain Code=-1005 "The network connection was lost." UserInfo={_kCFStreamErrorCodeKey=-4, NSUnderlyingError=0x123759c20 {Error Domain=kCFErrorDomainCFNetwork Code=-1005 "(null)" UserInfo={NSErrorPeerAddressKey=<CFData 0x1155705f0 [0x1f43240d8]>{length = 16, capacity = 16, bytes = 0x1002005154e34b220000000000000000}, _kCFStreamErrorCodeKey=-4, _kCFStreamErrorDomainKey=4}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <E82441A6-3A67-4901-8A10-7B94D8CB0568>.<5>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
    "LocalDataTask <E82441A6-3A67-4901-8A10-7B94D8CB0568>.<5>"
), NSLocalizedDescription=The network connection was lost., NSErrorFailingURLStringKey=http://crivello.dyndns.org:81/WebRTC/chat/register_device.php, NSErrorFailingURLKey=http://crivello.dyndns.org:81/WebRTC/chat/register_device.php, _kCFStreamErrorDomainKey=4}
[11:47:04] [PUSH] token POST error: Error Domain=NSURLErrorDomain Code=-1005 "The network connection was lost." UserInfo={_kCFStreamErrorCodeKey=-4, NSUnderlyingError=0x123759080 {Error Domain=kCFErrorDomainCFNetwork Code=-1005 "(null)" UserInfo={NSErrorPeerAddressKey=<CFData 0x123751590 [0x1f43240d8]>{length = 16, capacity = 16, bytes = 0x1002005154e34b220000000000000000}, _kCFStreamErrorCodeKey=-4, _kCFStreamErrorDomainKey=4}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <D11A2614-82F4-4AB3-9A39-5802EAC491EC>.<4>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
    "LocalDataTask <D11A2614-82F4-4AB3-9A39-5802EAC491EC>.<4>"
), NSLocalizedDescription=The network connection was lost., NSErrorFailingURLStringKey=http://crivello.dyndns.org:81/WebRTC/chat/register_device.php, NSErrorFailingURLKey=http://crivello.dyndns.org:81/WebRTC/chat/register_device.php, _kCFStreamErrorDomainKey=4}
[11:47:04] [LIFECYCLE] WebRTC audio re-enabled
[11:47:04] [AUDIO] βœ… VIEWER mode - audio will be managed by WebRTCViewer (no microphone)
[11:47:04] [VIEWER] Reconnecting after background - querying agents
[11:47:04] [LOCATION] Updated location: 46.50141025271879, 6.722693787276886
[11:47:04] [LOCATION] Updated location: 46.50141025271879, 6.722693787276886
[11:47:04] [LOCATION] Updated location: 46.50141025271879, 6.722693787276886
[11:47:04] [PUSH] handlePollEventsNotification userInfo: [:]
[11:47:04] [PUSH] No message_id in userInfo
[11:47:04] [PUSH] No operation_type in userInfo
[11:47:04] [PUSH] Performing full refresh to catch up on any missed messages
[11:47:04] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:47:04] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:47:04] [DB]   msg[0] id=1623, isMyMessage=false, readBy.count=0
[11:47:04] [DB]   msg[1] id=1622, isMyMessage=false, readBy.count=0
[11:47:04] [DB]   msg[2] id=1621, isMyMessage=false, readBy.count=0
[11:47:04] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:47:04] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:47:04] [TYPING] πŸ“₯ Parsed JSON: ["typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2, "status": ok]
[11:47:04] [TYPING] πŸ“₯ Found 0 typing users in response
[11:47:04] [TYPING] πŸ“₯ Updating typing users SET: []
[11:47:04] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:47:04] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:47:04] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:47:04] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:47:04] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:47:04] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:47:04] [TYPING] πŸ”„ ========== POLL END ==========
[11:47:04] [USER] βœ… User registered successfully
[11:47:04] [USER] User registration successful
[11:47:04] [CHAT] βœ… refreshAllFromServer - parsed 440 messages from server
[11:47:04] [DB] clearDBForSession(ILUIWU2): deleted 438 messages, result=101
[11:47:04] DOWNLOADIIING t_6864b3095b79fd0d.jpg
[11:47:04] [UPLOAD_QUEUE] Found 0 pending uploads to resume
[11:47:04] ReloadData 15 (440 messages loaded, 1 pending media)
[11:47:04] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:47:04] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:47:04] [DB]   msg[0] id=1625, isMyMessage=false, readBy.count=0
[11:47:04] [DB]   msg[1] id=1624, isMyMessage=false, readBy.count=0
[11:47:04] [DB]   msg[2] id=1623, isMyMessage=false, readBy.count=0
[11:47:04] [EVOLUTION] πŸ” Found 1 NEW unread messages after refreshAllFromServer (lastSeenMessageId=1623): [1625]
[11:47:04] [EVOLUTION] πŸ” First 3 messages readBy status: ["id=1625, readBy=[]", "id=1624, readBy=[]", "id=1623, readBy=[]"]
[11:47:04] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=50, offset=0, tabIndex=-1
[11:47:04] [DB] πŸ“Š Returning 50 messages, first 3 readBy status:
[11:47:04] [DB]   msg[0] id=1625, isMyMessage=false, readBy.count=0
[11:47:04] [DB]   msg[1] id=1624, isMyMessage=false, readBy.count=0
[11:47:04] [DB]   msg[2] id=1623, isMyMessage=false, readBy.count=0
[11:47:05] percent loading:100.0%
[11:47:05] Download finished: file:///var/mobile/Containers/Data/Application/8BF2B2CD-D826-45C5-8339-E3D3B633A2B2/Documents/MediaCache/t_6864b3095b79fd0d.jpg
[11:47:05] ReloadData 14 (all 1 media thumbnails loaded) - applying tab 0 filtering
[11:47:05] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:47:05] [TAB_FILTER] ⚠️ No messages with readBy data, falling back to DB
[11:47:05] [DB] πŸ“‚ loadMessagesFromDB called - sid=ILUIWU2, limit=-1, offset=0, tabIndex=0
[11:47:05] [DB] πŸ“Š Returning 440 messages, first 3 readBy status:
[11:47:05] [DB]   msg[0] id=1625, isMyMessage=false, readBy.count=0
[11:47:05] [DB]   msg[1] id=1624, isMyMessage=false, readBy.count=0
[11:47:05] [DB]   msg[2] id=1623, isMyMessage=false, readBy.count=0
[11:47:05] [TAB_FILTER] Loaded 440 messages from DB for tab 0
[11:47:05] [EVOLUTION] πŸ“ Updated lastSeenMessageId (DB fallback): 1623 β†’ 1625
[11:47:05] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=443 =====
[11:47:05] [ROWS] 0: SEPARATOR
[11:47:05] [ROWS] 1: MESSAGE id=1625 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:47:05] [ROWS] 2: MESSAGE id=1624 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=0
[11:47:05] [ROWS] 3: MESSAGE id=1623 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:47:05] [ROWS] 4: MESSAGE id=1622 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:47:05] [ROWS] 5: MESSAGE id=1621 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:47:05] [ROWS] 6: MESSAGE id=1620 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:47:05] [ROWS] 7: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:47:05] [ROWS] 8: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:47:05] [ROWS] 9: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:05] [ROWS] 10: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:47:05] [ROWS] 11: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:47:05] [ROWS] 12: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:47:05] [ROWS] 13: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:47:05] [ROWS] 14: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:05] [ROWS] 15: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:47:05] [ROWS] 16: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:47:05] [ROWS] 17: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:47:05] [ROWS] 18: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:47:05] [ROWS] 19: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:05] [ROWS] 20: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:47:05] [ROWS] 21: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:47:05] [ROWS] 22: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:47:05] [ROWS] 23: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:47:05] [ROWS] 24: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:47:05] [ROWS] 25: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:47:05] [ROWS] 26: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:47:05] [ROWS] 27: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:47:05] [ROWS] 28: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:47:05] [ROWS] 29: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:47:05] [ROWS] 30: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:47:05] [ROWS] 31: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:47:05] [ROWS] 32: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:47:05] [ROWS] 33: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:47:05] [ROWS] 34: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:47:05] [ROWS] 35: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:47:05] [ROWS] 36: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:05] [ROWS] 37: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:47:05] [ROWS] 38: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:05] [ROWS] 39: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:47:05] [ROWS] 40: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:47:05] [ROWS] 41: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:47:05] [ROWS] 42: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:47:05] [ROWS] 43: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:47:05] [ROWS] 44: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:05] [ROWS] 45: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:47:05] [ROWS] 46: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:05] [ROWS] 47: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:47:05] [ROWS] 48: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:47:05] [ROWS] 49: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:05] [ROWS] 50: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:05] [ROWS] 51: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:47:05] [ROWS] 52: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:47:05] [ROWS] 53: MESSAGE id=1573 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:47:05] [ROWS] 54: MESSAGE id=1572 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:47:05] [ROWS] 55: MESSAGE id=1571 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:47:05] [ROWS] 56: MESSAGE id=1570 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:47:05] [ROWS] 57: MESSAGE id=1569 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:47:05] [ROWS] 58: MESSAGE id=1568 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:47:05] [ROWS] 59: MESSAGE id=1567 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:47:05] [ROWS] 60: MESSAGE id=1566 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:47:05] [ROWS] 61: MESSAGE id=1565 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:47:05] [ROWS] 62: MESSAGE id=1564 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:47:05] [ROWS] 63: MESSAGE id=1563 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:47:05] [ROWS] 64: SEPARATOR
[11:47:05] [ROWS] 65: MESSAGE id=1561 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:47:05] [ROWS] 66: MESSAGE id=1560 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:47:05] [ROWS] 67: MESSAGE id=1559 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:47:05] [ROWS] 68: MESSAGE id=1558 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:47:05] [ROWS] 69: MESSAGE id=1557 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:47:05] [ROWS] 70: MESSAGE id=1556 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:47:05] [ROWS] 71: MESSAGE id=1555 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:47:05] [ROWS] 72: MESSAGE id=1554 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:47:05] [ROWS] 73: MESSAGE id=1553 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:47:05] [ROWS] 74: MESSAGE id=1552 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:47:05] [ROWS] 75: MESSAGE id=1551 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:47:05] [ROWS] 76: MESSAGE id=1550 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:47:05] [ROWS] 77: MESSAGE id=1549 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:05] [ROWS] 78: MESSAGE id=1548 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:47:05] [ROWS] 79: MESSAGE id=1547 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:05] [ROWS] 80: MESSAGE id=1545 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:47:05] [ROWS] 81: MESSAGE id=1538 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:47:05] [ROWS] 82: MESSAGE id=1537 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:47:05] [ROWS] 83: MESSAGE id=1536 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:47:05] [ROWS] 84: MESSAGE id=1535 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:47:05] [ROWS] 85: MESSAGE id=1534 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:47:05] [ROWS] 86: MESSAGE id=1533 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:47:05] [ROWS] 87: MESSAGE id=1532 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:47:05] [ROWS] 88: MESSAGE id=1530 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:47:05] [ROWS] 89: MESSAGE id=1529 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:47:05] [ROWS] 90: MESSAGE id=1528 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:47:05] [ROWS] 91: MESSAGE id=1527 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:47:05] [ROWS] 92: MESSAGE id=1526 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:47:05] [ROWS] 93: MESSAGE id=1525 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:05] [ROWS] 94: MESSAGE id=1524 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:05] [ROWS] 95: MESSAGE id=1522 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:05] [ROWS] 96: MESSAGE id=1521 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:05] [ROWS] 97: MESSAGE id=1520 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:05] [ROWS] 98: MESSAGE id=1519 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:47:05] [ROWS] 99: MESSAGE id=1518 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:47:05] [ROWS] 100: MESSAGE id=1517 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:47:05] [ROWS] 101: MESSAGE id=1516 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:05] [ROWS] 102: MESSAGE id=1515 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:05] [ROWS] 103: MESSAGE id=1514 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:47:05] [ROWS] 104: MESSAGE id=1513 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:47:05] [ROWS] 105: MESSAGE id=1512 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:05] [ROWS] 106: MESSAGE id=1511 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:05] [ROWS] 107: MESSAGE id=1510 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:47:05] [ROWS] 108: MESSAGE id=1509 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:05] [ROWS] 109: MESSAGE id=1508 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:05] [ROWS] 110: MESSAGE id=1503 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:05] [ROWS] 111: MESSAGE id=1502 sender=96488CEA-CEE8-4DD8-AD91-6475B3A94A3E evolved=false evoTextLen=0 textLen=4
[11:47:05] [ROWS] 112: MESSAGE id=1501 sender=96488CEA-CEE8-4DD8-AD91-6475B3A94A3E evolved=false evoTextLen=0 textLen=5
[11:47:05] [ROWS] 113: MESSAGE id=1500 sender=96488CEA-CEE8-4DD8-AD91-6475B3A94A3E evolved=false evoTextLen=0 textLen=7
[11:47:05] [ROWS] 114: MESSAGE id=1499 sender=96488CEA-CEE8-4DD8-AD91-6475B3A94A3E evolved=false evoTextLen=0 textLen=4
[11:47:05] [ROWS] 115: MESSAGE id=1498 sender=96488CEA-CEE8-4DD8-AD91-6475B3A94A3E evolved=false evoTextLen=0 textLen=12
[11:47:05] [ROWS] 116: MESSAGE id=1497 sender=96488CEA-CEE8-4DD8-AD91-6475B3A94A3E evolved=false evoTextLen=0 textLen=13
[11:47:05] [ROWS] 117: MESSAGE id=1496 sender=96488CEA-CEE8-4DD8-AD91-6475B3A94A3E evolved=false evoTextLen=0 textLen=8
[11:47:05] [ROWS] 118: MESSAGE id=1495 sender=96488CEA-CEE8-4DD8-AD91-6475B3A94A3E evolved=false evoTextLen=0 textLen=13
[11:47:05] [ROWS] 119: MESSAGE id=1494 sender=96488CEA-CEE8-4DD8-AD91-6475B3A94A3E evolved=false evoTextLen=0 textLen=8
[11:47:05] [ROWS] 120: MESSAGE id=1493 sender=96488CEA-CEE8-4DD8-AD91-6475B3A94A3E evolved=false evoTextLen=0 textLen=6
[11:47:05] [ROWS] 121: MESSAGE id=1492 sender=96488CEA-CEE8-4DD8-AD91-6475B3A94A3E evolved=false evoTextLen=0 textLen=11
[11:47:05] [ROWS] 122: MESSAGE id=1491 sender=96488CEA-CEE8-4DD8-AD91-6475B3A94A3E evolved=false evoTextLen=0 textLen=4
[11:47:05] [ROWS] 123: MESSAGE id=1490 sender=96488CEA-CEE8-4DD8-AD91-6475B3A94A3E evolved=false evoTextLen=0 textLen=4
[11:47:05] [ROWS] 124: MESSAGE id=1489 sender=96488CEA-CEE8-4DD8-AD91-6475B3A94A3E evolved=false evoTextLen=0 textLen=4
[11:47:05] [ROWS] 125: MESSAGE id=1488 sender=96488CEA-CEE8-4DD8-AD91-6475B3A94A3E evolved=false evoTextLen=0 textLen=4
[11:47:05] [ROWS] 126: MESSAGE id=1487 sender=96488CEA-CEE8-4DD8-AD91-6475B3A94A3E evolved=false evoTextLen=0 textLen=4
[11:47:05] [ROWS] 127: MESSAGE id=1486 sender=96488CEA-CEE8-4DD8-AD91-6475B3A94A3E evolved=false evoTextLen=0 textLen=27
[11:47:05] [ROWS] 128: MESSAGE id=1485 sender=96488CEA-CEE8-4DD8-AD91-6475B3A94A3E evolved=false evoTextLen=0 textLen=9
[11:47:05] [ROWS] 129: MESSAGE id=1484 sender=96488CEA-CEE8-4DD8-AD91-6475B3A94A3E evolved=false evoTextLen=0 textLen=9
[11:47:05] [ROWS] 130: MESSAGE id=1483 sender=96488CEA-CEE8-4DD8-AD91-6475B3A94A3E evolved=false evoTextLen=0 textLen=9
[11:47:05] [ROWS] 131: MESSAGE id=1482 sender=96488CEA-CEE8-4DD8-AD91-6475B3A94A3E evolved=false evoTextLen=0 textLen=8
[11:47:05] [ROWS] 132: MESSAGE id=1481 sender=96488CEA-CEE8-4DD8-AD91-6475B3A94A3E evolved=false evoTextLen=0 textLen=4
[11:47:05] [ROWS] 133: MESSAGE id=1480 sender=96488CEA-CEE8-4DD8-AD91-6475B3A94A3E evolved=false evoTextLen=0 textLen=3
[11:47:05] [ROWS] 134: MESSAGE id=1479 sender=96488CEA-CEE8-4DD8-AD91-6475B3A94A3E evolved=false evoTextLen=0 textLen=3
[11:47:05] [ROWS] 135: MESSAGE id=1478 sender=96488CEA-CEE8-4DD8-AD91-6475B3A94A3E evolved=false evoTextLen=0 textLen=3
[11:47:05] [ROWS] 136: MESSAGE id=1477 sender=96488CEA-CEE8-4DD8-AD91-6475B3A94A3E evolved=false evoTextLen=0 textLen=9
[11:47:05] [ROWS] 137: MESSAGE id=1476 sender=96488CEA-CEE8-4DD8-AD91-6475B3A94A3E evolved=false evoTextLen=0 textLen=18
[11:47:05] [ROWS] 138: MESSAGE id=1475 sender=96488CEA-CEE8-4DD8-AD91-6475B3A94A3E evolved=false evoTextLen=0 textLen=7
[11:47:05] [ROWS] 139: MESSAGE id=1474 sender=96488CEA-CEE8-4DD8-AD91-6475B3A94A3E evolved=false evoTextLen=0 textLen=7
[11:47:05] [ROWS] 140: MESSAGE id=1473 sender=96488CEA-CEE8-4DD8-AD91-6475B3A94A3E evolved=false evoTextLen=0 textLen=15
[11:47:05] [ROWS] 141: MESSAGE id=1472 sender=96488CEA-CEE8-4DD8-AD91-6475B3A94A3E evolved=false evoTextLen=0 textLen=7
[11:47:05] [ROWS] 142: MESSAGE id=1471 sender=96488CEA-CEE8-4DD8-AD91-6475B3A94A3E evolved=false evoTextLen=0 textLen=15
[11:47:05] [ROWS] 143: MESSAGE id=1470 sender=96488CEA-CEE8-4DD8-AD91-6475B3A94A3E evolved=false evoTextLen=0 textLen=21
[11:47:05] [ROWS] 144: MESSAGE id=1469 sender=96488CEA-CEE8-4DD8-AD91-6475B3A94A3E evolved=false evoTextLen=0 textLen=9
[11:47:05] [ROWS] 145: MESSAGE id=1466 sender=96488CEA-CEE8-4DD8-AD91-6475B3A94A3E evolved=false evoTextLen=0 textLen=442
[11:47:05] [ROWS] 146: MESSAGE id=1465 sender=96488CEA-CEE8-4DD8-AD91-6475B3A94A3E evolved=false evoTextLen=0 textLen=12
[11:47:05] [ROWS] 147: MESSAGE id=1464 sender=96488CEA-CEE8-4DD8-AD91-6475B3A94A3E evolved=false evoTextLen=0 textLen=16
[11:47:05] [ROWS] 148: MESSAGE id=1463 sender=96488CEA-CEE8-4DD8-AD91-6475B3A94A3E evolved=false evoTextLen=0 textLen=25
[11:47:05] [ROWS] 149: MESSAGE id=1462 sender=96488CEA-CEE8-4DD8-AD91-6475B3A94A3E evolved=false evoTextLen=0 textLen=15
[11:47:05] [ROWS] 150: MESSAGE id=1452 sender=96488CEA-CEE8-4DD8-AD91-6475B3A94A3E evolved=false evoTextLen=0 textLen=19
[11:47:05] [ROWS] 151: MESSAGE id=1444 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:47:05] [ROWS] 152: MESSAGE id=1443 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=3
[11:47:05] [ROWS] 153: MESSAGE id=1442 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:47:05] [ROWS] 154: MESSAGE id=1441 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=5
[11:47:05] [ROWS] 155: MESSAGE id=1440 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:47:05] [ROWS] 156: MESSAGE id=1439 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=9
[11:47:05] [ROWS] 157: MESSAGE id=1438 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:47:05] [ROWS] 158: MESSAGE id=1437 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=13
[11:47:05] [ROWS] 159: MESSAGE id=1436 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:47:05] [ROWS] 160: MESSAGE id=1435 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=19
[11:47:05] [ROWS] 161: MESSAGE id=1434 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:47:05] [ROWS] 162: MESSAGE id=1433 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=20
[11:47:05] [ROWS] 163: MESSAGE id=1432 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:47:05] [ROWS] 164: MESSAGE id=1431 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=7
[11:47:05] [ROWS] 165: MESSAGE id=1430 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:47:05] [ROWS] 166: MESSAGE id=1429 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=1
[11:47:05] [ROWS] 167: MESSAGE id=1428 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:47:05] [ROWS] 168: MESSAGE id=1427 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=4
[11:47:05] [ROWS] 169: MESSAGE id=1426 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:47:05] [ROWS] 170: MESSAGE id=1425 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=1
[11:47:05] [ROWS] 171: MESSAGE id=1424 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:47:05] [ROWS] 172: MESSAGE id=1423 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=4
[11:47:05] [ROWS] 173: MESSAGE id=1422 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:47:05] [ROWS] 174: MESSAGE id=1421 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=9
[11:47:05] [ROWS] 175: MESSAGE id=1420 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=32
[11:47:05] [ROWS] 176: MESSAGE id=1419 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=12
[11:47:05] [ROWS] 177: MESSAGE id=1418 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=18
[11:47:05] [ROWS] 178: MESSAGE id=1417 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=9
[11:47:05] [ROWS] 179: MESSAGE id=1416 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=25
[11:47:05] [ROWS] 180: MESSAGE id=1415 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=1
[11:47:05] [ROWS] 181: MESSAGE id=1414 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:47:05] [ROWS] 182: MESSAGE id=1413 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=10
[11:47:05] [ROWS] 183: MESSAGE id=1412 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:47:05] [ROWS] 184: MESSAGE id=1411 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=6
[11:47:05] [ROWS] 185: MESSAGE id=1410 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=20
[11:47:05] [ROWS] 186: MESSAGE id=1409 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=42
[11:47:05] [ROWS] 187: MESSAGE id=1408 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=25
[11:47:05] [ROWS] 188: MESSAGE id=1407 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=3
[11:47:05] [ROWS] 189: MESSAGE id=1406 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:47:05] [ROWS] 190: MESSAGE id=1405 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=4
[11:47:05] [ROWS] 191: MESSAGE id=1404 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:47:05] [ROWS] 192: MESSAGE id=1403 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=18
[11:47:05] [ROWS] 193: MESSAGE id=1402 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:47:05] [ROWS] 194: MESSAGE id=1401 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=26
[11:47:05] [ROWS] 195: MESSAGE id=1400 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:47:05] [ROWS] 196: MESSAGE id=1399 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=10
[11:47:05] [ROWS] 197: MESSAGE id=1398 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:47:05] [ROWS] 198: MESSAGE id=1397 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=6
[11:47:05] [ROWS] 199: MESSAGE id=1396 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=23
[11:47:05] [ROWS] 200: MESSAGE id=1395 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=14
[11:47:05] [ROWS] 201: MESSAGE id=1394 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=18
[11:47:05] [ROWS] 202: MESSAGE id=1393 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=7
[11:47:05] [ROWS] 203: MESSAGE id=1392 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:47:05] [ROWS] 204: MESSAGE id=1391 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=9
[11:47:05] [ROWS] 205: MESSAGE id=1390 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:47:05] [ROWS] 206: MESSAGE id=1389 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=15
[11:47:05] [ROWS] 207: MESSAGE id=1388 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=17
[11:47:05] [ROWS] 208: MESSAGE id=1387 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=26
[11:47:05] [ROWS] 209: MESSAGE id=1386 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:05] [ROWS] 210: MESSAGE id=1385 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=13
[11:47:05] [ROWS] 211: MESSAGE id=1384 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:47:05] [ROWS] 212: MESSAGE id=1383 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=5
[11:47:05] [ROWS] 213: MESSAGE id=1382 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:47:05] [ROWS] 214: MESSAGE id=1381 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=8
[11:47:05] [ROWS] 215: MESSAGE id=1380 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=17
[11:47:05] [ROWS] 216: MESSAGE id=1379 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=7
[11:47:05] [ROWS] 217: MESSAGE id=1378 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=25
[11:47:05] [ROWS] 218: MESSAGE id=1377 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=14
[11:47:05] [ROWS] 219: MESSAGE id=1376 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:47:05] [ROWS] 220: MESSAGE id=1375 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=12
[11:47:05] [ROWS] 221: MESSAGE id=1374 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=37
[11:47:05] [ROWS] 222: MESSAGE id=1373 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=6
[11:47:05] [ROWS] 223: MESSAGE id=1372 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=20
[11:47:05] [ROWS] 224: MESSAGE id=1371 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=18
[11:47:05] [ROWS] 225: MESSAGE id=1370 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=16
[11:47:05] [ROWS] 226: MESSAGE id=1369 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=17
[11:47:05] [ROWS] 227: MESSAGE id=1368 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=20
[11:47:05] [ROWS] 228: MESSAGE id=1367 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=14
[11:47:05] [ROWS] 229: MESSAGE id=1366 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=19
[11:47:05] [ROWS] 230: MESSAGE id=1365 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=24
[11:47:05] [ROWS] 231: MESSAGE id=1364 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=26
[11:47:05] [ROWS] 232: MESSAGE id=1363 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=17
[11:47:05] [ROWS] 233: MESSAGE id=1362 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:47:05] [ROWS] 234: MESSAGE id=1361 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=4
[11:47:05] [ROWS] 235: MESSAGE id=1360 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:47:05] [ROWS] 236: MESSAGE id=1359 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=14
[11:47:05] [ROWS] 237: MESSAGE id=1358 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:47:05] [ROWS] 238: MESSAGE id=1357 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=12
[11:47:05] [ROWS] 239: MESSAGE id=1356 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:47:05] [ROWS] 240: MESSAGE id=1355 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=17
[11:47:05] [ROWS] 241: MESSAGE id=1354 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=4
[11:47:05] [ROWS] 242: MESSAGE id=1353 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=19
[11:47:05] [ROWS] 243: MESSAGE id=1352 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=23
[11:47:05] [ROWS] 244: MESSAGE id=1351 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:47:05] [ROWS] 245: MESSAGE id=1350 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=11
[11:47:05] [ROWS] 246: MESSAGE id=1349 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=19
[11:47:05] [ROWS] 247: MESSAGE id=1348 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=18
[11:47:05] [ROWS] 248: MESSAGE id=1347 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:47:05] [ROWS] 249: MESSAGE id=1346 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=12
[11:47:05] [ROWS] 250: MESSAGE id=1345 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:47:05] [ROWS] 251: MESSAGE id=1344 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=11
[11:47:05] [ROWS] 252: MESSAGE id=1343 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:47:05] [ROWS] 253: MESSAGE id=1342 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=14
[11:47:05] [ROWS] 254: MESSAGE id=1341 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=20
[11:47:05] [ROWS] 255: MESSAGE id=1340 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=24
[11:47:05] [ROWS] 256: MESSAGE id=1339 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:47:05] [ROWS] 257: MESSAGE id=1338 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=26
[11:47:05] [ROWS] 258: MESSAGE id=1337 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=17
[11:47:05] [ROWS] 259: MESSAGE id=1336 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=25
[11:47:05] [ROWS] 260: MESSAGE id=1335 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=21
[11:47:05] [ROWS] 261: MESSAGE id=1334 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=16
[11:47:05] [ROWS] 262: MESSAGE id=1333 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=17
[11:47:05] [ROWS] 263: MESSAGE id=1332 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=30
[11:47:05] [ROWS] 264: MESSAGE id=1331 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:05] [ROWS] 265: MESSAGE id=1330 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=7
[11:47:05] [ROWS] 266: MESSAGE id=1329 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:47:05] [ROWS] 267: MESSAGE id=1328 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=16
[11:47:05] [ROWS] 268: MESSAGE id=1327 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=20
[11:47:05] [ROWS] 269: MESSAGE id=1326 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=15
[11:47:05] [ROWS] 270: MESSAGE id=1325 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=18
[11:47:05] [ROWS] 271: MESSAGE id=1324 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=15
[11:47:05] [ROWS] 272: MESSAGE id=1323 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=16
[11:47:05] [ROWS] 273: MESSAGE id=1322 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=27
[11:47:05] [ROWS] 274: MESSAGE id=1321 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:47:05] [ROWS] 275: MESSAGE id=1320 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=14
[11:47:05] [ROWS] 276: MESSAGE id=1319 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=22
[11:47:05] [ROWS] 277: MESSAGE id=1318 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=8
[11:47:05] [ROWS] 278: MESSAGE id=1317 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=18
[11:47:05] [ROWS] 279: MESSAGE id=1316 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=21
[11:47:05] [ROWS] 280: MESSAGE id=1315 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=23
[11:47:05] [ROWS] 281: MESSAGE id=1314 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=21
[11:47:05] [ROWS] 282: MESSAGE id=1313 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=18
[11:47:05] [ROWS] 283: MESSAGE id=1312 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=28
[11:47:05] [ROWS] 284: MESSAGE id=1311 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=17
[11:47:05] [ROWS] 285: MESSAGE id=1310 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=23
[11:47:05] [ROWS] 286: MESSAGE id=1309 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=18
[11:47:05] [ROWS] 287: MESSAGE id=1308 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=14
[11:47:05] [ROWS] 288: MESSAGE id=1307 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=21
[11:47:05] [ROWS] 289: MESSAGE id=1306 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=22
[11:47:05] [ROWS] 290: MESSAGE id=1305 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:47:05] [ROWS] 291: MESSAGE id=1304 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=21
[11:47:05] [ROWS] 292: MESSAGE id=1303 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=26
[11:47:05] [ROWS] 293: MESSAGE id=1302 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=9
[11:47:05] [ROWS] 294: MESSAGE id=1301 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:47:05] [ROWS] 295: MESSAGE id=1300 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=30
[11:47:05] [ROWS] 296: MESSAGE id=1299 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:05] [ROWS] 297: MESSAGE id=1298 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=28
[11:47:05] [ROWS] 298: MESSAGE id=1297 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=25
[11:47:05] [ROWS] 299: MESSAGE id=1296 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=16
[11:47:05] [ROWS] 300: MESSAGE id=1295 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=17
[11:47:05] [ROWS] 301: MESSAGE id=1294 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=32
[11:47:05] [ROWS] 302: MESSAGE id=1293 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:47:05] [ROWS] 303: MESSAGE id=1292 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=32
[11:47:05] [ROWS] 304: MESSAGE id=1291 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=19
[11:47:05] [ROWS] 305: MESSAGE id=1290 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=34
[11:47:05] [ROWS] 306: MESSAGE id=1289 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=27
[11:47:05] [ROWS] 307: MESSAGE id=1288 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=25
[11:47:05] [ROWS] 308: MESSAGE id=1287 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:47:05] [ROWS] 309: MESSAGE id=1286 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=14
[11:47:05] [ROWS] 310: MESSAGE id=1285 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=27
[11:47:05] [ROWS] 311: MESSAGE id=1284 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=8
[11:47:05] [ROWS] 312: MESSAGE id=1283 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=32
[11:47:05] [ROWS] 313: MESSAGE id=1282 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=11
[11:47:05] [ROWS] 314: MESSAGE id=1281 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=39
[11:47:05] [ROWS] 315: MESSAGE id=1280 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=32
[11:47:05] [ROWS] 316: MESSAGE id=1279 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=34
[11:47:05] [ROWS] 317: MESSAGE id=1278 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=19
[11:47:05] [ROWS] 318: MESSAGE id=1277 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=16
[11:47:05] [ROWS] 319: MESSAGE id=1276 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=23
[11:47:05] [ROWS] 320: MESSAGE id=1275 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=36
[11:47:05] [ROWS] 321: MESSAGE id=1274 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=7
[11:47:05] [ROWS] 322: MESSAGE id=1273 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=32
[11:47:05] [ROWS] 323: MESSAGE id=1272 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=18
[11:47:05] [ROWS] 324: MESSAGE id=1271 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:47:05] [ROWS] 325: MESSAGE id=1270 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=32
[11:47:05] [ROWS] 326: MESSAGE id=1269 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=27
[11:47:05] [ROWS] 327: MESSAGE id=1268 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=16
[11:47:05] [ROWS] 328: MESSAGE id=1267 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=26
[11:47:05] [ROWS] 329: MESSAGE id=1266 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=28
[11:47:05] [ROWS] 330: MESSAGE id=1265 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:47:05] [ROWS] 331: MESSAGE id=1264 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=28
[11:47:05] [ROWS] 332: MESSAGE id=1263 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:47:05] [ROWS] 333: MESSAGE id=1262 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=24
[11:47:05] [ROWS] 334: MESSAGE id=1261 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=24
[11:47:05] [ROWS] 335: MESSAGE id=1260 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=41
[11:47:05] [ROWS] 336: MESSAGE id=1259 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=31
[11:47:05] [ROWS] 337: MESSAGE id=1258 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=20
[11:47:05] [ROWS] 338: MESSAGE id=1257 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=27
[11:47:05] [ROWS] 339: MESSAGE id=1256 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:47:05] [ROWS] 340: MESSAGE id=1255 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=33
[11:47:05] [ROWS] 341: MESSAGE id=1254 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=33
[11:47:05] [ROWS] 342: MESSAGE id=1253 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:47:05] [ROWS] 343: MESSAGE id=1252 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=18
[11:47:05] [ROWS] 344: MESSAGE id=1251 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=19
[11:47:05] [ROWS] 345: MESSAGE id=1250 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=30
[11:47:05] [ROWS] 346: MESSAGE id=1249 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:47:05] [ROWS] 347: MESSAGE id=1248 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=13
[11:47:05] [ROWS] 348: MESSAGE id=1247 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:47:05] [ROWS] 349: MESSAGE id=1246 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=26
[11:47:05] [ROWS] 350: MESSAGE id=1245 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=19
[11:47:05] [ROWS] 351: MESSAGE id=1244 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=23
[11:47:05] [ROWS] 352: MESSAGE id=1243 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=20
[11:47:05] [ROWS] 353: MESSAGE id=1242 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=20
[11:47:05] [ROWS] 354: MESSAGE id=1241 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=42
[11:47:05] [ROWS] 355: MESSAGE id=1240 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=13
[11:47:05] [ROWS] 356: MESSAGE id=1239 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:47:05] [ROWS] 357: MESSAGE id=1238 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=20
[11:47:05] [ROWS] 358: MESSAGE id=1237 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=19
[11:47:05] [ROWS] 359: MESSAGE id=1236 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=25
[11:47:05] [ROWS] 360: MESSAGE id=1235 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:47:05] [ROWS] 361: MESSAGE id=1234 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=19
[11:47:05] [ROWS] 362: MESSAGE id=1233 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:47:05] [ROWS] 363: MESSAGE id=1232 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=10
[11:47:05] [ROWS] 364: MESSAGE id=1231 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=16
[11:47:05] [ROWS] 365: MESSAGE id=1230 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=31
[11:47:05] [ROWS] 366: MESSAGE id=1229 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:47:05] [ROWS] 367: MESSAGE id=1228 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=25
[11:47:05] [ROWS] 368: MESSAGE id=1227 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:47:05] [ROWS] 369: MESSAGE id=1226 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=40
[11:47:05] [ROWS] 370: MESSAGE id=1225 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=25
[11:47:05] [ROWS] 371: MESSAGE id=1224 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=22
[11:47:05] [ROWS] 372: MESSAGE id=1223 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=18
[11:47:05] [ROWS] 373: MESSAGE id=1222 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=20
[11:47:05] [ROWS] 374: MESSAGE id=1221 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=26
[11:47:05] [ROWS] 375: MESSAGE id=1220 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=7
[11:47:05] [ROWS] 376: MESSAGE id=1219 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:47:05] [ROWS] 377: MESSAGE id=1218 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=31
[11:47:05] [ROWS] 378: MESSAGE id=1217 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=38
[11:47:05] [ROWS] 379: MESSAGE id=1216 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=26
[11:47:05] [ROWS] 380: MESSAGE id=1215 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=36
[11:47:05] [ROWS] 381: MESSAGE id=1214 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=25
[11:47:05] [ROWS] 382: MESSAGE id=1213 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:47:05] [ROWS] 383: MESSAGE id=1212 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=18
[11:47:05] [ROWS] 384: MESSAGE id=1211 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:47:05] [ROWS] 385: MESSAGE id=1210 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=35
[11:47:05] [ROWS] 386: MESSAGE id=1209 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=37
[11:47:05] [ROWS] 387: MESSAGE id=1208 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=7
[11:47:05] [ROWS] 388: MESSAGE id=1207 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=33
[11:47:05] [ROWS] 389: MESSAGE id=1206 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=21
[11:47:05] [ROWS] 390: MESSAGE id=1205 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=20
[11:47:05] [ROWS] 391: MESSAGE id=1204 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=17
[11:47:05] [ROWS] 392: MESSAGE id=1203 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=15
[11:47:05] [ROWS] 393: MESSAGE id=1202 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=21
[11:47:05] [ROWS] 394: MESSAGE id=1201 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:47:05] [ROWS] 395: MESSAGE id=1200 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=10
[11:47:05] [ROWS] 396: MESSAGE id=1199 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=20
[11:47:05] [ROWS] 397: MESSAGE id=1198 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=16
[11:47:05] [ROWS] 398: MESSAGE id=1197 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=22
[11:47:05] [ROWS] 399: MESSAGE id=1196 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=31
[11:47:05] [ROWS] 400: MESSAGE id=1195 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:47:05] [ROWS] 401: MESSAGE id=1194 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=32
[11:47:05] [ROWS] 402: MESSAGE id=1193 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=30
[11:47:05] [ROWS] 403: MESSAGE id=1192 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=25
[11:47:05] [ROWS] 404: MESSAGE id=1191 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=43
[11:47:05] [ROWS] 405: MESSAGE id=1190 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=10
[11:47:05] [ROWS] 406: MESSAGE id=1189 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=18
[11:47:05] [ROWS] 407: MESSAGE id=1188 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=40
[11:47:05] [ROWS] 408: MESSAGE id=1187 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=26
[11:47:05] [ROWS] 409: MESSAGE id=1186 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=39
[11:47:05] [ROWS] 410: MESSAGE id=1185 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:47:05] [ROWS] 411: MESSAGE id=1184 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=22
[11:47:05] [ROWS] 412: MESSAGE id=1183 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=25
[11:47:05] [ROWS] 413: MESSAGE id=1182 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=37
[11:47:05] [ROWS] 414: MESSAGE id=1181 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=29
[11:47:05] [ROWS] 415: MESSAGE id=1180 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=44
[11:47:05] [ROWS] 416: MESSAGE id=1179 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=28
[11:47:05] [ROWS] 417: MESSAGE id=1178 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=29
[11:47:05] [ROWS] 418: MESSAGE id=1177 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=44
[11:47:05] [ROWS] 419: MESSAGE id=1176 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=20
[11:47:05] [ROWS] 420: MESSAGE id=1175 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:47:05] [ROWS] 421: MESSAGE id=1174 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=33
[11:47:05] [ROWS] 422: MESSAGE id=1173 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=45
[11:47:05] [ROWS] 423: MESSAGE id=1172 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=23
[11:47:05] [ROWS] 424: MESSAGE id=1171 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=48
[11:47:05] [ROWS] 425: MESSAGE id=1170 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=20
[11:47:05] [ROWS] 426: MESSAGE id=1169 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=22
[11:47:05] [ROWS] 427: MESSAGE id=1168 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=28
[11:47:05] [ROWS] 428: MESSAGE id=1167 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=42
[11:47:05] [ROWS] 429: MESSAGE id=1166 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=26
[11:47:05] [ROWS] 430: MESSAGE id=1165 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:47:05] [ROWS] 431: SEPARATOR
[11:47:05] [ROWS] 432: MESSAGE id=1162 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:47:05] [ROWS] 433: MESSAGE id=1160 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=16
[11:47:05] [ROWS] 434: MESSAGE id=1159 sender=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF evolved=false evoTextLen=0 textLen=6
[11:47:05] [ROWS] 435: MESSAGE id=1158 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:05] [ROWS] 436: MESSAGE id=1157 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:05] [ROWS] 437: MESSAGE id=1156 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:47:05] [ROWS] 438: MESSAGE id=1155 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:47:05] [ROWS] 439: MESSAGE id=1154 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:47:05] [ROWS] 440: MESSAGE id=1153 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:47:05] [ROWS] 441: MESSAGE id=1152 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:47:05] [ROWS] 442: MESSAGE id=1151 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:47:05] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:47:05] [TAB_FILTER] πŸ“Š Reloading table with 443 rows
[11:47:05] [HEIGHT_DEBUG] Row 1 msg 1625: isPlayingEvolution=false, textLength=4, text='Lolo...'
[11:47:05] [EMOJI] βœ… Loaded 451 emoji-to-GIF mappings
[11:47:05] [HEIGHT] Row 1 msg 1625: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:47:05] DOWNLOADIIING 6864b3095b79fd0d.heic
[11:47:05] [HEIGHT] Row 2 msg 1624 MEDIA: CALC=335.0 (name=4.0, thumb=280.0, caption=0.0, showName=false)
[11:47:05] [HEIGHT_DEBUG] Row 1 msg 1625: isPlayingEvolution=false, textLength=4, text='Lolo...'
[11:47:05] [HEIGHT] Row 1 msg 1625: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:47:05] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:47:05] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:47:05] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:47:05] Already downloading 6864b3095b79fd0d.heic, skipping.
[11:47:05] [HEIGHT] Row 2 msg 1624 MEDIA: CALC=335.0 (name=4.0, thumb=280.0, caption=0.0, showName=false)
[11:47:05] Already downloading 6864b3095b79fd0d.heic, skipping.
[11:47:05] [CELL POSITION] Y=463.0 Height=90.0 Bottom=553.0 contentView.bounds=(0.0, 0.0, 440.0, 90.0) name=''
[11:47:05] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=79.66666666666667 bubbleBottom=83.66666666666667 cellHeight=90.0 remainingSpace=6.333333333333329
[11:47:05] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 12.0, 407.0, 38.333333333333336)
[11:47:05] [CELL POSITION] Y=553.0 Height=71.0 Bottom=624.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:47:05] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:47:05] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:47:05] [CELL POSITION] Y=624.0 Height=71.0 Bottom=695.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:47:05] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:47:05] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:47:05] [CELL POSITION] Y=695.0 Height=71.0 Bottom=766.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:47:05] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:47:05] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:47:05] [BADGES] Chat tab unread: 1, Slave tab unread: 0, current tab: 0
[11:47:05] [EVENT_POLL] Timer tick - polling for events and typing indicators
[11:47:05] Will get events_php
[11:47:05] [TYPING] πŸ”„ ========== POLL START ==========
[11:47:05] [TYPING] πŸ”„ Polling URL: http://crivello.dyndns.org:81/WebRTC/chat/get_typing.php?sessionId=ILUIWU2
[11:47:05] [TYPING] πŸ”„ sessionId: ILUIWU2, baseSessionId: ILUIWU2
[11:47:05] [TYPING] πŸ”„ myUserId: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:47:05] [TYPING] πŸ”„ Current typingUsers.count: 0
[11:47:05] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_id"): 1624, AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU2]
[11:47:05] [PUSH] Parsed message_id: 1624
[11:47:05] [PUSH] Parsed operation_type: 3
[11:47:05] [PUSH] Taking direct action: opType=3, messageId=1624
[11:47:05] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=1624
[11:47:05] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_id"): 1624, AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU2]
[11:47:05] [PUSH] Parsed message_id: 1624
[11:47:05] [PUSH] Parsed operation_type: 3
[11:47:05] [PUSH] Taking direct action: opType=3, messageId=1624
[11:47:05] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=1624
[11:47:05] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_id"): 1624, AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU2]
[11:47:05] [PUSH] Parsed message_id: 1624
[11:47:05] [PUSH] Parsed operation_type: 3
[11:47:05] [PUSH] Taking direct action: opType=3, messageId=1624
[11:47:05] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=1624
[11:47:05] percent loading:100.0%
[11:47:05] Download finished: file:///var/mobile/Containers/Data/Application/8BF2B2CD-D826-45C5-8339-E3D3B633A2B2/Documents/MediaCache/6864b3095b79fd0d.heic
[11:47:05] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_id"): 1624, AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU2]
[11:47:05] [PUSH] Parsed message_id: 1624
[11:47:05] [PUSH] Parsed operation_type: 3
[11:47:05] [PUSH] Taking direct action: opType=3, messageId=1624
[11:47:05] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=1624
[11:47:06] [INFO_PAGE] Fetching message count for session: 'ILUIWU2' (base: 'ILUIWU2')
[11:47:06] [INFO_PAGE] Found 440 messages for session 'ILUIWU2'
[11:47:06] [INFO_PAGE] Total messages in database: 1206
[11:47:06] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:47:06] [UNREAD_DEBUG]   FINAL msg[0] id=1623, readBy.count=1
[11:47:06] [UNREAD_DEBUG]   FINAL msg[1] id=1622, readBy.count=1
[11:47:06] [UNREAD_DEBUG]   FINAL msg[2] id=1621, readBy.count=1
[11:47:06] [FOREGROUND_REFRESH] Loaded 50 messages
[11:47:06] [EVOLUTION] πŸ” [FOREGROUND] Found 0 NEW unread messages (lastSeenMessageId=1625): []
[11:47:06] [FOREGROUND_REFRESH] About to call autoPlayEvolutionForUnreadMessageIds with 0 IDs: []
[11:47:06] [FOREGROUND_REFRESH] No unread messages to play evolution for - reloading table normally
[11:47:06] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:47:06] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:47:06] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:47:06] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=51 =====
[11:47:06] [ROWS] 0: SEPARATOR
[11:47:06] [ROWS] 1: MESSAGE id=1623 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:47:06] [ROWS] 2: MESSAGE id=1622 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:47:06] [ROWS] 3: MESSAGE id=1621 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:47:06] [ROWS] 4: MESSAGE id=1620 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:47:06] [ROWS] 5: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:47:06] [ROWS] 6: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:47:06] [ROWS] 7: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:06] [ROWS] 8: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:47:06] [ROWS] 9: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:47:06] [ROWS] 10: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:47:06] [ROWS] 11: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:47:06] [ROWS] 12: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:06] [ROWS] 13: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:47:06] [ROWS] 14: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:47:06] [ROWS] 15: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:47:06] [ROWS] 16: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:47:06] [ROWS] 17: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:06] [ROWS] 18: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:47:06] [ROWS] 19: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:47:06] [ROWS] 20: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:47:06] [ROWS] 21: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:47:06] [ROWS] 22: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:47:06] [ROWS] 23: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:47:06] [ROWS] 24: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:47:06] [ROWS] 25: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:47:06] [ROWS] 26: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:47:06] [ROWS] 27: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:47:06] [ROWS] 28: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:47:06] [ROWS] 29: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:47:06] [ROWS] 30: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:47:06] [ROWS] 31: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:47:06] [ROWS] 32: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:47:06] [ROWS] 33: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:47:06] [ROWS] 34: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:06] [ROWS] 35: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:47:06] [ROWS] 36: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:06] [ROWS] 37: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:47:06] [ROWS] 38: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:47:06] [ROWS] 39: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:47:06] [ROWS] 40: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:47:06] [ROWS] 41: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:47:06] [ROWS] 42: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:06] [ROWS] 43: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:47:06] [ROWS] 44: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:06] [ROWS] 45: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:47:06] [ROWS] 46: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:47:06] [ROWS] 47: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:06] [ROWS] 48: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:06] [ROWS] 49: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:47:06] [ROWS] 50: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:47:06] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:47:06] [TAB_FILTER] πŸ“Š Reloading table with 51 rows
[11:47:06] [HEIGHT_DEBUG] Row 1 msg 1623: isPlayingEvolution=false, textLength=1, text='2...'
[11:47:06] [HEIGHT] Row 1 msg 1623: CALC=115.0 (name=29.0, text=39.0, reply=0.0, showName=true)
[11:47:06] [HEIGHT_DEBUG] Row 2 msg 1622: isPlayingEvolution=false, textLength=6, text='Coucou...'
[11:47:06] [HEIGHT] Row 2 msg 1622: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:47:06] [HEIGHT_DEBUG] Row 1 msg 1623: isPlayingEvolution=false, textLength=1, text='2...'
[11:47:06] [HEIGHT] Row 1 msg 1623: CALC=115.0 (name=29.0, text=39.0, reply=0.0, showName=true)
[11:47:06] [CELL POSITION] Y=32.0 Height=115.0 Bottom=147.0 contentView.bounds=(0.0, 0.0, 440.0, 115.0) name='LOLOTEST'
[11:47:06] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=79.66666666666667 bubbleBottom=108.66666666666667 cellHeight=115.0 remainingSpace=6.333333333333329
[11:47:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 38.333333333333336)
[11:47:06] [HEIGHT_DEBUG] Row 2 msg 1622: isPlayingEvolution=false, textLength=6, text='Coucou...'
[11:47:06] [HEIGHT] Row 2 msg 1622: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:47:06] [CELL POSITION] Y=147.0 Height=71.0 Bottom=218.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:47:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:47:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:47:06] [CELL POSITION] Y=218.0 Height=71.0 Bottom=289.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:47:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:47:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:47:06] [CELL POSITION] Y=289.0 Height=71.0 Bottom=360.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:47:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:47:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:47:06] [CELL POSITION] Y=360.0 Height=71.0 Bottom=431.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:47:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:47:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:47:06] [CELL POSITION] Y=431.0 Height=71.0 Bottom=502.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:47:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:47:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:47:06] [CELL POSITION] Y=502.0 Height=71.0 Bottom=573.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:47:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:47:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:47:06] [CELL POSITION] Y=573.0 Height=71.0 Bottom=644.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:47:06] [TYPING] πŸ“₯ Polling response: HTTP 200
[11:47:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:47:06] [TYPING] πŸ“₯ Polling response body: {"status":"ok","sessionId":"ILUIWU2","typingUsers":[]}
[11:47:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:47:06] [TYPING] πŸ“₯ Parsed JSON: ["status": ok, "typingUsers": <__NSArray0 0x1f4477800>(

)
, "sessionId": ILUIWU2]
[11:47:06] [TYPING] πŸ“₯ Found 0 typing users in response
[11:47:06] [EVT] get_events.php HTTP 200
── Response Headers ──
Keep-Alive: timeout=5, max=98
X-Powered-By: PHP/8.4.14
Connection: Keep-Alive
Content-Type: application/json; charset=utf-8
Content-Length: 580
Date: Sun, 16 Nov 2025 10:47:06 GMT
Server: Apache/2.4.65 (Unix) PHP/8.4.14
── Body ──
{"ok":true,"session_id":"ILUIWU2","count":7,"events":[{"event_id":10736,"event_type":3,"message_id":1625,"session_id":"ILUIWU2"},{"event_id":10737,"event_type":3,"message_id":1625,"session_id":"ILUIWU2"},{"event_id":10738,"event_type":3,"message_id":1624,"session_id":"ILUIWU2"},{"event_id":10739,"event_type":3,"message_id":1623,"session_id":"ILUIWU2"},{"event_id":10740,"event_type":3,"message_id":1622,"session_id":"ILUIWU2"},{"event_id":10741,"event_type":3,"message_id":1621,"session_id":"ILUIWU2"},{"event_id":10742,"event_type":3,"message_id":1620,"session_id":"ILUIWU2"}]}
[11:47:06] Done
[11:47:06] [CELL POSITION] Y=644.0 Height=71.0 Bottom=715.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:47:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:47:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:47:06] [CELL POSITION] Y=715.0 Height=71.0 Bottom=786.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:47:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:47:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:47:06] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:47:06] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:47:06] [UNREAD_DEBUG]   FINAL msg[0] id=1623, readBy.count=1
[11:47:06] [UNREAD_DEBUG]   FINAL msg[1] id=1622, readBy.count=1
[11:47:06] [UNREAD_DEBUG]   FINAL msg[2] id=1621, readBy.count=1
[11:47:06] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:47:06] [UNREAD_DEBUG]   FINAL msg[0] id=1623, readBy.count=1
[11:47:06] [UNREAD_DEBUG]   FINAL msg[1] id=1622, readBy.count=1
[11:47:06] [UNREAD_DEBUG]   FINAL msg[2] id=1621, readBy.count=1
[11:47:06] [VIEWER_INIT] Loaded 50 messages with read receipts, hasMore: true
[11:47:06] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:47:06] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:47:06] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:47:06] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=51 =====
[11:47:06] [ROWS] 0: SEPARATOR
[11:47:06] [ROWS] 1: MESSAGE id=1623 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:47:06] [ROWS] 2: MESSAGE id=1622 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:47:06] [ROWS] 3: MESSAGE id=1621 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:47:06] [ROWS] 4: MESSAGE id=1620 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:47:06] [ROWS] 5: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:47:06] [ROWS] 6: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:47:06] [ROWS] 7: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:06] [ROWS] 8: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:47:06] [ROWS] 9: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:47:06] [ROWS] 10: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:47:06] [ROWS] 11: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:47:06] [ROWS] 12: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:06] [ROWS] 13: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:47:06] [ROWS] 14: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:47:06] [ROWS] 15: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:47:06] [ROWS] 16: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:47:06] [ROWS] 17: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:06] [ROWS] 18: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:47:06] [ROWS] 19: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:47:06] [ROWS] 20: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:47:06] [ROWS] 21: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:47:06] [ROWS] 22: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:47:06] [ROWS] 23: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:47:06] [ROWS] 24: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:47:06] [ROWS] 25: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:47:06] [ROWS] 26: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:47:06] [ROWS] 27: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:47:06] [ROWS] 28: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:47:06] [ROWS] 29: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:47:06] [ROWS] 30: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:47:06] [ROWS] 31: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:47:06] [ROWS] 32: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:47:06] [ROWS] 33: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:47:06] [ROWS] 34: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:06] [ROWS] 35: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:47:06] [ROWS] 36: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:06] [ROWS] 37: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:47:06] [ROWS] 38: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:47:06] [ROWS] 39: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:47:06] [ROWS] 40: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:47:06] [ROWS] 41: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:47:06] [ROWS] 42: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:06] [ROWS] 43: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:47:06] [ROWS] 44: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:06] [ROWS] 45: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:47:06] [ROWS] 46: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:47:06] [ROWS] 47: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:06] [ROWS] 48: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:06] [ROWS] 49: MESSAGE id=1575 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:47:06] [ROWS] 50: MESSAGE id=1574 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:47:06] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:47:06] [TAB_FILTER] πŸ“Š Reloading table with 51 rows
[11:47:06] [HEIGHT_DEBUG] Row 1 msg 1623: isPlayingEvolution=false, textLength=1, text='2...'
[11:47:06] [HEIGHT] Row 1 msg 1623: CALC=115.0 (name=29.0, text=39.0, reply=0.0, showName=true)
[11:47:06] [HEIGHT_DEBUG] Row 2 msg 1622: isPlayingEvolution=false, textLength=6, text='Coucou...'
[11:47:06] [HEIGHT] Row 2 msg 1622: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:47:06] [HEIGHT_DEBUG] Row 1 msg 1623: isPlayingEvolution=false, textLength=1, text='2...'
[11:47:06] [HEIGHT] Row 1 msg 1623: CALC=115.0 (name=29.0, text=39.0, reply=0.0, showName=true)
[11:47:06] [CELL POSITION] Y=32.0 Height=115.0 Bottom=147.0 contentView.bounds=(0.0, 0.0, 440.0, 115.0) name='LOLOTEST'
[11:47:06] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=79.66666666666667 bubbleBottom=108.66666666666667 cellHeight=115.0 remainingSpace=6.333333333333329
[11:47:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 12.0, 407.0, 38.333333333333336)
[11:47:06] [HEIGHT_DEBUG] Row 2 msg 1622: isPlayingEvolution=false, textLength=6, text='Coucou...'
[11:47:06] [HEIGHT] Row 2 msg 1622: CALC=71.0 (name=4.0, text=20.0, reply=0.0, showName=false)
[11:47:06] [CELL POSITION] Y=147.0 Height=71.0 Bottom=218.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:47:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:47:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:47:06] [CELL POSITION] Y=218.0 Height=71.0 Bottom=289.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:47:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:47:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:47:06] [CELL POSITION] Y=289.0 Height=71.0 Bottom=360.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:47:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:47:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:47:06] [CELL POSITION] Y=360.0 Height=71.0 Bottom=431.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:47:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:47:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:47:06] [CELL POSITION] Y=431.0 Height=71.0 Bottom=502.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:47:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:47:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:47:06] [CELL POSITION] Y=502.0 Height=71.0 Bottom=573.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:47:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:47:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:47:06] [CELL POSITION] Y=573.0 Height=71.0 Bottom=644.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:47:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:47:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:47:06] [CELL POSITION] Y=644.0 Height=71.0 Bottom=715.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:47:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:47:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:47:06] [CELL POSITION] Y=715.0 Height=71.0 Bottom=786.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:47:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:47:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:47:06] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:47:06] ReloadData 18 (viewer init with read receipts)
[11:47:06] [UNREAD_DEBUG] loadMessagesWithReactions - FINAL messages before completion, first 3:
[11:47:06] [UNREAD_DEBUG]   FINAL msg[0] id=1625, readBy.count=1
[11:47:06] [UNREAD_DEBUG]   FINAL msg[1] id=1624, readBy.count=0
[11:47:06] [UNREAD_DEBUG]   FINAL msg[2] id=1623, readBy.count=1
[11:47:06] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:47:06] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:47:06] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:47:06] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=51 =====
[11:47:06] [ROWS] 0: SEPARATOR
[11:47:06] [ROWS] 1: MESSAGE id=1625 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:47:06] [ROWS] 2: MESSAGE id=1624 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=0
[11:47:06] [ROWS] 3: MESSAGE id=1623 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:47:06] [ROWS] 4: MESSAGE id=1622 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:47:06] [ROWS] 5: MESSAGE id=1621 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:47:06] [ROWS] 6: MESSAGE id=1620 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:47:06] [ROWS] 7: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:47:06] [ROWS] 8: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:47:06] [ROWS] 9: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:06] [ROWS] 10: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:47:06] [ROWS] 11: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:47:06] [ROWS] 12: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:47:06] [ROWS] 13: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:47:06] [ROWS] 14: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:06] [ROWS] 15: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:47:06] [ROWS] 16: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:47:06] [ROWS] 17: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:47:06] [ROWS] 18: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:47:06] [ROWS] 19: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:06] [ROWS] 20: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:47:06] [ROWS] 21: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:47:06] [ROWS] 22: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:47:06] [ROWS] 23: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:47:06] [ROWS] 24: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:47:06] [ROWS] 25: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:47:06] [ROWS] 26: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:47:06] [ROWS] 27: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:47:06] [ROWS] 28: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:47:06] [ROWS] 29: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:47:06] [ROWS] 30: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:47:06] [ROWS] 31: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:47:06] [ROWS] 32: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:47:06] [ROWS] 33: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:47:06] [ROWS] 34: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:47:06] [ROWS] 35: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:47:06] [ROWS] 36: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:06] [ROWS] 37: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:47:06] [ROWS] 38: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:06] [ROWS] 39: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:47:06] [ROWS] 40: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:47:06] [ROWS] 41: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:47:06] [ROWS] 42: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:47:06] [ROWS] 43: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:47:06] [ROWS] 44: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:06] [ROWS] 45: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:47:06] [ROWS] 46: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:06] [ROWS] 47: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:47:06] [ROWS] 48: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:47:06] [ROWS] 49: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:06] [ROWS] 50: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:06] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:47:06] [TAB_FILTER] πŸ“Š Reloading table with 51 rows
[11:47:06] [HEIGHT_DEBUG] Row 1 msg 1625: isPlayingEvolution=false, textLength=4, text='Lolo...'
[11:47:06] [HEIGHT] Row 1 msg 1625: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:47:06] [MEDIA] Invalid local 6864b3095b79fd0d.heic found; deleting and re-downloading
[11:47:06] DOWNLOADIIING 6864b3095b79fd0d.heic
[11:47:06] [HEIGHT] Row 2 msg 1624 MEDIA: CALC=335.0 (name=4.0, thumb=280.0, caption=0.0, showName=false)
[11:47:06] [HEIGHT_DEBUG] Row 1 msg 1625: isPlayingEvolution=false, textLength=4, text='Lolo...'
[11:47:06] [HEIGHT] Row 1 msg 1625: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:47:06] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:47:06] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:47:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:47:06] Already downloading 6864b3095b79fd0d.heic, skipping.
[11:47:06] [HEIGHT] Row 2 msg 1624 MEDIA: CALC=335.0 (name=4.0, thumb=280.0, caption=0.0, showName=false)
[11:47:06] Already downloading 6864b3095b79fd0d.heic, skipping.
[11:47:06] [CELL POSITION] Y=463.0 Height=90.0 Bottom=553.0 contentView.bounds=(0.0, 0.0, 440.0, 90.0) name=''
[11:47:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=79.66666666666667 bubbleBottom=83.66666666666667 cellHeight=90.0 remainingSpace=6.333333333333329
[11:47:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 12.0, 407.0, 38.333333333333336)
[11:47:06] [CELL POSITION] Y=553.0 Height=71.0 Bottom=624.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:47:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:47:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:47:06] [CELL POSITION] Y=624.0 Height=71.0 Bottom=695.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:47:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:47:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:47:06] [CELL POSITION] Y=695.0 Height=71.0 Bottom=766.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:47:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:47:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:47:06] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:47:06] [INITIAL_LOAD] Loaded 50 messages (first page), displaying 50 for tab 0, hasMore: true
[11:47:06] ReloadData 1
[11:47:06] [PURGE] Deleted 0 unused media files:

[11:47:06] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:47:06] [TYPING] πŸ“₯ Updating typing users SET: []
[11:47:06] [TYPING] πŸ“₯ About to set self.typingUsers from [] to []
[11:47:06] [TYPING] πŸ“₯ After update, self.typingUsers = []
[11:47:06] [TYPING] πŸ”„ updateTypingIndicatorDisplay called - typingUsers.count=0, typingUsers=[]
[11:47:06] [TYPING] πŸ”„ typingIndicatorLabel exists: true
[11:47:06] [TYPING] πŸ”• Hidden typing indicator (no users typing)
[11:47:06] [TYPING] πŸ“₯ βœ… POLL RESULT: No users currently typing
[11:47:06] [TYPING] πŸ”„ ========== POLL END ==========
[11:47:06] [TAB_FILTER] πŸ” Reloading messages for tab 0
[11:47:06] [TAB_FILTER] πŸ”Ž Filtering from allMessagesWithReadBy (50 total) for tab 0, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[11:47:06] [TAB_FILTER] Tab 0 filter: viewerMode == 0
[11:47:06] [ROWS] ===== reloadMessagesForCurrentTab β€” chatRows.count=51 =====
[11:47:06] [ROWS] 0: SEPARATOR
[11:47:06] [ROWS] 1: MESSAGE id=1625 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:47:06] [ROWS] 2: MESSAGE id=1624 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=0
[11:47:06] [ROWS] 3: MESSAGE id=1623 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=1
[11:47:06] [ROWS] 4: MESSAGE id=1622 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:47:06] [ROWS] 5: MESSAGE id=1621 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:47:06] [ROWS] 6: MESSAGE id=1620 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:47:06] [ROWS] 7: MESSAGE id=1619 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:47:06] [ROWS] 8: MESSAGE id=1618 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:47:06] [ROWS] 9: MESSAGE id=1617 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:06] [ROWS] 10: MESSAGE id=1616 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=14
[11:47:06] [ROWS] 11: MESSAGE id=1615 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=50
[11:47:06] [ROWS] 12: MESSAGE id=1614 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:47:06] [ROWS] 13: MESSAGE id=1613 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:47:06] [ROWS] 14: MESSAGE id=1612 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:06] [ROWS] 15: MESSAGE id=1611 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:47:06] [ROWS] 16: MESSAGE id=1610 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:47:06] [ROWS] 17: MESSAGE id=1609 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=2
[11:47:06] [ROWS] 18: MESSAGE id=1608 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:47:06] [ROWS] 19: MESSAGE id=1607 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:06] [ROWS] 20: MESSAGE id=1606 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=11
[11:47:06] [ROWS] 21: MESSAGE id=1605 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:47:06] [ROWS] 22: MESSAGE id=1604 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:47:06] [ROWS] 23: MESSAGE id=1603 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=3
[11:47:06] [ROWS] 24: MESSAGE id=1602 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:47:06] [ROWS] 25: MESSAGE id=1601 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=8
[11:47:06] [ROWS] 26: MESSAGE id=1600 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:47:06] [ROWS] 27: MESSAGE id=1599 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:47:06] [ROWS] 28: MESSAGE id=1598 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:47:06] [ROWS] 29: MESSAGE id=1597 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:47:06] [ROWS] 30: MESSAGE id=1596 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:47:06] [ROWS] 31: MESSAGE id=1595 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=12
[11:47:06] [ROWS] 32: MESSAGE id=1594 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=10
[11:47:06] [ROWS] 33: MESSAGE id=1593 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:47:06] [ROWS] 34: MESSAGE id=1592 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:47:06] [ROWS] 35: MESSAGE id=1591 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:47:06] [ROWS] 36: MESSAGE id=1590 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:06] [ROWS] 37: MESSAGE id=1589 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=9
[11:47:06] [ROWS] 38: MESSAGE id=1588 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:06] [ROWS] 39: MESSAGE id=1587 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:47:06] [ROWS] 40: MESSAGE id=1586 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:47:06] [ROWS] 41: MESSAGE id=1585 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:47:06] [ROWS] 42: MESSAGE id=1584 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:47:06] [ROWS] 43: MESSAGE id=1583 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=6
[11:47:06] [ROWS] 44: MESSAGE id=1582 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:06] [ROWS] 45: MESSAGE id=1581 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=4
[11:47:06] [ROWS] 46: MESSAGE id=1580 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:06] [ROWS] 47: MESSAGE id=1579 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=7
[11:47:06] [ROWS] 48: MESSAGE id=1578 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=13
[11:47:06] [ROWS] 49: MESSAGE id=1577 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:06] [ROWS] 50: MESSAGE id=1576 sender=E2C9DBFA-49DE-4CA3-9DB5-916E1BF8ABCE evolved=false evoTextLen=0 textLen=5
[11:47:06] [ROWS] ===== END (reloadMessagesForCurrentTab) =====
[11:47:06] [TAB_FILTER] πŸ“Š Reloading table with 51 rows
[11:47:06] [HEIGHT_DEBUG] Row 1 msg 1625: isPlayingEvolution=false, textLength=4, text='Lolo...'
[11:47:06] [HEIGHT] Row 1 msg 1625: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:47:06] Already downloading 6864b3095b79fd0d.heic, skipping.
[11:47:06] [HEIGHT] Row 2 msg 1624 MEDIA: CALC=335.0 (name=4.0, thumb=280.0, caption=0.0, showName=false)
[11:47:06] [HEIGHT_DEBUG] Row 1 msg 1625: isPlayingEvolution=false, textLength=4, text='Lolo...'
[11:47:06] [HEIGHT] Row 1 msg 1625: CALC=96.0 (name=29.0, text=20.0, reply=0.0, showName=true)
[11:47:06] [CELL POSITION] Y=32.0 Height=96.0 Bottom=128.0 contentView.bounds=(0.0, 0.0, 440.0, 96.0) name='LOLOTEST'
[11:47:06] [CELL LAYOUT] bubbleY=29.0 bubbleHeight=60.666666666666664 bubbleBottom=89.66666666666666 cellHeight=96.0 remainingSpace=6.333333333333343
[11:47:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 17.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:47:06] Already downloading 6864b3095b79fd0d.heic, skipping.
[11:47:06] [HEIGHT] Row 2 msg 1624 MEDIA: CALC=335.0 (name=4.0, thumb=280.0, caption=0.0, showName=false)
[11:47:06] Already downloading 6864b3095b79fd0d.heic, skipping.
[11:47:06] [CELL POSITION] Y=463.0 Height=90.0 Bottom=553.0 contentView.bounds=(0.0, 0.0, 440.0, 90.0) name=''
[11:47:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=79.66666666666667 bubbleBottom=83.66666666666667 cellHeight=90.0 remainingSpace=6.333333333333329
[11:47:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 12.0, 407.0, 38.333333333333336)
[11:47:06] [CELL POSITION] Y=553.0 Height=71.0 Bottom=624.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:47:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:47:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:47:06] [CELL POSITION] Y=624.0 Height=71.0 Bottom=695.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:47:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:47:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:47:06] [CELL POSITION] Y=695.0 Height=71.0 Bottom=766.0 contentView.bounds=(0.0, 0.0, 440.0, 71.0) name=''
[11:47:06] [CELL LAYOUT] bubbleY=4.0 bubbleHeight=60.666666666666664 bubbleBottom=64.66666666666666 cellHeight=71.0 remainingSpace=6.333333333333343
[11:47:06] [CELL LAYOUT] senderNameLabel.frame=(5.0, 8.0, 423.0, 0.0) messageLabel.frame=(16.0, 11.999999999999998, 407.0, 19.333333333333332)
[11:47:06] [BADGES] Chat tab unread: 0, Slave tab unread: 0, current tab: 0
[11:47:06] [INIT_PAGINATION] Loaded 50 total messages, displaying 50 for tab 0
[11:47:06] [EVOLUTION_SEQ] πŸš€ FUNCTION CALLED with 0 message IDs: []
[11:47:06] [EVOLUTION_SEQ] πŸ“­ No unread message IDs provided for evolution playback
[11:47:06] [EVOLUTION_SEQ] πŸš€ FUNCTION CALLED with 1 message IDs: [1625]
[11:47:06] [EVOLUTION_SEQ] ⏱️ t=1763290026.909 πŸ“‹ Starting with 1 messages: [1625]

========== END viewer_debug.old.log ==========