Commit Graph

16 Commits

Author SHA1 Message Date
2994557fee feat: add scroll state restoration guard and debounced scroll handler to RantFeed component 2025-12-12 18:39:18 +00:00
87a5d8bb68 chore: replace static null stateKey with dynamic buildStateKey method in RantFeed 2025-12-12 18:32:38 +00:00
f76c44a7e6 feat: add scroll state persistence to RantFeed with per-page state keys
Implement saveScrollState, restoreScrollState, and clearScrollState methods in RantFeed component, storing anchor rant ID and scroll offset per page. Wire up initFeed calls in CollabsPage, HomePage, StoriesPage, WeeklyPage, and SearchPage to set unique state keys (feed_state_collabs, feed_state_home, etc.) enabling seamless scroll restoration on navigation back.
2025-12-12 18:26:17 +00:00
fefd47f703 feat: add external attribute support to image-preview for direct URL rendering
Introduce an 'external' attribute on the image-preview component to bypass the devrant image URL builder when the source is an external link. Update the component's observed attributes, rendering logic, and lightbox initialization to conditionally use the raw src URL. Modify rant-content to detect external images via the presence of links and pass the external flag accordingly.
2025-12-12 18:00:51 +00:00
d36937f743 feat: integrate structured link data into rant content rendering pipeline 2025-12-12 17:45:39 +00:00
29efd2b13a feat: add BlockService integration with filtered rants, comments, and notifications across UI components 2025-12-10 14:39:19 +00:00
01549c4e93 chore: remove entire caching layer and add logging to proxy endpoints 2025-12-08 03:55:58 +00:00
6956a757f2 chore: disable GET response caching and Cache-Control header in proxy_request handler 2025-12-08 03:53:13 +00:00
8adaffe9f3 feat: add CI workflow, Dockerfile, tests, and project scaffolding for proxy server 2025-12-07 23:14:40 +00:00
05c067c991 refactor: reorder path traversal check before normalization in proxy safety validation
Move the '..' detection to operate on the raw path string before normalization, ensuring path traversal attempts are caught even when normpath would collapse them. Also apply the same early check to api_parsed_url.path in proxy_request, preventing bypass via normalized path segments.
2025-12-07 23:12:52 +00:00
50933050b5 perf: add in-memory caching layer for API responses and remove debug console log in notification component 2025-12-07 22:18:28 +00:00
63b2ad8440 fix: resolve undefined name property access in notification display for user settings
The notification item component was incorrectly accessing `notif.username` directly instead of `notif.username.name`, causing undefined values to appear in the notification display when the username field contained an object with a `name` property. Added a console.info statement for debugging and corrected the property chain to properly extract the display name from nested object structures.
2025-12-07 22:11:46 +00:00
8e02a2d053 fix: resolve username mismatch in login by fetching profile for canonical name
- Add notifyAuthChange() call after successful token validation in setAuthFromToken
- Fetch user profile during login to obtain canonical username instead of using raw input
- Update both authData and currentUser objects with resolved username from profile API
- Handle profile fetch failure gracefully by falling back to provided username
2025-12-04 21:36:01 +00:00
17f001975f feat: route all external image urls through new server-side proxy with host allowlist 2025-12-04 19:44:39 +00:00
88673f6ea9 feat: add PWA install prompt handling and install button in settings page 2025-12-04 19:33:22 +00:00
4c04da32b0 chore: scaffold Rantii project with README, icons, CSS, and JS directory structure 2025-12-04 19:29:35 +00:00