aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* fix: add authentication checks to settings layout (#2274)Mohamed Bassem2025-12-201-2/+24
| | | | | | | | | | | | | | | | | The settings layout was missing authentication checks, causing server errors when unauthenticated users tried to access any settings page. This fix adds: - Session verification via getServerAuthSession() - Redirect to "/" if no session exists - Proper error handling with tryCatch wrapper - Redirect to "/logout" for NOT_FOUND or UNAUTHORIZED errors This brings the settings layout in line with the auth patterns used in dashboard, admin, and reader layouts. Fixes #2242 Co-authored-by: Claude <noreply@anthropic.com>
* fix: only trigger search autocomplete on first search charMohamed Bassem2025-12-202-2/+9
|
* feat(landing): remove waitlist link. fixes #2270Mohamed Bassem2025-12-192-5/+5
|
* fix: don't fail the script if the user karakeep already exists. fixes #2242Mohamed Bassem2025-12-181-2/+6
|
* fix: collapse reader settings by defaultMohamed Bassem2025-12-181-186/+209
|
* docs: Add icons beside category namesMohamed Bassem2025-12-1811-13/+13
|
* Revert "fix: fix restate service to return control to restate service on ↵Mohamed Bassem2025-12-152-21/+1
| | | | | | timeout" This reverts commit 6db14ac492cd5d9e26d0d986513771f14faa7fd0.
* feat: Add unified reader settings with local overrides (#2230)Evan Simkowitz2025-12-1530-199/+4866
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add initial impl * fix some format inconsistencies, add indicator in user settings when local is out of sync * Fix sliders in user settings, unify constants and formatting * address CodeRabbit suggestions * add mobile implementation * address coderabbit nitpicks * fix responsiveness of the reader settings popover * Move more of the web UI strings to i18n * update translations for more coverage * remove duplicate logic/definitions * fix android font family * add shared reading setting hook between web and mobile * unify reader settings context for both web and mobile * remove unused export * address coderabbit suggestions * fix tests
* fix: fix restate service to return control to restate service on timeoutMohamed Bassem2025-12-152-1/+21
|
* fix: non-link bookmarks where stuck in pending summarization. Fixes #1605Mohamed Bassem2025-12-144-0/+2959
|
* fix: move trpc error logging inside the dev checkMohamed Bassem2025-12-141-1/+1
|
* fix: Fix Amazon product image extraction on amazon.com URLs (#2108)Randall Hand2025-12-142-0/+79
| | | | | | | | | | | | | | | | The metascraper-amazon package extracts the first .a-dynamic-image element, which on amazon.com is often the Prime logo instead of the product image. This works fine on amazon.co.uk where the product image appears first in the DOM. Created a custom metascraper plugin that uses more specific selectors (#landingImage, #imgTagWrapperId, #imageBlock) to target the actual product image. By placing this plugin before metascraperAmazon() in the chain, we fix image extraction while preserving all other Amazon metadata (title, brand, description). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude <noreply@anthropic.com>
* feat: use reddit API for metadata extraction. Fixes #1853 #1883Mohamed Bassem2025-12-134-33/+346
|
* fix: use GET requests for the content type requestMohamed Bassem2025-12-131-1/+1
|
* docs: fix sidebar on mobileMohamed Bassem2025-12-131-4/+2
|
* feat: Add limits on number of rss feeds and webhooks per userMohamed Bassem2025-12-136-4/+218
|
* release(cli): Bump CLI version to 0.29.1Mohamed Bassem2025-12-131-1/+1
|
* readme: some readme updatesMohamed Bassem2025-12-131-4/+12
|
* docs: Update screenshots in docsMohamed Bassem2025-12-137-5/+1
|
* docs: Adding user guidesMohamed Bassem2025-12-1320-11/+154
|
* docs: drop docs for old versionsMohamed Bassem2025-12-13342-22139/+1
|
* docs: restructure the docsMohamed Bassem2025-12-1338-31/+282
|
* docs: restyle the docsMohamed Bassem2025-12-132-64/+786
|
* ci: run CI with node 24Mohamed Bassem2025-12-131-1/+2
|
* deps: Upgrade to nodejs 24Mohamed Bassem2025-12-136-113/+125
|
* fix!: changing default for includeContent to be false in the APIMohamed Bassem2025-12-121-2/+1
|
* deps: Upgrade nextjs to 15.3.8Mohamed Bassem2025-12-122-22/+22
|
* deps: Upgrade nextjs to 15.3.7Mohamed Bassem2025-12-112-22/+22
|
* fix: add more indicies for faster bookmark queries (#2246)Mohamed Bassem2025-12-115-117/+3129
|
* feat: make asset preprocessing worker timeout configurableClaude2025-12-103-1/+4
| | | | | | - Added ASSET_PREPROCESSING_JOB_TIMEOUT_SEC environment variable with default of 60 seconds (increased from hardcoded 30 seconds) - Updated worker to use the configurable timeout from serverConfig - Added documentation for the new configuration option
* fix: Add cache control header on asset endpointsMohamed Bassem2025-12-101-0/+1
|
* chore: Allowing multi user benchmarks and adding more coverageMohamed Bassem2025-12-093-31/+157
|
* feat(cli): Add ability to list users for the admin in the CLIMohamed Bassem2025-12-082-0/+91
|
* fix: fix correctly accounting for text bookmark in import sessions. #2208Mohamed Bassem2025-12-082-16/+58
|
* fix: check import quota before importing bookmarks (#2232)Mohamed Bassem2025-12-083-3/+54
| | | | | | | | | | | | | | | | | | | | | | | * feat: check import quota before importing bookmarks Add quota validation before bookmark import to prevent users from exceeding their bookmark limits. The implementation includes: - New QuotaService.canImportBookmarks() method to check if user can import N bookmarks - New tRPC checkImportQuota procedure for client-side quota validation - Updated useBookmarkImport hook to parse files and check quota before import - Added error banner in ImportExport component to display quota errors - Optimized file parsing to avoid reading the file twice The quota check displays remaining bookmarks and provides clear error messages when the import would exceed the user's quota. * fix * some fixes --------- Co-authored-by: Claude <noreply@anthropic.com>
* build: fix typecheck error in query explainerMohamed Bassem2025-12-081-0/+10
|
* fix: migrate to metascraper-x from metascraper-twitterMohamed Bassem2025-12-083-297/+16
|
* feat: add is:broken search qualifier for broken links (#2225)Mohamed Bassem2025-12-087-0/+60
| | | | | | | | | | | | | | | | | | | | Add a new search qualifier `is:broken` that allows users to filter bookmarks with broken or failed links. This matches the functionality on the broken links settings page, where a link is considered broken if: - crawlStatus is "failure" - crawlStatusCode is less than 200 - crawlStatusCode is greater than 299 The qualifier supports negation with `-is:broken` to find working links. Changes: - Add brokenLinks matcher type definition - Update search query parser to handle is:broken qualifier - Implement query execution logic for broken links filtering - Add autocomplete support with translations - Add parser tests - Update search query language documentation Co-authored-by: Claude <noreply@anthropic.com>
* feat: spread feed fetch scheduling deterministically over the hour (#2227)Mohamed Bassem2025-12-081-0/+31
| | | | | | | | | | Previously, all RSS feeds were fetched at the top of each hour (minute 0), which could cause load spikes. This change spreads feed fetches evenly throughout the hour using a deterministic hash of the feed ID. Each feed is assigned a target minute (0-59) based on its ID hash, ensuring consistent scheduling across restarts while distributing the load evenly. Co-authored-by: Claude <noreply@anthropic.com>
* fix: better extraction for youtube thumbnails. #2204Mohamed Bassem2025-12-073-18/+241
|
* fix: remove queue triggers outside of updateTags transactionMohamed Bassem2025-12-071-15/+19
|
* chore: add benchmarks (#2229)Mohamed Bassem2025-12-0615-0/+789
| | | | | | | | | * chore: add benchmarks * upgrade deps * fixes * lint
* build: dont update latest tags on releaseMohamed Bassem2025-12-031-8/+19
|
* deps: Upgrade nextjs to 15.3.6Mohamed Bassem2025-12-032-55/+55
|
* feat: add a notification badge for list invitationsMohamed Bassem2025-11-302-0/+27
|
* docs: add karakeep integration for Home Assistant (#2196)Flo2025-11-301-0/+8
| | | | | | | | | | | | | | | | | | | * Update 13-community-projects.md Add Karakeep integration for Home Assistant * Update docs/docs/13-community-projects.md Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Update docs/docs/13-community-projects.md Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Update 13-community-projects.md --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* fix: regen turnstile token on signup resubmissionMohamed Bassem2025-11-301-1/+14
|
* feat(landing): Add more features to the homepageMohamed Bassem2025-11-301-8/+47
|
* ci: run arm docker image builds on arm machinesMohamed Bassem2025-11-301-3/+3
|
* ci: parallelize the docker workflow for platformsMohamed Bassem2025-11-301-23/+112
|