51f4770c23
feat: discoverability (NodeInfo, hashtags) and moderation (domain/actor blocking)
...
- NodeInfo at /.well-known/nodeinfo + /nodeinfo/2.0
- Hashtags #MoviesDiary + #MovieTitle on review posts; /tags/{tag} redirect
- Domain blocking: blocked_domains table, admin API + HTML, inbox enforcement
- Per-actor blocking: blocked_actors table, user API + HTML, BlockActivity send/receive
- Delivery filter excludes blocked actors and blocked-domain inboxes
2026-05-12 01:05:46 +02:00
5da979649b
feat: image storage generalization, user profile, and federation polish
...
- Replace PosterStorage with generic ImageStorage port (IMAGE_STORAGE_BACKEND/PATH env vars)
- Rename poster-storage crate to image-storage; serve at /images/{*key}
- Add bio and avatar_path to User model (migration 0009_user_profile)
- update_profile use case with avatar upload, mime validation, old avatar cleanup
- GET/PUT /api/v1/profile and GET/POST /settings/profile HTML page
- Enrich AP Person actor with summary, icon, url, discoverable fields
- Store remote actor avatar_url (migration 0010_ap_remote_actor_avatar)
- Shared inbox delivery via collect_inboxes deduplication
- Broadcast Update(Person) to followers on UserUpdated event
- Paginated outbox: OrderedCollection + OrderedCollectionPage with cursor
- Announce/boost tracking in ap_announces table (migration 0011_ap_announces)
2026-05-11 22:59:52 +02:00
3ba5d61d5b
movie detail page + importer architecture fix
2026-05-10 23:59:26 +02:00
63746ade50
importer feature
2026-05-10 21:23:56 +02:00
0d32de993b
feat: ux improvements
2026-05-10 00:41:43 +02:00
8d78babda0
feat: feed ux improvements
2026-05-10 00:16:29 +02:00
dda8b32e6a
export feature
2026-05-09 20:51:29 +02:00
c4b6d52196
federation improvements
2026-05-09 15:45:08 +02:00
0d3c2c937d
federation refinement
2026-05-09 13:53:45 +02:00
86909ecede
activity-pub implementation
2026-05-08 21:26:50 +02:00
377ee1d176
fix: windowed pagination — show 1…current±2…last instead of all pages
2026-05-08 13:47:34 +02:00
74fb893751
fix: profile delete redirect and open redirect via //
2026-05-08 13:33:59 +02:00
32b114cecd
fix: guard total_pages division in render_diary_page
2026-05-08 13:28:04 +02:00
bd571b3b51
feat: add page-number navigation to paginated views
2026-05-08 13:20:06 +02:00
cf74b06b4a
fix: use pixel bar heights and show avg rating values in trends chart
2026-05-04 21:22:47 +02:00
a4846f3bea
fix: pagination underflow, remove |safe, move bar_height_pct to adapter
2026-05-04 19:09:28 +02:00
27be840faa
fix: adjust domain accessors and template adapter for Askama compatibility
2026-05-04 19:03:48 +02:00
d700b85337
fix: correct relative_time future guard, heatmap exact match, max clarity
2026-05-04 18:57:17 +02:00
ffbab75910
feat: add Askama template structs for feed/users/profile
2026-05-04 18:55:18 +02:00
450468ef3d
feat(templates): add base layout, login, register, new_review templates; update diary
2026-05-04 13:30:33 +02:00
79a06e6844
presentation wiring
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-04 09:30:20 +02:00
6d9ac07dfc
refactor(template-askama): clean up comments and improve code readability
2026-05-04 02:05:13 +02:00
b6a7cf9417
feat(template-askama): add Askama template adapter for diary entries
2026-05-04 02:04:52 +02:00