Skip to content

refactor: store profiles as individual JSON files instead of SQLite#642

Merged
manuelmayer-dev merged 2 commits into
mainfrom
claude/exciting-dirac-928aw7
Jun 11, 2026
Merged

refactor: store profiles as individual JSON files instead of SQLite#642
manuelmayer-dev merged 2 commits into
mainfrom
claude/exciting-dirac-928aw7

Conversation

@manuelmayer-dev

Copy link
Copy Markdown
Member

Each profile is now saved as .json in a profiles/ directory instead of being stored as JSON strings inside a SQLite database.

  • Adds ProfilesDirectoryPath, keeps ProfilesLegacyFilePath for migration
  • One-time migration reads profiles.db on startup if profiles/ is empty, writes each profile atomically and renames profiles.db to profiles.db.migrated
  • Save() uses write-to-.tmp + File.Move for atomic, corruption-safe writes
  • lock(_saveLock) ensures single-threaded file access
  • Backup/restore updated to treat profiles/ as a directory (like plugins)

https://claude.ai/code/session_01LMB8V86n2eknGVx9fMwNsZ

claude and others added 2 commits June 9, 2026 07:49
Each profile is now saved as <ProfileId>.json in a profiles/ directory
instead of being stored as JSON strings inside a SQLite database.

- Adds ProfilesDirectoryPath, keeps ProfilesLegacyFilePath for migration
- One-time migration reads profiles.db on startup if profiles/ is empty,
  writes each profile atomically and renames profiles.db to profiles.db.migrated
- Save() uses write-to-.tmp + File.Move for atomic, corruption-safe writes
- lock(_saveLock) ensures single-threaded file access
- Backup/restore updated to treat profiles/ as a directory (like plugins)

https://claude.ai/code/session_01LMB8V86n2eknGVx9fMwNsZ
@manuelmayer-dev manuelmayer-dev merged commit e6c78db into main Jun 11, 2026
1 check passed
@manuelmayer-dev manuelmayer-dev deleted the claude/exciting-dirac-928aw7 branch June 11, 2026 19:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants