aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* feat(rules): add "Title Contains" condition to Rule Engine (#1670) (#2354)Andrii Mokhovyk2026-01-186-1/+133
| | | | | | | | * feat(rules): add "Title Contains" condition to Rule Engine (#1670) * feat(rules): hide title conditions for bookmark created trigger * fix typecheck
* fix(mobile): Reader settings preview on mobile matches reader view ↵Evan Simkowitz2026-01-182-16/+170
| | | | | | | formatting (#2365) * fix: Reader settings preview on mobile matches reader view formatting * address comments
* fix(web): avoid masonry overflow in bookmark grids (#2400)Evan Frenkel2026-01-183-5/+25
|
* docs: Update CRAWLER_ALLOWED_INTERNAL_HOSTNAMES documentation with tailscale ↵E.T.2026-01-172-2/+2
| | | | | | | | | examples (#2355) * Update CRAWLER_ALLOWED_INTERNAL_HOSTNAMES documentation with tailscale examples * docs: Update CRAWLER_ALLOWED_INTERNAL_HOSTNAMES documentation with tailscale examples Added to general documentation, not just version v0.30.0 docs
* deps: upgrade react to 19.2.1Mohamed Bassem2026-01-157-1172/+1229
|
* fix(mobile): add custom headers to card banners. fixes #2342Mohamed Bassem2026-01-111-6/+9
|
* docs: docs for Ollama to recommend OpenAI-compatible endpoint (#2374)Mark :)2026-01-113-27/+29
| | | | | | | | | * fix(docs): update Ollama instructions and clarify AI provider options * fix(docs): correct formatting of note on random string generation --------- Co-authored-by: mark <7497389+Mxrk@users.noreply.github.com>
* feat: privacy-respecting bookmark debugger admin tool (#2373)Mohamed Bassem2026-01-119-18/+1304
| | | | | | | | | | | | | * fix: parallelize queue enqueues in bookmark routes * fix: guard meilisearch client init with mutex * feat: add bookmark debugging admin tool * more fixes * more fixes * more fixes
* fix: Accept more permissive RSS feed content types and Fix User-Agent key ↵E.T.2026-01-111-2/+2
| | | | | | | | | | | | | | | (#2353) * Fix User-Agent key and accept more permissive content types Some feeds are Content-Type application/xml only and will respond with a 406 error to responses with a header of content type application/rss+xml. This change allows for the more permissive content types application/xml and text/xml to be accepted Also fixes UserAgent with correct User-Agent * Fix: Remote trailing whitespace in feedWorker.ts Fix formatting on HTTP Header for RSS Accceptable Content-Types introduced in commit 6896392 * format
* fix(docs): fix links of openai secton and issue templateMohamed Bassem2026-01-107-7/+7
|
* fix: depri mass admin actionsMohamed Bassem2026-01-101-10/+31
|
* fix: harden the restate implementation (#2370)Mohamed Bassem2026-01-108-211/+611
| | | | | | | | | | | | | | | | | | | * fix: parallelize queue enqueues in bookmark routes * fix: guard meilisearch client init with mutex * fix: fix propagation of last error in restate * fix: don't fail invocations when the job fails * fix: add a timeout around the worker runner logic * fix: add leases to handle dangling semaphores * feat: separate dispatchers and runners * add a test * fix silent promise failure
* fix: fix propagation of last error in restateMohamed Bassem2026-01-101-0/+1
|
* fix: guard meilisearch client init with mutexMohamed Bassem2026-01-101-0/+12
|
* fix: parallelize queue enqueues in bookmark routesMohamed Bassem2026-01-101-35/+42
|
* feat: add openai service tier configuration option (#2339)Robert Rosca2026-01-035-0/+13
|
* fix: stop theme flashes with cloudflare rocket loader (#2340)Sweepy2026-01-031-1/+5
|
* feat: Add retry buttons for pending bookmarks in admin panel (#2341)Mohamed Bassem2026-01-033-2/+33
|
* fix: drop idProvider from restate hot pathMohamed Bassem2026-01-031-2/+1
|
* fix: Eliminate the O(n2) parsing of the netscape import parsing (#2338)Mohamed Bassem2026-01-032-34/+351
| | | | | * fix: Eliminate the O(n2) parsing of the netscape import parsing * remove unneeded tests
* chore: add a note about hostname allowlists in the validation error messageMohamed Bassem2026-01-021-1/+1
|
* fix(mobile): fix the connection debug text areaMohamed Bassem2026-01-022-17/+14
|
* fix(mobile): fix save button in server-address screen on androidMohamed Bassem2026-01-021-8/+9
|
* fix(docs): remove horizontal scrolling in docsMohamed Bassem2026-01-021-95/+0
|
* feat(mobile): use react native sonnerMohamed Bassem2026-01-014-260/+70
|
* release(cli,sdk): release cli and sdk v0.30Mohamed Bassem2026-01-013-5/+15
|
* release(mobile): Bump mobile version to 1.8.4Mohamed Bassem2026-01-011-3/+3
|
* release(docs): release the 0.30 docsMohamed Bassem2026-01-01103-93/+5878
|
* i18n: fix en_US translationMohamed Bassem2026-01-011-15/+15
|
* fix: fix wrapped feature to only show bookmarks in 2025Mohamed Bassem2026-01-011-1/+11
|
* i18n: Sync weblate translationsHosted Weblate2026-01-0131-189/+2340
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Co-authored-by: OpenAI <noreply-mt-openai@weblate.org> Co-authored-by: killallpie <killallpie@inbox.ru> Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/ar/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/cs/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/da/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/de/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/el/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/en_US/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/es/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/fa/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/fi/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/fr/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/ga/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/gl/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/hr/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/hu/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/it/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/ja/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/ko/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/nb_NO/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/nl/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/pl/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/pt/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/pt_BR/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/ru/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/sk/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/sl/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/sv/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/tr/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/uk/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/vi/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/zh_Hans/ Translate-URL: https://hosted.weblate.org/projects/karakeep/karakeep/zh_Hant/ Translation: Karakeep/Karakeep
* chore: drop the experimental tag from the rule engineMohamed Bassem2026-01-011-10/+1
|
* fix: show a toast during banner uploadMohamed Bassem2026-01-012-43/+30
|
* fix: don't switch the bookmark back to pending on recrawlMohamed Bassem2026-01-011-7/+0
|
* fix: use the Ollama generate endpoint instead of chat (#2324)Erik Tews2026-01-011-5/+4
| | | | | | | | | * Use the Ollama generate endpoint instead of chat Ollama has two API endpoints for text generation. There is a chat endpoint for interactive and interactive chat like generation of text and there is a generate endpoint that is used one one-shot prompts, such as summarization tasks and similar things. Karakeep used the chat endpoint that resulted in odd summaries. This commit makes karakeep use the generate endpoint instead, which results in better and more compact summaries. * format
* feat: add replace banner and attachment download (#2328)Mohamed Bassem2026-01-016-17/+205
| | | | | | | | | * feat: add replace banner and attachment download * add pdf preview in mobile app * fix menu order * fix comment
* feat: Add bulk remove from list (#2279)Mohamed Bassem2025-12-304-2/+88
| | | | | | | | | | | | | | | | | | | | | | | * feat: Add bulk remove from list action in list context - Add "Remove from List" button in bulk actions menu - Only visible when in a manual list context with editor/owner role - Includes confirmation dialog before removal - Uses same concurrency pattern as bulk add (50 concurrent operations) - Displays success count in toast notification - Add translation key "actions.remove" for consistency This complements the existing bulk add to list functionality and allows users to efficiently remove multiple bookmarks from a list at once. * fmt * fix list context * add remove from list --------- Co-authored-by: Claude <noreply@anthropic.com>
* feat: add "URL Does Not Contain" condition to rule engine (#2280)Mohamed Bassem2025-12-305-0/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * feat: add "URL Does Not Contain" condition to rule engine Add a new condition type `urlDoesNotContain` that allows users to create rules based on URLs that do NOT contain specific strings. This enables more flexible rule configurations, such as: - Automatically adding bookmarks to a "Read Later" list if the URL does not contain "reddit.com" or "youtube.com" Changes: - Added `urlDoesNotContain` condition type to Zod schema - Implemented evaluation logic in RuleEngine - Added UI support in ConditionBuilder component - Added translation key for new condition type - Added test coverage for the new condition Fixes #2259 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Mohamed Bassem <MohamedBassem@users.noreply.github.com> * fix type link --------- Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com> Co-authored-by: Mohamed Bassem <MohamedBassem@users.noreply.github.com>
* feat: 2025 wrapped (#2322)Mohamed Bassem2025-12-3013-31/+1107
| | | | | * feat: 2025 wrapped * don't add wrapped for new users
* chore: worker tracing (#2321)Mohamed Bassem2025-12-3012-821/+1030
|
* feat(landing): add corporate pricingMohamed Bassem2025-12-301-56/+95
|
* fix(mobile): mobile modal UI issues (#2320)sergio2025-12-302-33/+46
| | | | | * fix(mobile): Make list type selector visible on Android * fix(mobile): Add native iOS overlay on Toast
* ci: fix testsMohamed Bassem2025-12-301-1/+1
|
* feat: change default for tag style to be title case with spacesMohamed Bassem2025-12-304-1/+3030
|
* fix: more tagging tweaksMohamed Bassem2025-12-291-4/+3
|
* build: fix broken CIMohamed Bassem2025-12-291-12/+3
|
* fix: change prompt to better recognize error pagesMohamed Bassem2025-12-291-3/+6
|
* refactor: reduce duplication in compare-models toolMohamed Bassem2025-12-2910-196/+316
|
* chore: add tracing for email functionsMohamed Bassem2025-12-291-124/+118
|
* feat(mobile): create new list edit screen (#2310)sergio2025-12-293-2/+178
| | | | | | | | | | | | | | | | | | | | | | | | | | | * feat(mobile): create new edit screen and path * refactor(mobile): use correct import for back navigation * refactor(mobile): remove set state for list type * feat(mobile): handle loading state * feat(mobile): add error handling * feat(mobile): add local validation for empty list name * refactor(mobile): use correct param name in edit path * feat(mobile): handle all pending state cases * refactor(mobile): remove unnecessary return * refactor(mobile): move type validation to top of the file * refactor(mobile): revert validation order * refactor(mobile): clean up submit values * fix(mobile): fix button views