Description
Browser history import fails for Chromium users who use non-default profiles (e.g., 'Profile 7' instead of 'Default').
Root Cause
In src/main/browser-search-history.ts, all Chromium-family browsers hardcode the history path to Default/History:
{ id: 'chrome', name: 'Google Chrome', dbPath: path.join(home, 'Library/Application Support/Google/Chrome/Default/History') },
If the user's Chrome profile is 'Profile 7', the actual history file is at Profile 7/History — but the code never looks there. The fileExists() check returns false, so the browser shows as unavailable in the import dropdown.
Impact
Affects all Chromium browsers (Chrome, Arc, Brave, Edge, Vivaldi) for any user with a non-default profile. This is a common setup for users who separate work/personal browsing.
Note
Firefox handles this correctly — it scans the Profiles/ directory. The same pattern should be applied to Chromium browsers.
The Local State file in each browser's data directory contains a profile.last_used field indicating the active profile, which can be used for detection.
Description
Browser history import fails for Chromium users who use non-default profiles (e.g., 'Profile 7' instead of 'Default').
Root Cause
In
src/main/browser-search-history.ts, all Chromium-family browsers hardcode the history path toDefault/History:If the user's Chrome profile is 'Profile 7', the actual history file is at
Profile 7/History— but the code never looks there. ThefileExists()check returns false, so the browser shows as unavailable in the import dropdown.Impact
Affects all Chromium browsers (Chrome, Arc, Brave, Edge, Vivaldi) for any user with a non-default profile. This is a common setup for users who separate work/personal browsing.
Note
Firefox handles this correctly — it scans the
Profiles/directory. The same pattern should be applied to Chromium browsers.The
Local Statefile in each browser's data directory contains aprofile.last_usedfield indicating the active profile, which can be used for detection.