rcgit

/ karakeep
follow (on) | order: default date topo
Age Commit message Author Files +/-
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
build: Regen openAPI spec Mohamed Bassem 1 -2/+32
feat: Disable the AI summary button if AI is not configured. Fixes #649 Mohamed Bassem 3 -0/+8
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
refactor: Migrate from NextJs's API routes to Hono based routes for the API…
* Setup Hono and migrate the highlights API there
* Implement the tags and lists endpoint
* Implement the bookmarks and users endpoints
* Add the trpc error code adapter
* Remove the old nextjs handlers
* fix api key not found handling
* Fix trpc error handling
* Fix 204 handling
* Fix search ordering
* Implement the singlefile endpoint
* Implement the asset serving endpoints
* Implement webauth
* Add hono as a catch all route under api
* fix tests
Mohamed Bassem 45 -1148/+982
feat(api): enable ?sortOrder= for relevant resources (#1398)
* feat(api): enable `?sortOrder=` for relevant resources
* fix tests
xuatz 14 -34/+126
fix: Use proper tokenizer when truncating for inference. Fixes #1405 Mohamed Bassem 3 -8/+21
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
feat: Add karakeep metadata to openai calls Mohamed Bassem 1 -0/+4
i18n: Add US English as option in User Settings (#1327)
* improvement: tweak American English
* feat: add en_us language to user settings list
William Callahan 2 -19/+20
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
chore: rename missing files/conf from Hoarder to Karakeep (#1280)
* refactor: Rename remaining project configuration from Hoarder to Karakeep
* some fixes
---------
Co-authored-by: Mohamed Bassem <me@mbassem.com>
adripo 126 -5080/+5080
tests: Add some simple crawler tests Mohamed Bassem 6 -14/+161
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
feat: Change default text model to 4.1-mini Mohamed Bassem 3 -4/+4
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
fix: Allow using JSON mode for ollama users. Fixes #1160 Mohamed Bassem 3 -18/+59
feat: Allow editing the extracted content of an asset bookmark Mohamed Bassem 6 -6/+66
fix(mcp): Reduce token usage of the MCP server Mohamed Bassem 6 -10/+167
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
chrore: Update meilisearch version to 13.3 in both docker compose files (#1244)
* feat: update meilisearch to v1.13.3 in compose.dev
* feat: update meilisearch in docker-compose.yml to 13.3
* update e2e_tests meilisearch to 1.13.3
Mark :) 3 -3/+3
i18n: Add Korean language (#1239) jkywalker 1 -0/+1
build: Regenerate the openapi specs and sdk MohamedBassem 2 -0/+40
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
i18n: Enable ukrainian language (#1195) Denys Dovhan 1 -0/+1
feat: Allow storing assets in a separate directory. Fixes #1091 Mohamed Bassem 3 -4/+8
feat(workers): Add CRAWLER_SCREENSHOT_TIMEOUT_SEC (#1155) Chang-Yen Tseng 3 -10/+21
feat(workers): Adds publisher and author og:meta tags to Bookmark (#1141) erik-nilcoast 12 -33/+2191
release(sdk): Release the 0.23 sdk Mohamed Bassem 1 -1/+1
deps: Upgrade trpc and react query Mohamed Bassem 7 -95/+511
deps: Upgrade vitest Mohamed Bassem 5 -130/+81
feat(auth): Added env variable for OAuth timeout (#1136)
* feat(auth): add configurable OAuth timeout option
* fix(config): change OAUTH_TIMEOUT to use z.coerce.number for better type handling
* docs: Added instructions for OAUTH_TIMEOUT flag
Kaio Cesar 3 -0/+6
feat(workers): allows videoWorker to use ytdlp command line arguments specified… erik-nilcoast 3 -1/+8
ci: Fix E2E test timeout Mohamed Bassem 1 -0/+1
i18n: Enable new languages Mohamed Bassem 1 -1/+5
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: Resync the openapi spec Mohamed Bassem 2 -8/+61
fix: Harden getBookmarks endpoint against inconsistent bookmarks. Fixes #1094 Mohamed Bassem 2 -66/+60
build(deps-dev): bump vite from 5.1.4 to 5.4.12 (#1103)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.1.4 to 5.4.12.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v5.4.12/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.4.12/packages/vite)
---
updated-dependencies:
- dependency-name: vite
  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] 4 -175/+458
feat: Expose bookmark summarization in the API (#1088)
Proxy to the TRPC Summarize mutation for use in the public API
erik-nilcoast 3 -0/+121
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
feat: Add support for 'ai tagged' as a webhook trigger. Fixes #1092 Mohamed Bassem 4 -4/+12
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: custom fetch wrapper for ollama inference. Fixes #656 (#1032)
* Add configurable fetch timeout for Ollama client
* Worker service needs access to the .env file
* repair typescript types
* Update customFetch.ts
* update the config docs
---------
Co-authored-by: sbarbett <shane@barbetta.me>
Co-authored-by: Mohamed Bassem <me@mbassem.com>
Gavin Mogan 5 -12/+34
fix: Loosen the restriction about the browser address env variable. Fixes #1000 Mohamed Bassem 1 -2/+2
feat(web): bulk tag deletion. Fixes #872 (#900)
* feat(web): #872 bulk tag deletion
* revert lock file change
* change bulk tag action type def and fix small issue
* fix prettier
* minor fixes
---------
Co-authored-by: Mohamed Bassem <me@mbassem.com>
lexafaxine 5 -23/+311
feat(i18n): add Arabic language support (#983) Ahmad Mujahid 3 -1/+324
release(sdk): Release the 0.22 sdk Mohamed Bassem 1 -1/+1
i18n: Enable the Hungarian translation Mohamed Bassem 1 -0/+1
ci: Fix build by regenerating the open API spec Mohamed Bassem 2 -0/+5
fix: Fix node22 error in worker container. Fixes #962 Mohamed Bassem 5 -23/+17
fix: Dont rearchive singlefile uploads and consider them as archives Mohamed Bassem 4 -4/+20
feat: Change default max upload size to 50MB up from 4MB Mohamed Bassem 2 -6/+6
feat: Update the last modifiedAt timestamp when tags of the bookmark change Mohamed Bassem 1 -0/+9
feat(api): Expose the modifiedAt date in the bookmarks API Mohamed Bassem 3 -0/+13
fix: Fix search query parsing to allow and/or to be identifiers. Fixes #935 Mohamed Bassem 2 -4/+15
fix: Fix missing handling for AbortSignal in inference client Mohamed Bassem 1 -28/+53
fix: Abort all IO when workers timeout instead of detaching. Fixes #742 Mohamed Bassem 10 -119/+232
deps: Upgrade typescript to 5.7 Mohamed Bassem 13 -445/+336
feat: Add a new modifiedAt field to bookmarks table. Fixes #952 Mohamed Bassem 5 -13/+1683
i18n: Fix spanish language code. Fixes #925 Mohamed Bassem 1 -1/+1
feat: Change webhooks to be configurable by users Mohamed Bassem 23 -28/+4272
feat(webhook): Implement webhook functionality for bookmark events (#852)
* feat(webhook): Implement webhook functionality for bookmark events
- Added WebhookWorker to handle webhook requests.
- Integrated webhook triggering in crawlerWorker after video processing.
- Updated main worker initialization to include WebhookWorker.
- Enhanced configuration to support webhook URLs, token, and timeout.
- Documented webhook configuration options in the documentation.
- Introduced zWebhookRequestSchema for validating webhook requests.
* feat(webhook): Update webhook handling and configuration
- Changed webhook operation type from "create" to "crawled" in crawlerWorker and documentation.
- Enhanced webhook retry logic in WebhookWorker to support multiple attempts.
- Updated Docker configuration to include new webhook environment variables.
- Improved validation for webhook configuration in shared config.
- Adjusted zWebhookRequestSchema to reflect the new operation type.
- Updated documentation to clarify webhook configuration options and usage.
* minor modifications
---------
Co-authored-by: Mohamed Bassem <me@mbassem.com>
玄猫 6 -11/+237
fix: Fix url matcher not matching sourceUrl. Fixes #874 Mohamed Bassem 2 -5/+25
fix: Limit concurrency of bulk actions. Fix #773 Mohamed Bassem 5 -30/+285
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
release(sdk): Re-release the 0.21 sdk Mohamed Bassem 2 -17/+23
fix(sdk): Fix the module type of the sdk package Mohamed Bassem 2 -2/+4
docs: Add readme to SDK Mohamed Bassem 1 -0/+57
fix(sdk): Publish both esm and cjs modules for the sdk Mohamed Bassem 3 -6/+14
release(sdk): Release the 0.21 sdk Mohamed Bassem 1 -1/+1
refactor: Implement file streaming for asset route. Fixes #818 Mohamed Bassem (aider) 2 -23/+71
i18n: Enable the new translated languages Mohamed Bassem 1 -4/+11
ci: Fix build by using the workspace sdk package Mohamed Bassem 3 -13/+8
next