From aa4f8f0d0b159355b6598a1ef206a26ab1d0d4ab Mon Sep 17 00:00:00 2001 From: Daniel Weindl Date: Mon, 29 Sep 2025 12:11:47 +0200 Subject: [PATCH] Fix recent files Ensure that `petab_gui.controllers.utils.RecentFilesManager.load_recent_files` always returns a list of strings. It seems there is some serialization issue for `list[str]` of length 1 (sometimes?!). Fixes #122. --- src/petab_gui/controllers/utils.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/petab_gui/controllers/utils.py b/src/petab_gui/controllers/utils.py index e5f1920..3af5af8 100644 --- a/src/petab_gui/controllers/utils.py +++ b/src/petab_gui/controllers/utils.py @@ -289,9 +289,14 @@ def add_file(self, file_path): self.update_tool_bar_menu() @staticmethod - def load_recent_files(): + def load_recent_files() -> list[str]: """Load recent files from settings.""" - return settings_manager.get_value("recent_files", []) + recent_files = settings_manager.get_value("recent_files", []) + # for reasons yet unknown, this can be a single string + # instead of a list at times + if isinstance(recent_files, list): + return recent_files + return [recent_files] def save_recent_files(self): """Save recent files to settings."""