| Age | Commit message | Author | Files | +/- |
|---|---|---|---|---|
| fix: Use a new public list metadata endpoint for metadata generation | Mohamed Bassem | 6 | -52/+126 | |
| feat: Allow specifying the overwrite mode for singlefile archives. Fixes #1125 | Mohamed Bassem | 5 | -40/+327 | |
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 | |
feat: add user customisable default archive display behaviour (#1505) …* fix typo * implementation * bug fix and refactoring * Use nuqs for searchParam management * remove the todo about the tests * fix tests --------- Co-authored-by: Mohamed Bassem <me@mbassem.com> |
xuatz | 19 | -24/+2226 | |
feat: Generate RSS feeds from lists (#1507) …* refactor: Move bookmark utils from shared-react to shared * Expose RSS feeds for lists * Add e2e tests * Slightly improve the look of the share dialog * allow specifying a limit in the rss endpoint |
Mohamed Bassem | 26 | -293/+3131 | |
| feat: Add "deleted" webhook event (#1464) | Salvatore Gentile | 5 | -3/+6 | |
| feat: Allow defaulting to reader mode when clicking on bookmarks. Fixes #662 | Mohamed Bassem | 16 | -34/+2341 | |
| feat: Add AI auto summarization. Fixes #1163 | Mohamed Bassem | 34 | -2639/+4843 | |
| feat(api): Expose the endpoint to create a new tag | Mohamed Bassem | 7 | -49/+172 | |
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(api): make PUT bookmark to a list idempotent (#1427) …* fix(api): make duplicate PUT /lists/:id/bookmarks/:id as allowed operation * apply pr comments |
xuatz | 3 | -34/+2 | |
| feat: Allow enabling/disabling RSS feeds | Mohamed Bassem | 10 | -21/+2032 | |
Revert "fix: Fix smart lists not working in list search qualifiers". #1321 …This reverts commit 6178736d64180f9bc8954099c90d54aa2f9f35f5. |
Mohamed Bassem | 3 | -133/+69 | |
| fix: Fix smart lists not working in list search qualifiers. Fixes #845 | Mohamed Bassem | 3 | -69/+133 | |
| fix: When triggering a re-index, drop all the documents first | Mohamed Bassem | 1 | -0/+3 | |
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 | |
| tests: Run trpc tests in CI | Mohamed Bassem | 2 | -0/+18 | |
| tests: Add tests for various trpc endpoints | Mohamed Bassem | 9 | -5/+1108 | |
| fix: Add includeContent to search endpoint and document it in the docs | Mohamed Bassem | 11 | -22/+122 | |
feat(web): Add support for merging lists (#1231) …* feat: Support list merging * some fixes * move @hoarder to @karakeep --------- Co-authored-by: Mohamed Bassem <me@mbassem.com> |
omnitrix | 8 | -3/+325 | |
| fix: Add password salt to the user table | Mohamed Bassem | 8 | -12/+1718 | |
| feat: add support for filtering by bookmark age (#1228) | Brandon Wong | 8 | -15/+162 | |
| 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 | |
| feat: Add an MCP server for karakeep | Mohamed Bassem | 28 | -139/+2512 | |
feat(web): Optionally add short description to lists (#1225) …* feat(web): Optionally add short description to lists * regenerate openapi spec --------- Co-authored-by: Mohamed Bassem <me@mbassem.com> |
ekambains | 10 | -1/+1743 | |
| 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: Add a search matcher for rss feed bookmarks | MohamedBassem | 7 | -1/+144 | |
| feat(workers): Adds publisher and author og:meta tags to Bookmark (#1141) | erik-nilcoast | 12 | -33/+2191 | |
| deps: Upgrade trpc and react query | Mohamed Bassem | 7 | -95/+511 | |
| deps: Upgrade vitest | Mohamed Bassem | 5 | -130/+81 | |
| feat: Add endpoints for whoami and user stats. Fixes #1113 | Mohamed Bassem | 9 | -9/+455 | |
| fix: Revert the accidental upgrade of deps. #1107 | Mohamed Bassem | 9 | -7148/+837 | |
build(deps-dev): bump vitest from 1.3.1 to 1.6.1 (#1104) …Bumps [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) from 1.3.1 to 1.6.1. - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Commits](https://github.com/vitest-dev/vitest/commits/v1.6.1/packages/vitest) --- updated-dependencies: - dependency-name: vitest dependency-type: direct:development ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
dependabot[bot] | 5 | -265/+232 | |
| fix: Harden getBookmarks endpoint against inconsistent bookmarks. Fixes #1094 | Mohamed Bassem | 2 | -66/+60 | |
| feat: Move background jobs with the admin actions. Fixes #1083 | Mohamed Bassem | 8 | -257/+284 | |
| fix: Fix missing workers in the server stats | Mohamed Bassem | 3 | -0/+86 | |
| fix: Move away from JSON outputs to structured outputs. Fixes #1047 | Mohamed Bassem | 7 | -39/+74 | |
| feat(web): Show list stats in the sidebar | Mohamed Bassem | 6 | -42/+97 | |
| 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 | |
| fix: Fix url matcher not matching sourceUrl. Fixes #874 | Mohamed Bassem | 2 | -5/+25 | |
| feat: Add ability to filter by bookmark type | Mohamed Bassem | 9 | -14/+208 | |
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 | |
Revert "ci: Run tests on push (#807)" (#808) …This reverts commit 39358b1517a06b90b9886a648ce1c595d1556c8e. |
Mohamed Bassem | 8 | -20/+5 | |
ci: Run tests on push (#807) …* ci: Run tests on push * disable drizzle logging in tests * run db migrations in trpc tests |
Mohamed Bassem | 8 | -5/+20 | |
| fix: Add i18n for query explainer and add missing url matcher | Mohamed Bassem | 4 | -15/+82 | |
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 support for searching for tagged and listed items | Mohamed Bassem | 6 | -0/+128 | |
| feat: Add support for negative search terms | Mohamed Bassem | 6 | -69/+282 | |
| chore: add format:fix and lint:fix scripts to all packages | Mohamed Bassem (aider) | 10 | -2/+22 | |
| test: Add tests for the search id queries | Mohamed Bassem | 2 | -0/+280 | |
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 | |
| deps: Upgrade drizzle-orm to 0.38.3 | Mohamed Bassem | 5 | -15/+114 | |
| feat: Implement the all highlights page. Fixes #620 | Mohamed Bassem | 13 | -85/+255 | |
| feat: Add REST APIs for manipulating highlights. Fixes #620 | Mohamed Bassem | 11 | -10/+448 | |
| feat: Implement highlights support for links. Fixes #620 | Mohamed Bassem | 16 | -6/+3837 | |
| 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: Add an admin notice about the usage of the legacy container images | Mohamed Bassem | 7 | -9/+229 | |
| 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: Add support for subscribing to RSS feeds. Fixes #202 | Mohamed Bassem | 16 | -3/+2280 | |
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 | |
| fix: Improve field names in the tag APIs | Mohamed Bassem | 4 | -15/+24 | |
| feature(api): Add REST APIs to update bookmarks, tags and lists | Mohamed Bassem | 5 | -7/+64 | |
| feature(api): Add REST APIs to manipulate lists and tags for bookmarks | Mohamed Bassem | 9 | -58/+166 | |
| feature: Add APIs to create new lists and bookmarks | Mohamed Bassem | 4 | -10/+37 | |
feature: Allow reseting user password, change their roles and create new users.… …* How do I set the variable "user" or "system" for AI inference #262 changed from system to user * Make Myself an Admin #560 added user management functionality to the admin page * A bunch of UI fixes and simplifications --------- Co-authored-by: Mohamed Bassem <me@mbassem.com> |
kamtschatka | 9 | -52/+711 | |
feature: Log authentication failures to support fail2ban. Fixes #477 (#569) …* How do I set the variable "user" or "system" for AI inference #262 changed from system to user * [Feature Request] Log failed login attempts for fail2ban implementation #477 added logging of failed logins * [Feature Request] Log failed login attempts for fail2ban implementation #477 added more logging for extension related logins * Propagte IP to trpc --------- Co-authored-by: Your Name <you@example.com> |
kamtschatka | 9 | -12/+116 | |
| feature: Support regenerating AI tags only for failed bookmarks | MohamedBassem | 2 | -11/+29 | |
| feature: Introduce a mechanism to cleanup dangling assets | MohamedBassem | 10 | -8/+351 | |
feature: Allow to disable default password login after SSO is configured. Fixes… …* [Feature Request] Allow to disable default password log in after SSO is configured #406 changed the flag to also disallow logging in via password The extensions will also no longer be allowed to log in via username/password then * [Feature Request] Allow to disable default password log in after SSO is configured #406 added the error message for OAuth |
kamtschatka | 8 | -14/+37 | |
| refactor: Start tracking bookmark assets in the assets table | MohamedBassem | 14 | -175/+1581 | |
| refactor: Include userId in the assets table | MohamedBassem | 7 | -0/+1235 | |
feature: Allow disabling password signups (#413) …* [Feature Request] Allow to disable default password log in after SSO is configured #406 Added the DISABLE_LOCAL_SIGNUPS that can be used to force OAuth signups only * rename local signups to password signups --------- Co-authored-by: MohamedBassem <me@mbassem.com> |
kamtschatka | 5 | -3/+15 | |
| 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): Async validate JWT account and sign out the user if they no… | MohamedBassem | 3 | -2/+39 | |
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 ability to rerun inference on all bookmarks. Fixes 443 | MohamedBassem | 2 | -0/+35 | |
| feature(web): Add the ability to customize the inference prompts. Fixes #170 | MohamedBassem | 13 | -39/+1764 | |
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(extension): Allow login directly with an API key …* [Feature request] NextAuth Providers for OAuth/SSO #92 Added API key based authentication to the extension to make the extension usable when OAuth is in use * Minor UI tweak --------- Co-authored-by: MohamedBassem <me@mbassem.com> |
kamtschatka | 2 | -9/+96 | |
| feature(web): Preserve title, tags and createdAt when importing a netscape… | MohamedBassem | 7 | -45/+189 |