Files
Kiwy-Signage/playlists/server_playlist.json
Kiwy Player a825d299bf CRITICAL FIX: Use Clock.schedule_once for thread-safe player state updates
BUG: Background upload thread was crashing the app

Problem:
  - _upload_to_server() runs in daemon thread
  - Was directly setting self.player.should_refresh_playlist from thread
  - Kivy is NOT thread-safe for direct state modifications
  - App crashed after 2-3 minutes during editing

Root cause:
  Line 503: self.player.should_refresh_playlist = True
  This directly modified Kivy object state from non-main thread
  Caused race conditions and memory corruption

Solution:
  - Use Clock.schedule_once() to schedule flag update on main thread
  - Ensures all Kivy state modifications happen on main thread
  - Thread-safe and proper Kivy API usage
  - No more app crashes during editing

This was causing the app to crash every 10-20 seconds during edits.
Should now be stable!
2026-01-17 22:05:56 +02:00

27 lines
581 B
JSON

{
"count": 3,
"player_id": 1,
"player_name": "TVacasa",
"playlist": [
{
"file_name": "2026efvev-1428673176.jpg",
"url": "media/2026efvev-1428673176.jpg",
"duration": 50,
"edit_on_player": true
},
{
"file_name": "4k1.jpg",
"url": "media/4k1.jpg",
"duration": 30,
"edit_on_player": true
},
{
"file_name": "1416529-hd_1920_1080_30fps.mp4",
"url": "media/1416529-hd_1920_1080_30fps.mp4",
"duration": 13,
"edit_on_player": false
}
],
"playlist_id": 1,
"playlist_version": 34
}