aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* feat(rss): Add import tags from RSS feed categories (#2031)Mohamed Bassem2025-11-028-0/+2596
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * feat(feeds): Add import tags from RSS feed categories - Add importTags boolean field to rssFeedsTable schema (default: false) - Create database migration 0063_add_import_tags_to_feeds.sql - Update zod schemas (zFeedSchema, zNewFeedSchema, zUpdateFeedSchema) to include importTags - Update Feed model to handle importTags in create and update methods - Update feedWorker to: - Read title and categories from RSS parser - Attach categories as tags to bookmarks when importTags is enabled - Log warnings if tag attachment fails Resolves #1996 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Mohamed Bassem <MohamedBassem@users.noreply.github.com> * feat(web): Add importTags option to feed settings UI - Add importTags toggle to FeedsEditorDialog (create feed) - Add importTags toggle to EditFeedDialog (edit feed) - Display as a bordered switch control with descriptive text - Defaults to false for new feeds Co-authored-by: Mohamed Bassem <MohamedBassem@users.noreply.github.com> * fix migration * remove extra migration --------- Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com> Co-authored-by: Mohamed Bassem <MohamedBassem@users.noreply.github.com>
* fix: fix crash in search input when query contains a percent. fixes #1941Mohamed Bassem2025-11-021-1/+1
|
* feat: Add view options to show tag/title and control image fit. Fixes #1960Mohamed Bassem2025-11-026-29/+214
|
* refactor: improve the userLocalSetting server functionsMohamed Bassem2025-11-021-27/+14
|
* feat: Make search job timeout configurableMohamed Bassem2025-11-024-3/+8
|
* feat: display notes on bookmark card (#2083)xuatz2025-11-0213-25/+268
| | | | | | | | | | | | | | | | | | | | | | | | | * feat: display notes on bookmark card * apply styling * include mobile impl * apply pr comments * add display options menu into PR * put it under app setting * cleanup * address pr comments * change the default for show notes to false * make the in-card note font lighter --------- Co-authored-by: Mohamed Bassem <me@mbassem.com>
* fix: Stricter SSRF validation (#2082)Mohamed Bassem2025-11-0210-135/+602
| | | | | | | | | | | | | | | | | | | * fix: Stricter SSRF validation * skip dns resolution if running in proxy context * more fixes * Add LRU cache * change the env variable for internal hostnames * make dns resolution timeout configerable * upgrade ipaddr * handle ipv6 * handle proxy bypass for request interceptor
* fix: correctly handle composition in search input. fixes #2048Mohamed Bassem2025-11-021-1/+21
|
* fix: browser service connection check using dns instead. Fixes #2080Mohamed Bassem2025-11-021-6/+8
|
* fix: More memory optimizations for crawler worker. #1748Mohamed Bassem2025-10-261-26/+43
|
* fix: fix screenshot filepath in crawlerMohamed Bassem2025-10-261-1/+1
|
* docs: Add Azure configuration details for OpenAI-compatible API (#2072)Christoph Vollmann2025-10-261-0/+22
| | | | | | | | | | | * docs: Add Azure configuration details for OpenAI-compatible API * Update docs/docs/14-guides/05-different-ai-providers.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* fix: Respect abort signal in admin maintenance jobsMohamed Bassem2025-10-263-1/+11
|
* deps: Upgrade metascraper pluginsMohamed Bassem2025-10-262-132/+148
|
* deps: Upgrade metascraper-readability 5.49.6Mohamed Bassem2025-10-262-33/+434
|
* feat: Allow configuring inline asset size thresholdMohamed Bassem2025-10-265-31/+32
|
* feat: Add admin maintenance job to migrate large inline HTML (#2071)Mohamed Bassem2025-10-268-4/+218
| | | | | | | * Add admin maintenance job to migrate large inline HTML * add cursor * more fixes
* fix(inferance): skip token slicing when content is already witin max lengthMohamed Bassem2025-10-261-0/+3
|
* refactor: generalize tidy assets queue into admin maintenance (#2059)Mohamed Bassem2025-10-2610-159/+227
| | | | | * refactor: generalize admin maintenance queue * more fixes
* fix: update OpenAI API to use max_completion_tokens instead of max_tokens ↵Benjamin Michaelis2025-10-253-2/+9
| | | | | | | | | | (#2000) * fix: update OpenAI API to use max_completion_tokens instead of max_tokens The OpenAI API has deprecated max_tokens in favor of max_completion_tokens for newer models. This change updates both text and image model calls. * feat: add support for max_completion_tokens in OpenAI inference configuration
* fix(restate): Fix priority for restate queueMohamed Bassem2025-10-202-7/+8
|
* fix(restate): Ensure that the semaphore and idProvider services are ingress ↵Mohamed Bassem2025-10-192-0/+6
| | | | private
* feat: Add source field to track bookmark creation sources (#2037)Mohamed Bassem2025-10-1216-12/+2650
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * feat: Add source field to track bookmark creation sources Add a new 'source' field to the bookmarks table to track where bookmarks were created from. Possible values: api, web, cli, mobile, singlefile, rss. Changes: - Add source field to bookmarks table schema - Update Zod schemas to include source field - Update tRPC createBookmark procedure to store source - Update all callsites to pass appropriate source value: - api: Default to "api" if not provided - singlefile: Set to "singlefile" - rss: Set to "rss" in feedWorker - cli: Set to "cli" - mobile: Set to "mobile" in all mobile app bookmark creation - browser-extension: Set to "web" - web: Set to "web" in all web app bookmark creation - Create migration file for database schema change Fixes #2036 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Mohamed Bassem <MohamedBassem@users.noreply.github.com> * feat: Add extension source type for browser extension - Add 'extension' to bookmark source enum - Update browser extension to use 'extension' instead of 'web' Co-authored-by: Mohamed Bassem <MohamedBassem@users.noreply.github.com> * fix CI * fix CI * fix the migration file * add import source * make source nullish --------- Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com> Co-authored-by: Mohamed Bassem <MohamedBassem@users.noreply.github.com>
* feat: support passing multiple proxy values (#2039)Mohamed Bassem2025-10-124-36/+60
| | | | | | | * feat: support passing multiple proxy values * fix typo * trim and filter
* deps: Upgrade oxlint to 1.22Mohamed Bassem2025-10-122-200/+221
|
* feat: Add service dependency checks in the server overview pageMohamed Bassem2025-10-126-13/+315
|
* fix(web): Add w-full to tags editor to prevent unusable narrow width (#2035)Mohamed Bassem2025-10-121-1/+1
| | | | | | | | | | | | | | | | | | | * fix(web): Add min-width to tags editor to prevent unusable narrow width When there are no tags, the tags editor input was shrinking to just 1 character width, making the entire component unusably narrow. This adds a min-w-64 (256px) class to ensure the input field is always at a usable width. Fixes #2033 Co-authored-by: Mohamed Bassem <MohamedBassem@users.noreply.github.com> * fix --------- Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com> Co-authored-by: Mohamed Bassem <MohamedBassem@users.noreply.github.com>
* fix(api): Return 200 when bookmark already exists instead of 200Mohamed Bassem2025-10-114-4/+31
|
* tests: Add a test for the GET /bookmarks/bookmarkId/lists apiMohamed Bassem2025-10-111-0/+48
|
* fix(api): Document the API for getting lists of a bookmark. fixes #2030Mohamed Bassem2025-10-118-108/+268
|
* feat: make list dropdown searchable in Manage Lists modal (#2029)Mohamed Bassem2025-10-111-30/+75
| | | | | | | | | | | | | | | - Replace simple Select component with searchable Command/Popover component - Add search input that filters lists as you type (like tags) - Maintain sidebar ordering using allPaths - Add visual checkmark for selected list - Improve UX with keyboard navigation and accessibility Fixes #2025 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com> Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: Mohamed Bassem <MohamedBassem@users.noreply.github.com>
* fix: fix dev script shebang for better compatibility (#2019)maya doshi2025-10-111-1/+1
|
* fix: Correct grammatical errors in prompts (#2020)atsggx2025-10-111-2/+2
| | | Corrected "who's" to "whose" in buildImagePrompt and buildTextPrompt.
* docs: Add karakeep-sync to community projects (#1994)Siddharth Doshi2025-10-111-0/+7
| | | Added a new community project for syncing links from Hacker News and Reddit to Karakeep.
* fix: round feed refresh hour for idempotency (#2013)Mohamed Bassem2025-10-061-1/+6
|
* fix: fix show no bookmark page when there isn't search resultsMohamed Bassem2025-10-051-4/+5
|
* fix: Disable idempotency keys for searchMohamed Bassem2025-10-051-1/+2
|
* feat: Restate-based queue plugin (#2011)Mohamed Bassem2025-10-0524-13/+1049
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * WIP: Initial restate integration * add retry * add delay + idempotency * implement concurrency limits * add admin stats * add todos * add id provider * handle onComplete failures * add tests * add pub key and fix logging * add priorities * fail call after retries * more fixes * fix retries left * some refactoring * fix package.json * upgrade sdk * some test cleanups
* feat: Revamp import experience (#2001)Mohamed Bassem2025-10-0421-37/+3618
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * WIP: import v2 * remove new session button * don't redirect after import * store and lint to root list * models + tests * redesign the progress * simplify the import session for ow * drop status from session schema * split the import session page * i18n * fix test * remove pagination * fix some colors in darkmode * one last fix * add privacy filter * privacy check * fix interactivity of import progress * fix test
* docs: Add doc updates for prometheus metrics (#1957)Clayton O'Neill2025-09-281-1/+2
| | | | This adds documentation for `WORKERS_HOST` and clarifies token requirements for `PROMETHEUS_AUTH_TOKEN`.
* fix: fix public list sharing for empty lists (#1990)Mohamed Bassem2025-09-281-3/+4
|
* feat: recursive list delete (#1989)Mohamed Bassem2025-09-285-16/+437
|
* feat: use jpegs for screenshots instead of pngsMohamed Bassem2025-09-281-2/+3
|
* feat: Stop downloading video/audio in playwrightMohamed Bassem2025-09-281-0/+19
|
* fix: Abort dangling processing when crawler is aborted (#1988)Mohamed Bassem2025-09-281-27/+98
| | | | | | | | | | | * fix: Abort dangling processing when crawler is aborted * comments * report the size * handle unhandleded rejection * drop promisify
* fix: Cleanup temp assets on monolith timeoutMohamed Bassem2025-09-281-1/+17
|
* chore: Silence lint on <a> and <img> tags when it's intentionalMohamed Bassem2025-09-283-0/+6
|
* fix: dont re-enqueue indexing for a bookmark already pending indexingMohamed Bassem2025-09-281-2/+5
|
* feat: Add tag search and pagination (#1987)Mohamed Bassem2025-09-2832-493/+1731
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * feat: Add tag search and use in the homepage * use paginated query in the all tags view * wire the load more buttons * add skeleton to all tags page * fix attachedby aggregation * fix loading states * fix hasNextPage * use action buttons for load more buttons * migrate the tags auto complete to the search api * Migrate the tags editor to the new search API * Replace tag merging dialog with tag auto completion * Merge both search and list APIs * fix tags.list * add some tests for the endpoint * add relevance based sorting * change cursor * update the REST API * fix review comments * more fixes * fix lockfile * i18n * fix visible tags
* fix: optimize memory usage of tag listingMohamed Bassem2025-09-212-51/+137
|