aboutsummaryrefslogtreecommitdiffstats
path: root/packages/trpc (follow)
Commit message (Collapse)AuthorAgeFilesLines
* feat: Add bookmark sources statistics section (#2110)Mohamed Bassem2025-11-091-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * feat: add bookmark sources statistics to usage stats page Add a new section to the usage statistics page that displays stats about bookmark sources (mobile, extension, web, API, CLI, etc). Changes: - Add bookmarksBySource field to user stats response schema - Implement backend query to fetch bookmarks grouped by source - Add new "Bookmark Sources" card to stats page UI - Add helper function to format source names for display * refactor: use stricter enum type for bookmark sources in stats API Replace generic string type with zBookmarkSourceSchema enum for better type safety and autocomplete. This ensures the API contract matches the database schema definition. Changes: - Import and use zBookmarkSourceSchema in user stats response - Define BookmarkSource type alias in frontend - Update formatSourceName to use stricter type and return non-nullable - Remove fallback case since all enum values are now handled * refactor: use shared BookmarkSource type and add i18n support - Replace local BookmarkSource type with canonical type from shared package using z.infer<typeof zBookmarkSourceSchema> - Add translation support for "Bookmark Sources" title and empty state - Add bookmark_sources.title and bookmark_sources.empty keys to English locale file This ensures type consistency across the codebase and prepares for future localization of the bookmark sources feature. * fix icons --------- Co-authored-by: Claude <noreply@anthropic.com>
* tests: Fix failing testMohamed Bassem2025-11-081-12/+16
|
* feat: Add support for user uploaded files (#2100)Mohamed Bassem2025-11-084-4/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * feat: add user file upload support for bookmarks Add a new "user-uploaded" asset type that allows users to upload and attach their own files to bookmarks from the attachment box in the bookmark preview page. Changes: - Add USER_UPLOADED asset type to database schema - Add userUploaded to zAssetTypesSchema for type safety - Update attachment permissions to allow attaching/detaching user files - Add fileName field to asset schema for displaying custom filenames - Add "Upload File" button in AttachmentBox component - Display actual filename for user-uploaded files - Allow any file type for user uploads (respects existing upload limits) - Add Upload icon for user-uploaded files Fixes #1863 related asset attachment improvements * fix: ensure fileName is returned and remove edit button for user uploads - Fix attachAsset mutation to fetch and return complete asset with fileName instead of just returning the input (which lacks fileName) - Remove replace/edit button for user-uploaded files - users can only delete and re-upload instead - This ensures the filename displays correctly in the UI immediately after upload Fixes fileName propagation issue for user-uploaded assets * fix asset file name * remove filename from attach asset api --------- Co-authored-by: Claude <noreply@anthropic.com>
* feat(rss): Add import tags from RSS feed categories (#2031)Mohamed Bassem2025-11-021-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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: browser service connection check using dns instead. Fixes #2080Mohamed Bassem2025-11-021-6/+8
|
* refactor: generalize tidy assets queue into admin maintenance (#2059)Mohamed Bassem2025-10-262-16/+18
| | | | | * refactor: generalize admin maintenance queue * more fixes
* feat: Add source field to track bookmark creation sources (#2037)Mohamed Bassem2025-10-121-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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: Add service dependency checks in the server overview pageMohamed Bassem2025-10-121-0/+116
|
* feat: Revamp import experience (#2001)Mohamed Bassem2025-10-045-1/+448
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* feat: recursive list delete (#1989)Mohamed Bassem2025-09-283-11/+392
|
* feat: Add tag search and pagination (#1987)Mohamed Bassem2025-09-283-80/+702
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-50/+136
|
* refactor: Move callsites to liteque to be behind a pluginMohamed Bassem2025-09-1411-37/+37
|
* feat: Regen api keysMohamed Bassem2025-09-143-7/+100
|
* refactor: strongly type the search plugin interfaceMohamed Bassem2025-09-141-5/+6
|
* feat(search): add title search qualifier (#1940)Mohamed Bassem2025-09-132-1/+73
| | | | | | | * fix(search): include link titles in title matcher * docs(search): add title qualifier * docs: remove title qualifier from v0.27 guide
* fix: fix 5xx on invalid api keyMohamed Bassem2025-09-071-1/+5
|
* fix: fix tag flicker caused by tag sortingMohamed Bassem2025-09-072-4/+14
|
* refactor: Extract quota logic into its own classMohamed Bassem2025-09-063-79/+13
|
* refactor: Move highlights object into modelsMohamed Bassem2025-08-312-131/+188
|
* refactor: Move feed object into modelsMohamed Bassem2025-08-312-94/+134
|
* fix: Respect wal mode for the queue dbMohamed Bassem2025-08-301-1/+1
|
* feat: Support video uploads and attachments (#1847)Evan Sharp2025-08-221-1/+1
| | | | | | | | This commit allows the following mime types to be uploaded and attached as video assets on bookmarks. - video/mp4 - video/webm - video/x-matroska
* fix: Get rid of the userSetting table completelyMohamedBassem2025-08-031-27/+16
|
* refactor: Move webhook, users and tags into modelsMohamedBassem2025-08-0211-1118/+1600
|
* feat: Drop support for time bounded invitationsMohamedBassem2025-08-023-80/+24
|
* fix: Use prometheus histogram instead of summaryMohamedBassem2025-07-271-2/+5
|
* refactor: Extract meilisearch as a pluginMohamedBassem2025-07-273-11/+11
|
* chore: More turbo fixesMohamedBassem2025-07-271-2/+2
|
* fix: Fix package boundary violationsMohamedBassem2025-07-271-0/+1
|
* deps: Upgrade viteMohamed Bassem2025-07-261-1/+1
|
* fix: Drop legacy container noticeMohamed Bassem2025-07-261-3/+2
|
* deps: Upgrade trpcMohamed Bassem2025-07-261-1/+1
|
* fix: prometheus add karakeep prefix to metrics (#1780)Tobias2025-07-261-7/+7
| | | | | * add: prometheus karakeep prefix * readd: comments
* fix: Remove bcrypt from the api key validation routeMohamed Bassem2025-07-214-24/+566
|
* fix(test): Fix subscription.testMohamed Bassem2025-07-201-0/+1
|
* fix(stripe): Allow promotion codesMohamed Bassem2025-07-201-0/+1
|
* feat: Allow setting browserless crawling per userMohamed Bassem2025-07-192-1/+13
|
* Revert "fix: Fix the types of the bookmark types in the db query"Mohamed Bassem2025-07-131-3/+3
| | | | This reverts commit 4ba3e8047a5b1f160169617187436c09e91662ec.
* fix: Fix the types of the bookmark types in the db queryMohamed Bassem2025-07-131-3/+3
|
* feat: Add stripe based subscriptionsMohamed Bassem2025-07-135-0/+1313
|
* feat: Add delete account supportMohamed Bassem2025-07-131-1/+52
|
* fix: Drop auth failure loggerMohamed Bassem2025-07-132-32/+8
|
* fix: Add ratelimiting to bookmark recrawl and summarizationMohamed Bassem2025-07-121-1/+15
|
* deps: Upgrade drizzleMohamed Bassem2025-07-121-1/+1
|
* fix(tests): Fix missing mock in trpc testsMohamed Bassem2025-07-121-0/+3
|
* fix: Prioritize crawling user added links over bulk imports. fixes #1717Mohamed Bassem2025-07-123-23/+55
|
* refactor: Move db interactions into the trpc routesMohamed Bassem2025-07-124-33/+66
|
* feat: Support forget and reset passwordMohamed Bassem2025-07-123-45/+514
|
* feat: Add API ratelimitsMohamed Bassem2025-07-105-13/+166
|