aboutsummaryrefslogtreecommitdiffstats
path: root/apps/web (unfollow)
Commit message (Collapse)AuthorFilesLines
2026-02-09feat: link to apps and extensions, docs and twitter in profile dropdownMohamed Bassem2-2/+34
2026-02-09fix: dedup list and recent search suggestionsMohamed Bassem1-10/+32
2026-02-09feat(ai): Support restricting AI tags to a subset of existing tags (#2444)Mohamed Bassem4-8/+218
* feat(ai): Support restricting AI tags to a subset of existing tags Co-authored-by: Claude <noreply@anthropic.com>
2026-02-09feat: Added Import for Instapaper (#2434)Daniel Wieser2-0/+20
* Added Instapaper import * Fixes #1444 Added Instapaper import support
2026-02-08feat: Add drag-and-drop support for bookmarks to lists (#2469)Mohamed Bassem5-111/+265
* feat: add drag and drop bookmark cards into sidebar lists Co-authored-by: Claude <noreply@anthropic.com>
2026-02-08feat: add source filter to query language (#2465)Mohamed Bassem3-1/+70
* feat: add source filter to query language Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * autocomplete source --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-04feat(import): new import details page (#2451)Mohamed Bassem5-2/+666
* feat(import): new import details page * fix typecheck * review comments
2026-02-04feat: Import workflow v3 (#2378)Mohamed Bassem4-105/+143
* feat: import workflow v3 * batch stage * revert migration * cleanups * pr comments * move to models * add allowed workers * e2e tests * import list ids * add missing indicies * merge test * more fixes * add resume/pause to UI * fix ui states * fix tests * simplify progress tracking * remove backpressure * fix list imports * fix race on claiming bookmarks * remove the codex file
2026-02-01chore: replace dayjs with data-fnsMohamed Bassem4-15/+7
2026-02-01fix(web): don't bundle tiktoken in client bundlesMohamed Bassem2-1/+7
2026-02-01feat: add support for redirectUrl after signup (#2439)Mohamed Bassem4-14/+62
* feat: add support for redirectUrl after signup * pr review * more fixes * format * another fix
2026-02-01fix: better looking error message when article content is unavailableMohamed Bassem2-1/+22
2026-02-01refactor: remove unused trpc files from web and mobileMohamed Bassem59-64/+82
2026-02-01refactor: migrate trpc to the new react query integration mode (#2438)Mohamed Bassem65-1177/+1511
* refactor: migrate trpc to the new react query integration mode * more fixes * more migrations * upgrade trpc client
2026-02-01refactor: centralize auth imports through new client module (#2437)Mohamed Bassem15-15/+25
* refactor(web): centralize next-auth client-side utilities Create lib/auth/client.ts to re-export all next-auth/react APIs (useSession, signIn, signOut, SessionProvider) from a single location. This prepares for future auth provider replacement by isolating the next-auth dependency. https://claude.ai/code/session_01RLLL6SquzmegG6wKHdT3Fm * format --------- Co-authored-by: Claude <noreply@anthropic.com>
2026-01-19fix(ui): Improve visual consistency in all lists and highlights pageMohamed Bassem5-21/+29
2026-01-19feat: disable karakeep 2025 wrappedMohamed Bassem3-56/+3
2026-01-18feat: track api key usage datesMohamed Bassem3-19/+29
2026-01-18feat(rules): add "Title Contains" condition to Rule Engine (#1670) (#2354)Andrii Mokhovyk3-1/+58
* feat(rules): add "Title Contains" condition to Rule Engine (#1670) * feat(rules): hide title conditions for bookmark created trigger * fix typecheck
2026-01-18fix(web): avoid masonry overflow in bookmark grids (#2400)Evan Frenkel3-5/+25
2026-01-15deps: upgrade react to 19.2.1Mohamed Bassem1-2/+2
2026-01-11feat: privacy-respecting bookmark debugger admin tool (#2373)Mohamed Bassem5-3/+712
* 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
2026-01-03fix: stop theme flashes with cloudflare rocket loader (#2340)Sweepy1-1/+5
2026-01-03feat: Add retry buttons for pending bookmarks in admin panel (#2341)Mohamed Bassem2-0/+31
2026-01-01i18n: fix en_US translationMohamed Bassem1-15/+15
2026-01-01i18n: Sync weblate translationsHosted Weblate31-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
2026-01-01chore: drop the experimental tag from the rule engineMohamed Bassem1-10/+1
2026-01-01fix: show a toast during banner uploadMohamed Bassem2-43/+30
2026-01-01feat: add replace banner and attachment download (#2328)Mohamed Bassem3-16/+163
* feat: add replace banner and attachment download * add pdf preview in mobile app * fix menu order * fix comment
2025-12-30feat: Add bulk remove from list (#2279)Mohamed Bassem4-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>
2025-12-30feat: add "URL Does Not Contain" condition to rule engine (#2280)Mohamed Bassem2-0/+20
* 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>
2025-12-30feat: 2025 wrapped (#2322)Mohamed Bassem9-15/+690
* feat: 2025 wrapped * don't add wrapped for new users
2025-12-29feat: Add open telemetry (#2318)Mohamed Bassem2-0/+8
* feat: add OpenTelemetry tracing infrastructure Introduce distributed tracing capabilities using OpenTelemetry: - Add @opentelemetry packages to shared-server for tracing - Create tracing utility module with span helpers (withSpan, addSpanEvent, etc.) - Add tRPC middleware for automatic span creation on API calls - Initialize tracing in API and workers entry points - Add demo instrumentation to bookmark creation and crawler worker - Add configuration options (OTEL_TRACING_ENABLED, OTEL_EXPORTER_OTLP_ENDPOINT, etc.) - Document tracing configuration in environment variables docs When enabled, traces are collected for tRPC calls, bookmark creation flow, and crawler operations, with support for any OTLP-compatible backend (Jaeger, Tempo, etc.) * refactor: remove tracing from workers for now Keep tracing infrastructure but remove worker instrumentation: - Remove tracing initialization from workers entry point - Remove tracing instrumentation from crawler worker - Fix formatting in tracing files The tracing infrastructure remains available for future use. * add hono and next tracing * remove extra span logging * more fixes * update config * some fixes * upgrade packages * remove unneeded packages --------- Co-authored-by: Claude <noreply@anthropic.com>
2025-12-29feat: add the ability to specify a different changelog versionMohamed Bassem2-19/+42
2025-12-29fix: remove duplicate mobile backdrop button in reader view (#2234)Evan Simkowitz1-14/+0
2025-12-29refactor: add suspense boundary in sidebar layoutMohamed Bassem8-175/+297
2025-12-28feat(web): better looking scrollbar in the sidebarMohamed Bassem1-1/+1
2025-12-28refactor: migrate toasts to sonnerMohamed Bassem65-288/+134
2025-12-27feat: add customizable tag styles (#2312)Mohamed Bassem6-124/+645
* feat: add customizable tag styles * add tag lang setting * ui settings cleanup * fix migration * change look of the field * more fixes * fix tests
2025-12-27feat: add Matter import support (#2245)Moondragon8533-0/+49
* Matter import * use zod * fix date parsing --------- Co-authored-by: Mohamed Bassem <me@mbassem.com>
2025-12-27feat: support archiving as pdf (#2309)Mohamed Bassem5-30/+154
* feat: support archiving as pdf * add supprot for manually triggering pdf downloads * fix submenu * menu cleanup * fix store pdf
2025-12-25feat: add notes to the bookmark edit dialogMohamed Bassem1-0/+21
2025-12-24feat: show bookmark owner icon in shared lists (#2277)Mohamed Bassem5-46/+164
* feat: Add owner icon to bookmarks in shared lists Display a small icon showing the bookmark owner's name and email on hover when viewing bookmarks from other users in shared lists. The icon appears in the top-right corner of bookmark cards across all layout types (grid, list, compact). Changes: - Add user field to ZBookmark type to include owner name and email - Update bookmark queries to fetch user information via join - Create BookmarkOwnerIcon component with tooltip showing owner details - Integrate owner indicator into BookmarkLayoutAdaptingCard for all layouts - Only show icon for bookmarks not owned by current user * use icons in more places * remove tooltip providers * fix non list context --------- Co-authored-by: Claude <noreply@anthropic.com>
2025-12-24feat: add support for user avatars (#2296)Mohamed Bassem10-4/+297
* feat: add support for user avatars * more fixes * more fixes * more fixes * more fixes
2025-12-22feat: add a warning about viewing archives inline. fixes #2286Mohamed Bassem3-1/+33
2025-12-22feat: Add user settings to disable auto tagging/summarization (#2275)Mohamed Bassem4-0/+117
* feat: Add per-user settings to disable auto-tagging and auto-summarization This commit adds user-level controls for AI features when they are enabled on the server. Users can now toggle auto-tagging and auto-summarization on/off from the AI Settings page. Changes: - Added autoTaggingEnabled and autoSummarizationEnabled fields to user table - Updated user settings schemas and API endpoints to handle new fields - Modified inference workers to check user preferences before processing - Added toggle switches to AI Settings page (only visible when server has features enabled) - Generated database migration for new fields - Exposed enableAutoTagging and enableAutoSummarization in client config The settings default to null (use server default). When explicitly set to false, the user's bookmarks will skip the respective AI processing. * revert migration * i18n --------- Co-authored-by: Claude <noreply@anthropic.com>
2025-12-20fix: add authentication checks to settings layout (#2274)Mohamed Bassem1-2/+24
The settings layout was missing authentication checks, causing server errors when unauthenticated users tried to access any settings page. This fix adds: - Session verification via getServerAuthSession() - Redirect to "/" if no session exists - Proper error handling with tryCatch wrapper - Redirect to "/logout" for NOT_FOUND or UNAUTHORIZED errors This brings the settings layout in line with the auth patterns used in dashboard, admin, and reader layouts. Fixes #2242 Co-authored-by: Claude <noreply@anthropic.com>
2025-12-20fix: only trigger search autocomplete on first search charMohamed Bassem1-2/+7
2025-12-18fix: collapse reader settings by defaultMohamed Bassem1-186/+209
2025-12-15feat: Add unified reader settings with local overrides (#2230)Evan Simkowitz11-162/+1041
* Add initial impl * fix some format inconsistencies, add indicator in user settings when local is out of sync * Fix sliders in user settings, unify constants and formatting * address CodeRabbit suggestions * add mobile implementation * address coderabbit nitpicks * fix responsiveness of the reader settings popover * Move more of the web UI strings to i18n * update translations for more coverage * remove duplicate logic/definitions * fix android font family * add shared reading setting hook between web and mobile * unify reader settings context for both web and mobile * remove unused export * address coderabbit suggestions * fix tests