with open("src/app_controller.py", "r", encoding="utf-8", newline="") as f: content = f.read() # Fix show_track_proposal handler to debug and handle properly old = """elif action == "show_track_proposal": self.proposed_tracks = task.get("payload", []) self._show_track_proposal_modal = True""" new = """elif action == "show_track_proposal": # Handle both nested payload and direct list raw_payload = task.get("payload") sys.stderr.write(f"[DEBUG] show_track_proposal: raw_payload type={type(raw_payload)}, task={task}\\n") sys.stderr.flush() if isinstance(raw_payload, list): self.proposed_tracks = raw_payload elif isinstance(raw_payload, dict) and "tracks" in raw_payload: self.proposed_tracks = raw_payload.get("tracks", []) else: self.proposed_tracks = [] sys.stderr.write(f"[DEBUG] show_track_proposal: final proposed_tracks={self.proposed_tracks}\\n") sys.stderr.flush() self._show_track_proposal_modal = True""" content = content.replace(old, new) with open("src/app_controller.py", "w", encoding="utf-8", newline="") as f: f.write(content) print("Fixed show_track_proposal handler")