klipper: port to SQLite
Reason for the change
This allows saving more formats in the database. In theory, the memory consumption should be lower when there are many images.
The database now depends on SQLite and there are 3 tables in the database.
- main: stores data used by the frontend
- aux: stores mime type and data index
- version: stores the database version, used in the future when the table changes.
-
Fix tests -
Use local paths for images -
Limit the data size a clip can store -
Test migration -
vaccum
Test plan
Pass all clipboard tests
Screenshots or screen recordings
Bugs fixed
BUG: 491961 FIXED-IN: 6.3
Closes #67
Alternative to !4636
Edited by Fushan Wen