We should do this as a quick fix and provide new scry endpoints to pull the catalog based on the last timestamp we have on the UI.
We could do a more fancy refactor, but this will allow optimized loading now.
See chat-db for scry examples.
Edit: also need delete-log scries to properly keep state in sync with the frontend SQLite tables.