rcgit

/ karakeep
follow (on) | order: default date topo
Age Commit message Author Files +/-
fix: fix tag flicker caused by tag sorting Mohamed Bassem 6 -50/+53
feat(web): render AI summary in markdown (#1869)
* feat: wrap bookmark summary with MarkdownReadonly component to render Markdown properly.
* fix: hydration errors because of the markdown component
Youen Chéné 2 -5/+12
fix: Incremental polling interval for ongoing crawls Mohamed Bassem 5 -36/+40
feat: Add a bookmark skeleton for search Mohamed Bassem 2 -2/+86
fix: Hide bookmark global actions when there's no bookmark grid shown MohamedBassem 3 -3/+27
deps: Upgrade expo & nextjs to react 19 (#1565)
* Attempt to upgrade expo 53
* Attempt upgrade nextjs
* Fix a bunch of peer deps
* upgrade some docs deps
* fix typecheck
* update the shadcn calendar component
* more fixes
* more fixes
* revert ollama upgrade
* update react version to use carets
* remove react-select from landing
* fix the typescript error caused by customFetch
* upgrade the new grid user setting to nextjs 15
* mobile: enable react canary to support react 19.1
* upgrade react native menu
* fix navigation context error
Mohamed Bassem 29 -3336/+2403
feat: Render human tags before AI tags (#1740) haappi 3 -29/+40
feat: Configurable number of grid columns. Fixes #1713 Mohamed Bassem 7 -72/+152
chore: migrate away from eslint to oxlint (#1642)
* chore: migrate away from eslint to oxlint
* revert turbo task name lint
* it seems like we can remove the seemingly default globals
xuatz 70 -1695/+1174
fix: preserve unsaved title changes when modifying bookmark tags in the edit…
* feat: preserve unsaved title changes when modifying bookmark tags
Prevents loss of unsaved title edits when users interact with tag
selectors or other UI elements. Adds useDialogFormReset hook to
maintain form state consistency across component re-renders.
Fixes #1339
* Revert unnecessary modifications
---------
Co-authored-by: Mohamed Bassem <me@mbassem.com>
Adrian-Ryan Acala 2 -6/+32
feat: Add support for public lists (#1511)
* WIP: public lists
* Drop viewing modes
* Add the public endpoint for assets
* regen the openapi spec
* proper handling for different asset types
* Add num bookmarks and a no bookmark banner
* Correctly set page title
* Add a not-found page
* merge the RSS and public list endpoints
* Add e2e tests for the public endpoints
* Redesign the share list modal
* Make NEXTAUTH_SECRET not required
* propery render text bookmarks
* rebase migration
* fix public token tests
* Add more tests
Mohamed Bassem 36 -147/+3286
refactor: Move bookmark utils from shared-react to shared Mohamed Bassem 20 -104/+100
feat: Allow defaulting to reader mode when clicking on bookmarks. Fixes #662 Mohamed Bassem 16 -34/+2341
feat: Disable the AI summary button if AI is not configured. Fixes #649 Mohamed Bassem 3 -0/+8
fix(search): add new relevance sort order (#1392)
* fix(search): add new relevance sort order
* address pr comments
* some minor fixes
---------
Co-authored-by: Mohamed Bassem <me@mbassem.com>
xuatz 7 -16/+74
fix(web): Hide smart lists from list selectors Mohamed Bassem 3 -0/+3
fix(web): Fix the spinner getting hidden during AI summarization Mohamed Bassem 1 -2/+1
ui(web): Reduce shadows, lighten some fonts, and a smaller editor. #1261 Mohamed Bassem 12 -37/+67
fix: Fix server side error on clipboard check MohamedBassem 1 -2/+12
fix: Dont download html content by default in the bookmark grid. Fixes #1198 Mohamed Bassem 14 -36/+112
feat: Allow editing the extracted content of an asset bookmark Mohamed Bassem 6 -6/+66
ui(web): Copy link button greyed out when clipboard not available (#1209)
* ui(web): Now the copy link button is greyed out when clipboard is not available
* Fix: handled navigator check safely
ekambains 1 -0/+2
chore: Rename hoarder packages to karakeep MohamedBassem 230 -644/+654
fix: Deprecate the updateBookmarkText trpc endpoint and replace it with… MohamedBassem 4 -20/+6
feat: Allow editing bookmark details MohamedBassem 14 -102/+732
feat(web): A slightly better looking banner when no bookmarks are found MohamedBassem 3 -1/+27
build: Fix lint error in UpdatableBookmarksGrid Mohamed Bassem 1 -1/+1
fix: Add error boundary around bookmark cards Mohamed Bassem 5 -3/+59
feat: Add PDF screenshot generation and display (#995)
* Updated pdf2json to 3.1.5
* Extract and store a screenshot from PDF files using pdf2pic
* Installing graphicsmagick and ghostscript
* Generate Missing PDF screenshot with tidyAssets worker for backward support
* Display PDF screenshot instead of the PDF in web if it exists.
* Display PDF screenshot in mobile app if exists.
* Updated pnpm-lock.yaml
* Removed console.log
* Revert the unnecessary changes in package.json
* Revert pnpm-lock changes
* Prevent rendering PDF files if the screenshot is not generated
* refactor: replace useEffect with useMemo for section initialization
* feat: show PDF file download button and handle large PDFs by defaulting to screenshot view
* feat: add file size to openapi spec
* feature: Add Assets preprocessing in fix mode to admin actions
* i18n: add reprocess_assets_fix_mode translation
* i18n: Add missing ar translations
* A bunch of fixes
* Fix openspec schema
---------
Co-authored-by: Mohamed Bassem <me@mbassem.com>
Ahmad Mujahid 34 -101/+545
fix: Limit concurrency of bulk actions. Fix #773 Mohamed Bassem 5 -30/+285
feat: Add Bookmark Sorting Feature (#812)
* feat: add bookmark sorting by creation date
- Add sort order toggle in GlobalActions component
- Implement ascending/descending sort functionality
- Update translations for sorting feature in all languages
- Add sort order icons and dropdown menu
- Maintain sort preference in URL params
* feat: add bookmark sorting by creation date
- Add sort order toggle in GlobalActions component
- Implement ascending/descending sort functionality
- Update translations for sorting feature in all languages
- Add sort order icons and dropdown menu
- Maintain sort preference in URL params during session
Note: Sort order resets to default on page refresh, server-side persistence can be implemented in future enhancement
* feat: Add global sort by date feature with shared sort order state
- Implement global sort order functionality using a shared Zustand store (`useSortOrder` hook).
- Update `getBookmarks` and `searchBookmarks` endpoints to accept a `sortOrder` parameter.
- Refactor code to import `ZSortOrder` from shared types (`bookmarks.ts`), ensuring consistency across the codebase.
- Update components (`UpdatableBookmarksGrid`, `bookmark-search`) to use the shared `useSortOrder` hook.
- Remove unused `zSortBy` definition from `packages/shared/types/bookmarks.ts` to avoid confusion.
- Ensure consistent naming conventions by prefixing Zod inferred types with `Z`.
- Clean up code and address previous PR feedback comments.
* tiny fixes and fixing TS errors
---------
Co-authored-by: Mohamed Bassem <me@mbassem.com>
Daksh Pareek 24 -32/+231
fix: Fix truncated long text in bookmark preview modal. Fixe #793 Mohamed Bassem 2 -2/+2
feat: Add support for smart lists (#802)
* feat: Add support for smart lists
* i18n
* Fix update list endpoint
* Add a test for smart lists
* Add header to the query explainer
* Hide remove from lists in the smart context list
* Add proper validation to list form
---------
Co-authored-by: Deepak Kapoor <41769111+orthdron@users.noreply.github.com>
Mohamed Bassem 26 -100/+2045
feat: Add delete bookmark confirmation dialog. Fixes #776 (#787) Nicole Li 6 -38/+110
feat: show createdAt year in card footer when created over a year ago (#790) JD Hartley 1 -2/+9
feat: Add basic pagination to searchBookmarks tRPC Mohamed Bassem 5 -19/+75
feature: WYSIWYG markdown for notes. Fixes #701 (#715)
* #701 Improve note support : WYSIWYG markdown
First implementation with a wysiwyg markdown editor.
Update:
- Add Lexical markdown editor
- consistent rendering between card and preview
- removed edit modal, replaced by preview with save action
- simple markdown shortcut: underline, bold, italic etc...
* #701 Improve note support : WYSIWYG markdown
improved performance to not rerender all note card when one is updated
* Use markdown shortcuts
* Remove the alignment actions
* Drop history buttons
* Fix code and highlighting buttons
* Remove the unneeded update markdown plugin
* Remove underline support as it's not markdown native
* - added ListPlugin because if absent, there's a bug where you can't escape a list with enter + enter
    - added codeblock plugin
    - added prose dark:prose-invert prose-p:m-0 like you said (there's room for improvement I think, don't took the time too deep dive in) and removed theme
    - Added a switch to show raw markdown
    - Added back the react markdown for card (SSR)
* delete theme.ts
* add theme back for code element to be more like prism theme from markdown-readonly
* move the new editor back to the edit menu
* move the bookmark markdown component into dashboard/bookmark
* move the tooltip into its own component
* move save button to toolbar
* Better raw markdown
---------
Co-authored-by: Giuseppe Lapenta <giuseppe.lapenta@enovacom.com>
Co-authored-by: Mohamed Bassem <me@mbassem.com>
Giuseppe 15 -129/+1177
feature: Add i18n support. Fixes #57 (#635)
* feature(web): Add basic scaffolding for i18n
* refactor: Switch most of the app's strings to use i18n strings
* fix: Remove unused i18next-resources-for-ts command
* Add user setting
* More translations
* Drop the german translation for now
Mohamed Bassem 56 -281/+929
fix: Fix SummarizeWithAI button to use an ActionButton Mohamed Bassem 1 -4/+3
fix: Some visual fixes to the AI summary Mohamed Bassem 1 -50/+42
feature: Add a summarize with AI button for links Mohamed Bassem 12 -11/+1536
feature(web): Add keyboard shortcut to focus on search bar. Fixes #449 (#554)
added ctrl+k to focus the search bar
added escape to delete the input of the search bar
fixed behavior of ctrl+e on windows, which would otherwise focus the chrome searchbar
kamtschatka 2 -7/+45
feature: Allow attaching custom banners to notes. Fixes: #106 MohamedBassem 3 -4/+44
feature: Persevere the source URL of clipped texts from the extension.
Fixes #448
MohamedBassem 13 -31/+1246
feature(web): Add ability to manually trigger full page archives. Fixes #398…
* [Feature Request] Ability to select what to "crawl full page archive" #398
Added the ability to start a full page crawl for links and also in bulk operations
added the ability to refresh links as a bulk operation as well
* minor icon and wording changes
---------
Co-authored-by: MohamedBassem <me@mbassem.com>
kamtschatka 5 -6/+89
feature(web): Add infinite scrolling support MohamedBassem 3 -0/+28
fix(web): Fix some hydration errors in bulk actions MohamedBassem 2 -3/+3
feature(web): Add a select all button to bulk actions MohamedBassem 3 -6/+52
fix(web): Show a scrollbar in the tag editor. Fixes #368 (#404)
readded the scrollbar again, so it is obvious that the list is scrollable
kamtschatka 1 -1/+1
feature(web): Add a compact layout. Fixes #379 MohamedBassem 6 -3/+68
fix(web): removing referrer header when clicking on links. Fixes #387 (#388)
added "noreferrer" to the links to prevent sending referrers to bookmarked pages
kamtschatka 1 -3/+9
fix(web): Add optimistic rendering for the tags editor MohamedBassem 1 -2/+24
feature(web): Manage tags in bulk actions MohamedBassem 6 -44/+214
feature(web): Pop tag in TagEditor on pressing backspace. #368 MohamedBassem 1 -0/+1
feature(web): Allow adding to lists in bulk actions. #368 MohamedBassem 2 -1/+153
feature(mobile): Allow editing notes from the mobile app MohamedBassem 4 -32/+122
refactor: Remove unused BookmarkedTextViewer (#310) kamtschatka 2 -31/+0
feature: Add github markdown support which includes tables, checklists and auto…
added the possibility to add checkboxes
kamtschatka 4 -1/+10
fix(web): Suppress hydration warnings caused by the dates in the bookmark grid MohamedBassem 1 -1/+4
feat: Add bulk edit option for bookmarks. Fixes #84 (#259)
* feat: add bulk edit option for bookmarks
* fix: resolve comments
* fix: resolve comments
* fix: resolve comments
* fix: resolve comments
* rename bulk action store, simplify the bulk action toolbar
---------
Co-authored-by: MohamedBassem <me@mbassem.com>
Md Saban 14 -27/+314
fix: fixed an issue that would half the textarea in grid layout after… kamtschatka 1 -1/+3
refactor: added the bookmark type to the database (#256)
* refactoring asset types
Extracted out functions to silently delete assets and to update them after crawling
Generalized the mapping of assets to bookmark fields to make extending them easier
* Added the bookmark type to the database
Introduced an enum to have better type safety
cleaned up the code and based some code on the type directly
* add BookmarkType.UNKNWON
* lint and remove unused function
---------
Co-authored-by: MohamedBassem <me@mbassem.com>
kamtschatka 27 -120/+1266
ui(web): move layout selector to main screen (#252) Md Saban 9 -100/+99
fix(web): Fix save action on empty card. Fixes #225 (#243)
* fix: Empty item save action
* fix: resolve comments
* chore: prettier
Md Saban 3 -5/+36
feature(web): Enhance the bookmark textarea in the list layout (#247)
* Allow the user to expand the textarea in the list mode to support larger notes
* Expand the textarea to a max of half the screen size in the list layout only
* Move onInput to a separate method
* Restoring the textfield to its original state after submitting
* Moving the reset form to the mutate onSuccess event to not reset the height on a fail request
Ahmad Mujahid 1 -2/+29
fix(web): text paste bug introduced with image paste (#232) Md Saban 1 -1/+0
feature(web): support pasting image in the Editor Card (#228)
* feature: support pasting image in the textfield.
* minor tweaks
---------
Co-authored-by: Ahmad Mujahid <ahmad.h.mujahid@gmail.com>
Co-authored-by: MohamedBassem <me@mbassem.com>
Ahmad Mujahid 2 -2/+30
refactor: Extract the bookmark polling logic into a separate shared component MohamedBassem 5 -113/+75
feature(web): Add syntax highlighting to code blocks and a quick copy button.…
* Any plans to support copy to clipboard (markdown code) for notes? #195
added a button to copy the markdown and added code highlighting
* Any plans to support copy to clipboard (markdown code) for notes? #195
Changed the copy-button to a generic one
added a safeguard and a message to the copy button if copying is not possible
* Some code cleanups
---------
Co-authored-by: kamtschatka <simon.schatka@gmx.at>
Co-authored-by: MohamedBassem <me@mbassem.com>
kamtschatka 7 -26/+280
fix(web): Changed the toast to contain a more detailed error message in case…
Co-authored-by: kamtschatka <simon.schatka@gmx.at>
kamtschatka 1 -2/+2
feature: Allow import Netscape HTML format (#163)
* [Feature request] Netscape HTML format import/export #96
added the possibility to add exported bookmarks via the webUI for ease of use
* [Feature request] Netscape HTML format import/export #96
updated the documentation
* Extract the parser into its own file and reuse the existing bookmark upload logic
---------
Co-authored-by: kamtschatka <simon.schatka@gmx.at>
Co-authored-by: MohamedBassem <me@mbassem.com>
kamtschatka 5 -30/+113
fix(web): Stop pre-loading all the bookmark lists in the bookmark grid MohamedBassem 1 -33/+44
feature(web): Add an archive button to list management dialog MohamedBassem 3 -1/+74
fix(web): Sort the tags in the TagsEditor of the preview dialog. Fixes #171 MohamedBassem 1 -0/+2
fix: Fix missing bookmarks during pagination if they got created in the same… MohamedBassem 5 -20/+120
feature(web): Allow adding multiple URLs at once #158 (#167)
Added a reusable dialog
opening a dialog that allows you to decide if you want to import multiple URLs at once if you provide only that
Co-authored-by: kamtschatka <simon.schatka@gmx.at>
kamtschatka 2 -5/+129
ui(web): Set tag input field in preview modal to 100% width to fix overflow…
ui(web): Fixed issue with rounded corners on tag input field in preview modal
ui(web): Adjusted styles for labels and fields in preview modal for visual consistency
Cari 2 -4/+24
ui(web): Fixed overflow issues for very long titles (#152)
* ui(web): Titles that exceed the allotted space now terminate with an ellipsis
ui(web): Very long titles now break in edit mode instead of overflowing horizontally
* ui(web): Titles on bookmark cards longer than two lines will terminate with an ellipsis
ui(web): Tooltips for long titles now wrap to multiple lines as needed
ui(web): Aligned titles in preview panes to the left margin
Cari 4 -7/+15
feature: Clicking preview for image assets brings up the details modal (#147) Cari 1 -6/+9
feature: Dedup links on creation. Fixes #49 MohamedBassem 8 -106/+176
feature(web): Add ability to rename, merge and fast delete tags. Fixes #105…
* feature(web): Allow deleting tags from the all tags page
* feature(web): Add ability to rename, merge and fast delete tags. Fixes #105
Mohamed Bassem 14 -269/+835
ui(web): Show bookmark URL when maximizing a bookmark MohamedBassem 9 -23/+82
feature(web): Change the AddList modal to allow adding and removing bookmarks… MohamedBassem 4 -139/+219
fix(web): Fix missing link card image in list view MohamedBassem 1 -1/+1
fix: Use next/image for serving bookmark images MohamedBassem 2 -16/+42
feature: Download images and screenshots MohamedBassem 22 -135/+1373
feature: Nested lists (#110). Fixes #62
* feature: Add support for nested lists
* prevent moving the parent to a subtree
Mohamed Bassem 25 -402/+2084
refactor: Move the shared types to the shared package MohamedBassem 53 -241/+260
feature: Add title to bookmarks and allow editing them. Fixes #27 MohamedBassem 17 -54/+1240
fix(web): Fix some JS console errors in the preview page MohamedBassem 4 -36/+50
feature(web): Allow changing the bookmark grid layout (#98) Mohamed Bassem 20 -268/+546
feature: Add PDF support (#88)
* feature: Add PDF support
* fix: PDF feature enhancements
* fix: Freeze expo-share-intent version to prevent breaking changes
* fix: set endOfLine to auto for cross-platform development
* fix: Upgrading eslint/parser and eslint-plugin to 7.6.0 to solve the linting issues
* fix: enhancing PDF feature
* fix: Allowing null in fiename for backward compatibility
* fix: update pnpm file with pnpm 9.0.0-alpha-8
* fix:(web): PDF Preview for web
Ahmad Mujahid 24 -107/+2387
feature(web): Allow uploading directly into lists/tags. Fixes #69 MohamedBassem 19 -144/+258
feature: Extract hook logic into separate package and add a new action bar in… MohamedBassem 23 -330/+672
fix: Refresh the all tags page automatically when a tag is modified MohamedBassem 5 -83/+103
ui(web): Add a tooltip explaining what archived means MohamedBassem 4 -47/+60
fix: Only consider text as URL in editor card if it has an http protocol. Fixes… MohamedBassem 1 -1/+4
feature(web): Add ⌘ + E shortcut for quickly focusing on the editor
card. Fixes #58
MohamedBassem 1 -30/+67
feature(web): Add support for attaching notes to bookmarks MohamedBassem 10 -2/+1012
fix(web): Consistent spacing in the content container in all pages. Fixes #40 MohamedBassem 19 -77/+60
next