Skip to content

Commit a5d6690

Browse files
committed
fix(logging): prevent progress updates from overwriting info messages
1 parent 5969c86 commit a5d6690

1 file changed

Lines changed: 15 additions & 13 deletions

File tree

modpack_debugger.py

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ def __init__(self):
8686
self.project_modified = False
8787
self.sync_thread = None
8888
self.sync_cancelled = False
89+
self.last_log_level = None
8990

9091
self.setup_ui()
9192
self.protocol("WM_DELETE_WINDOW", self.on_closing)
@@ -243,19 +244,20 @@ def setup_right_panel(self, parent):
243244
self.log_text.pack(fill="both", expand=True, padx=15, pady=(0, 15))
244245

245246
def log(self, message, level="INFO"):
246-
def _update_log_widget():
247-
if level == "PROGRESS":
248-
# Delete the previous progress line
249-
self.log_text.delete("end-2l", "end-1l")
250-
251-
timestamp = datetime.now().strftime("%H:%M:%S")
252-
prefix = {"INFO": "ℹ️", "SUCCESS": "✅", "ERROR": "❌", "WARNING": "⚠️", "PROGRESS": "⏳"}.get(level, "•")
253-
254-
self.log_text.insert("end", f"[{timestamp}] {prefix} {message}\n")
255-
self.log_text.see("end")
256-
257-
# Schedule the GUI update to run on the main thread
258-
self.after(0, _update_log_widget)
247+
def _update_log_widget():
248+
# Only delete the previous line if it was ALSO a progress message
249+
if level == "PROGRESS" and getattr(self, "last_log_level", None) == "PROGRESS":
250+
self.log_text.delete("end-2l", "end-1l")
251+
252+
timestamp = datetime.now().strftime("%H:%M:%S")
253+
prefix = {"INFO": "ℹ️", "SUCCESS": "✅", "ERROR": "❌", "WARNING": "⚠️", "PROGRESS": "⏳"}.get(level, "•")
254+
255+
self.log_text.insert("end", f"[{timestamp}] {prefix} {message}\n")
256+
self.log_text.see("end")
257+
self.last_log_level = level # Store the level for the next call
258+
259+
# Schedule the GUI update to run on the main thread
260+
self.after(0, _update_log_widget)
259261

260262
def toggle_theme(self):
261263
current = ctk.get_appearance_mode()

0 commit comments

Comments
 (0)