rcgit

/ karakeep
follow | order: default date topo
Age Commit message Author Files +/-
feat: Implement generic rule engine (#1318)
* Add schema for the new rule engine
* Add rule engine backend logic
* Implement the worker logic and event firing
* Implement the UI changesfor the rule engine
* Ensure that when a referenced list or tag are deleted, the corresponding event/action is
* Dont show smart lists in rule engine events
* Add privacy validations for attached tag and list ids
* Move the rules logic into a models
Mohamed Bassem 42 -40/+5787
fix: Add includeContent to search endpoint and document it in the docs Mohamed Bassem 11 -22/+122
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
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(workers): Adds publisher and author og:meta tags to Bookmark (#1141) erik-nilcoast 12 -33/+2191
fix: Harden getBookmarks endpoint against inconsistent bookmarks. Fixes #1094 Mohamed Bassem 2 -66/+60
fix: Move away from JSON outputs to structured outputs. Fixes #1047 Mohamed Bassem 7 -39/+74
refactor: Move the list logic into a separate model Mohamed Bassem 6 -194/+308
feat: Add a setting page to manage assets. Fixes #730 Mohamed Bassem 16 -347/+630
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: Dont rearchive singlefile uploads and consider them as archives Mohamed Bassem 4 -4/+20
feat: Update the last modifiedAt timestamp when tags of the bookmark change Mohamed Bassem 1 -0/+9
feat: Add a new modifiedAt field to bookmarks table. Fixes #952 Mohamed Bassem 5 -13/+1683
feat: Change webhooks to be configurable by users Mohamed Bassem 23 -28/+4272
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
feat: Support customizing the summarization prompt. Fixes #731 Mohamed Bassem 10 -16/+1649
feat: Add support for singlefile extension uploads. #172 Mohamed Bassem 14 -37/+275
feat: Expose the search functionality in the REST API Mohamed Bassem 8 -20/+299
fix: Change search endpoint to accept query as raw string Mohamed Bassem 3 -9/+10
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: Introduce advanced search capabilities (#753)
* feat: Implement search filtering in the backend
* feat: Implement search language parser
* rename matcher name
* Add ability to interleve text
* More fixes
* be more tolerable to parsing errors
* Add a search query explainer widget
* Handle date parsing gracefully
* Fix the lockfile
* Encode query search param
* Fix table body error
* Fix error when writing quotes
Mohamed Bassem 11 -20/+1054
refactor: Move asset preprocessing to its own worker out of the inference worker Mohamed Bassem 7 -120/+258
feat: Add basic pagination to searchBookmarks tRPC Mohamed Bassem 5 -19/+75
feature: Store crawling status code and allow users to find broken links. Fixes… Mohamed Bassem 9 -6/+1628
feature: Allow setting bookmark metadata during creation Mohamed Bassem 4 -133/+120
feature(web): Add the ability to view the bookmarks of a particular rss feed Mohamed Bassem 5 -2/+77
feature: Archive videos using yt-dlp. Fixes #215 (#525)
* Allow downloading more content from a webpage and index it #215
Added a worker that allows downloading videos depending on the environment variables
refactored the code a bit
added new video asset
updated documentation
* Some tweaks
* Drop the dependency on the yt-dlp wrapper
* Update openapi specs
* Dont log an error when the url is not supported
* Better handle supported websites that dont download anything
---------
Co-authored-by: Mohamed Bassem <me@mbassem.com>
kamtschatka 17 -71/+403
fix: Index the summary in search Mohamed Bassem 3 -1/+4
feature: Add a summarize with AI button for links Mohamed Bassem 12 -11/+1536
feature(api): Add REST APIs to manipulate lists and tags for bookmarks Mohamed Bassem 9 -58/+166
refactor: Start tracking bookmark assets in the assets table MohamedBassem 14 -175/+1581
refactor: Include userId in the assets table MohamedBassem 7 -0/+1235
fix: Drop the usage of useCursorV2 from the server MohamedBassem 2 -22/+16
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
fix(web):Add validation on updateTags request to ensure that an empty tagName…
* [Bug Report] Importing bookmarks adds all tags to all bookmarks #421
fixed an issue that caused all existing tags to be assigned to a new bookmark
* Add validation on the input of update tags to ensure that its not empty
---------
Co-authored-by: MohamedBassem <me@mbassem.com>
kamtschatka 2 -10/+39
feature(web): Show attachments and allow users to manipulate them. MohamedBassem 9 -12/+544
feature(web): Preserve title, tags and createdAt when importing a netscape… MohamedBassem 7 -45/+189
feature(cli): Allow updating tags/lists from CLI (#211)
* Improve the CLI #209
added the possibility to assign tags to bookmarks while creating
added the possibility to assign a newly created to a list right away
added the possibility to add and remove tags from bookmarks
* minor tweaks
---------
Co-authored-by: MohamedBassem <me@mbassem.com>
kamtschatka 5 -47/+182
fix: async/await issues with the new queue (#319) kamtschatka 6 -25/+27
refactor: Replace the usage of bullMQ with the hoarder sqlite-based queue (#309) Mohamed Bassem 13 -344/+128
refactor: fixed typos in BookmarkTypes (#268) kamtschatka 3 -6/+6
fix: Fix duplicate bookmarks in links with assets MohamedBassem 1 -1/+5
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
refactor: remove redundant code from crawler worker and refactor handling of…
* 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
* revert silentDeleteAsset and hide better-sqlite3
---------
Co-authored-by: MohamedBassem <me@mbassem.com>
kamtschatka 3 -65/+80
refactor: extract assets into their own database table. #215 (#220)
* Allow downloading more content from a webpage and index it #215
added a new table that contains the information about assets for link bookmarks
created migration code that transfers the existing data into the new table
* Allow downloading more content from a webpage and index it #215
removed the old asset columns from the database
updated the UI to use the data from the linkBookmarkAssets array
* generalize the assets table to not be linked in particular to links
* fix migrations post merge
* fix missing asset ids in the getBookmarks call
---------
Co-authored-by: MohamedBassem <me@mbassem.com>
kamtschatka 6 -52/+1271
feature: add support for PDF links. Fixes #28 (#216)
* feature request: pdf support #28
Added a new sourceUrl column to the asset bookmarks
Added transforming a link bookmark pointing at a pdf to an asset bookmark
made sure the "View Original" link is also shown for asset bookmarks that have a sourceURL
updated gitignore for IDEA
* remove pdf parsing from the crawler
* extract the http logic into its own function to avoid duplicating the post-processing actions (openai/index)
* Add 5s timeout to the content type fetch
---------
Co-authored-by: MohamedBassem <me@mbassem.com>
kamtschatka 10 -93/+1263
fix: Remove the bookmark update text limit (#244) Ahmad Mujahid 1 -1/+1
fix: Trigger search re-index on bookmark tag manual updates. Fixes #208 (#210)
* re-index of database is not scanning all places when bookmark tags are changed. Manual indexing is working as workaround #208
introduced a new function to trigger a reindex to reduce copy/paste
added missing reindexes when tags are deleted/bookmarks are updated
* give functions a bit more descriptive name
---------
Co-authored-by: kamtschatka <simon.schatka@gmx.at>
Co-authored-by: MohamedBassem <me@mbassem.com>
kamtschatka 6 -55/+41
feature: Full page archival with monolith. Fixes #132 MohamedBassem 14 -7/+1259
fix: Fix missing bookmarks during pagination if they got created in the same… MohamedBassem 5 -20/+120
feature: Dedup links on creation. Fixes #49 MohamedBassem 8 -106/+176
feature: Download images and screenshots MohamedBassem 22 -135/+1373
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
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
format: Add missing lint and format, and format the entire repo MohamedBassem 57 -192/+255
fix: Sort search results by relevance MohamedBassem 3 -1/+26
feature(web): Add support for attaching notes to bookmarks MohamedBassem 10 -2/+1012
feature(web): Add support for removing items from lists MohamedBassem 5 -16/+96
refactor: Change asset storage to be the filesystem instead of sqlite MohamedBassem 16 -75/+2006
Feature: Add support for uploading images and automatically inferring their…
* feature: Experimental support for asset uploads
* feature(web): Add new bookmark type asset
* feature: Add support for automatically tagging images
* fix: Add support for image assets in preview page
* use next Image for fetching the images
* Fix auth and error codes in the route handlers
* Add support for image uploads on mobile
* Fix typing of upload requests
* Remove the ugly dragging box
* Bump mobile version to 1.3
* Change the editor card placeholder to mention uploading images
* Fix a typo
* Change ios icon for photo library
* Silence typescript error
Mohamed Bassem 31 -79/+2736
feature: Implemente pagination support MohamedBassem 8 -70/+143
refactor: Prepare for pagination by dropping querying bookmarks by id MohamedBassem 16 -100/+155
fix: Trim whitespaces from submitted URLs MohamedBassem 1 -1/+1
refactor: Extract trpc logic into its package MohamedBassem 51 -1536/+1793