aboutsummaryrefslogtreecommitdiffstats
path: root/apps/web (follow)
Commit message (Collapse)AuthorAgeFilesLines
* feat: Add what's new modal in the sidebar (#2099)Mohamed Bassem2025-11-083-13/+262
| | | | | | | * Refactor sidebar release modal to use React Query * fixes * fix manual server override
* feat: Add support for user uploaded files (#2100)Mohamed Bassem2025-11-082-26/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* fix: restore image size in grid layoutMohamed Bassem2025-11-031-2/+2
|
* deps: Upgrade react-query to 5.90MohamedBassem2025-11-021-2/+2
|
* feat: Support inline toggling for todos. fixes #1931 (#1933)Cédric2025-11-023-1/+85
| | | | | | | | | | | | * [1931] Can now chain the creation of todos from the quick add form * [1931] Can now toggle todos from the masonry view + added a custom renderer for inputs of type checkbox (required to remove the readonly default attribute) * handle nested lists and case --------- Co-authored-by: Cédric <cedric.marinot@elosi.com> Co-authored-by: Mohamed Bassem <me@mbassem.com>
* feat(rss): Add import tags from RSS feed categories (#2031)Mohamed Bassem2025-11-021-0/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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: display notes on bookmark card (#2083)xuatz2025-11-028-23/+158
| | | | | | | | | | | | | | | | | | | | | | | | | * 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: correctly handle composition in search input. fixes #2048Mohamed Bassem2025-11-021-1/+21
|
* feat: Add admin maintenance job to migrate large inline HTML (#2071)Mohamed Bassem2025-10-263-0/+11
| | | | | | | * Add admin maintenance job to migrate large inline HTML * add cursor * more fixes
* refactor: generalize tidy assets queue into admin maintenance (#2059)Mohamed Bassem2025-10-262-24/+35
| | | | | * refactor: generalize admin maintenance queue * more fixes
* feat: Add source field to track bookmark creation sources (#2037)Mohamed Bassem2025-10-122-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-124-13/+191
|
* 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>
* 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 show no bookmark page when there isn't search resultsMohamed Bassem2025-10-051-4/+5
|
* feat: Revamp import experience (#2001)Mohamed Bassem2025-10-047-18/+455
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* fix: fix public list sharing for empty lists (#1990)Mohamed Bassem2025-09-281-3/+4
|
* feat: recursive list delete (#1989)Mohamed Bassem2025-09-282-5/+45
|
* chore: Silence lint on <a> and <img> tags when it's intentionalMohamed Bassem2025-09-283-0/+6
|
* feat: Add tag search and pagination (#1987)Mohamed Bassem2025-09-2811-378/+693
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* feat: Regen api keysMohamed Bassem2025-09-145-22/+159
|
* fix(web): Handle user deletion more gracefullyMohamed Bassem2025-09-141-4/+22
|
* feat: A better looking catch all error boundaryMohamed Bassem2025-09-141-2/+39
|
* fix(web): fix error when attempting to merge tags. fixes #1938Mohamed Bassem2025-09-142-2/+5
|
* feat: Add Create Tag button to tags page (#1942)Mohamed Bassem2025-09-143-1/+156
| | | | | | | | | | | | | | | | | | | | | * feat: add Create Tag button to tags page - Added useCreateTag hook to shared-react/hooks/tags.ts - Created CreateTagModal component for tag creation without bookmark attachment - Added Create Tag button to AllTagsView component - Added necessary translation keys for the new feature Fixes #1937 Co-authored-by: Mohamed Bassem <MohamedBassem@users.noreply.github.com> * format * localize toasts --------- Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com> Co-authored-by: Mohamed Bassem <MohamedBassem@users.noreply.github.com>
* feat(search): add title search qualifier (#1940)Mohamed Bassem2025-09-133-0/+15
| | | | | | | * fix(search): include link titles in title matcher * docs(search): add title qualifier * docs: remove title qualifier from v0.27 guide
* i18n: Sync weblate translationsHosted Weblate2025-09-0730-61/+2011
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Co-authored-by: Filippo Moscatelli <filipp28mo@gmail.com> Co-authored-by: Hosted Weblate <hosted@weblate.org> Co-authored-by: OpenAI <noreply-mt-openai@weblate.org> Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/ar/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/cs/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/da/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/de/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/el/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/en_US/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/es/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/fi/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/fr/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/ga/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/gl/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/hr/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/hu/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/it/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/ja/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/ko/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/nb_NO/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/nl/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/pl/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/pt/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/pt_BR/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/ru/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/sk/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/sl/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/sv/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/tr/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/uk/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/vi/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/zh_Hans/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/zh_Hant/ Translation: Karakeep/Karakeep
* fix: fix tag flicker caused by tag sortingMohamed Bassem2025-09-073-32/+29
|
* feat: Show loading indicator while file is being generated #1787 (#1870)ahmed-abdelkarim2025-09-071-7/+51
| | | Co-authored-by: ahmed.abdelakrim <ahmad.abdelakrim89@gmail.com>
* feat(web): render AI summary in markdown (#1869)Youen Chéné2025-09-072-5/+12
| | | | | * feat: wrap bookmark summary with MarkdownReadonly component to render Markdown properly. * fix: hydration errors because of the markdown component
* fix(web): Fix deleting the action in the rule engine auto saves. fixes #1858Mohamed Bassem2025-09-071-0/+1
|
* fix: Incremental polling interval for ongoing crawlsMohamed Bassem2025-08-312-11/+4
|
* fix: handle list with slashes in their names and truncate long list names. ↵Mohamed Bassem2025-08-304-591/+86
| | | | fixes #1597
* feat: Add a bookmark skeleton for searchMohamed Bassem2025-08-272-2/+86
|
* u18n: Update french translation.json (#1866)Vivien2025-08-241-1/+1
| | | Better french 🥖
* fix: fix nextjs warning about dialog without title in bookmark previewMohamedBassem2025-08-242-1/+13
|
* fix(web): fix query getting rest when bookmark preview is closed. fixes #1521MohamedBassem2025-08-244-17/+34
|
* fix(web): Fix hydration errors in add api key pageMohamedBassem2025-08-231-14/+7
|
* fix: preserve selected section in link preview in query paramsMohamedBassem2025-08-231-2/+4
|
* fix: Hide bookmark global actions when there's no bookmark grid shownMohamedBassem2025-08-233-3/+27
|
* fix(security): Add CSP policies on asset serving pathMohamedBassem2025-08-231-0/+1
|
* fix: Remove dev indicator config from nextjs configMohamedBassem2025-08-221-4/+0
|
* fix(web): Fix dark mode titles for public listsMohamedBassem2025-08-221-4/+4
|
* feat: Add confirmations to background job actionsMohamedBassem2025-08-222-25/+40
|
* feat: A redesigned background jobs page. #1551MohamedBassem2025-08-214-202/+499
|
* Revert "deps: Upgrade nextjs to 15.5"MohamedBassem2025-08-203-16/+27
| | | | This reverts commit be420c9aebb0f2d343a0c94327fddc089f56d402.
* deps: Upgrade nextjs to 15.5MohamedBassem2025-08-203-27/+16
|