pub fn read_bookmarks(path: &Path) -> Result<Vec<BrowserBookmark>, String>Expand description
Read the bookmarks list. A missing file is “no bookmarks yet”, not an error — every fresh install/environment starts here. A present-but- unparseable file IS an error: silently resetting to an empty list would look exactly like the user’s saved bookmarks vanished, so this fails loud instead (matches this codebase’s general preference for warning over silent data loss, e.g. the ABF import path’s warning-budget conventions).