| 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 |