mirror of
https://github.com/lfnovo/open-notebook.git
synced 2026-08-31 18:44:18 +00:00
* feat: Recently Viewed section for notebooks and sources Fixes #850 * fix: export RecentlyViewedResponse type from api types The RecentlyViewed component and notebooks API client import RecentlyViewedResponse from @/lib/types/api but the interface was missing, failing the type-check build. Add it to match the backend api/models.py model. * fix: harden recently-viewed read path and index the recency query Three robustness fixes on the recently-viewed feature: - Make the last_viewed_at write-on-read stamping best-effort. _stamp_source_view and _stamp_notebook_view now swallow and log their own errors, so a failed stamp update can no longer turn a successful GET /sources/{id} or GET /notebooks/{id} into a 500. - Stop leaking internal details from GET /recently-viewed: log the full exception server-side and return a generic error message to the client. - Add indexes on last_viewed_at for the notebook and source tables in migration 16 so the ORDER BY last_viewed_at DESC LIMIT recently-viewed query does not degrade into a full table scan as data grows. The down migration removes the indexes before dropping the field. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * feat: register migration 18, add recently-viewed i18n keys and CHANGELOG entry --------- Co-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com> Co-authored-by: Luis Novo <lfnovo@gmail.com> |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| auth.py | ||
| chat.py | ||
| commands.py | ||
| config.py | ||
| context.py | ||
| credentials.py | ||
| embedding.py | ||
| embedding_rebuild.py | ||
| episode_profiles.py | ||
| insights.py | ||
| languages.py | ||
| models.py | ||
| notebooks.py | ||
| notes.py | ||
| podcasts.py | ||
| search.py | ||
| settings.py | ||
| source_chat.py | ||
| sources.py | ||
| speaker_profiles.py | ||
| transformations.py | ||