aboutsummaryrefslogtreecommitdiffstats
path: root/packages/trpc (unfollow)
Commit message (Collapse)AuthorFilesLines
2026-02-09Revert "refactor: move assetdb to shared-server"Mohamed Bassem5-5/+5
This reverts commit a04d3c35fc9082e529a713605a038d236bb072c7.
2026-02-09refactor: move assetdb to shared-serverMohamed Bassem5-5/+5
2026-02-09fix: Support nested smart lists with cycle detection (#2470)Mohamed Bassem4-27/+512
* fix: Support nested smart lists and prevent infinite loops --------- Co-authored-by: Claude <noreply@anthropic.com>
2026-02-09feat(ai): Support restricting AI tags to a subset of existing tags (#2444)Mohamed Bassem4-0/+10
* feat(ai): Support restricting AI tags to a subset of existing tags Co-authored-by: Claude <noreply@anthropic.com>
2026-02-08fix: correctly sum low pri and normal crawl queue sizeMohamed Bassem2-4/+11
2026-02-08feat: add source filter to query language (#2465)Mohamed Bassem1-0/+16
* 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-08fix: treat bookmark not found as a no-op in rule engine instead of a failure ↵Mohamed Bassem2-13/+15
(#2464) When a bookmark is deleted before the rule engine worker processes its event, the worker would throw an error, triggering failure metrics, error logging, and retries. This changes both the worker and RuleEngine.forBookmark to gracefully skip processing with an info log instead. Co-authored-by: Claude <noreply@anthropic.com>
2026-02-08feat: Add separate queue for import link crawling (#2452)Mohamed Bassem1-1/+7
* feat: add separate queue for import link crawling --------- Co-authored-by: Claude <noreply@anthropic.com>
2026-02-08fix: lower the priority of recrawlingMohamed Bassem2-9/+15
2026-02-04fix: lower priority of mass admin actionsMohamedBassem1-12/+33
2026-02-04feat: Import workflow v3 (#2378)Mohamed Bassem4-108/+419
* 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-01fix(web): don't bundle tiktoken in client bundlesMohamed Bassem1-1/+1
2026-02-01feat: add support for redirectUrl after signup (#2439)Mohamed Bassem4-7/+29
* feat: add support for redirectUrl after signup * pr review * more fixes * format * another fix
2026-02-01refactor: migrate trpc to the new react query integration mode (#2438)Mohamed Bassem1-1/+1
* refactor: migrate trpc to the new react query integration mode * more fixes * more migrations * upgrade trpc client
2026-02-01chore: add an endpoint for propagating client configs to the mobile appMohamed Bassem2-0/+12
2026-01-28fix: use user's preferred language for manual summarization (#2429)Mohamed Bassem1-1/+9
2026-01-19feat: disable karakeep 2025 wrappedMohamed Bassem1-0/+8
2026-01-18feat: Add attachedBy field to update tags endpoint (#2281)Mohamed Bassem2-12/+110
* feat: Add attachedBy field to updateTags endpoint This change allows callers to specify the attachedBy field when updating tags on a bookmark. The field defaults to "human" if not provided, maintaining backward compatibility with existing code. Changes: - Added attachedBy field to zManipulatedTagSchema with default "human" - Updated updateTags endpoint to use the specified attachedBy value - Created mapping logic to correctly assign attachedBy to each tag * fix(cli): migrate bookmark source in migration command * fix * reduce queries --------- Co-authored-by: Claude <noreply@anthropic.com>
2026-01-18feat: track api key usage datesMohamed Bassem2-1/+17
2026-01-18feat(rules): add "Title Contains" condition to Rule Engine (#1670) (#2354)Andrii Mokhovyk2-0/+50
* feat(rules): add "Title Contains" condition to Rule Engine (#1670) * feat(rules): hide title conditions for bookmark created trigger * fix typecheck
2026-01-11feat: privacy-respecting bookmark debugger admin tool (#2373)Mohamed Bassem4-15/+592
* 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-10fix: depri mass admin actionsMohamed Bassem1-10/+31
2026-01-10fix: parallelize queue enqueues in bookmark routesMohamed Bassem1-35/+42
2026-01-03feat: Add retry buttons for pending bookmarks in admin panel (#2341)Mohamed Bassem1-2/+2
2026-01-01fix: fix wrapped feature to only show bookmarks in 2025Mohamed Bassem1-1/+11
2026-01-01fix: don't switch the bookmark back to pending on recrawlMohamed Bassem1-7/+0
2025-12-30feat: add "URL Does Not Contain" condition to rule engine (#2280)Mohamed Bassem2-0/+23
* 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 Bassem2-1/+315
* feat: 2025 wrapped * don't add wrapped for new users
2025-12-30ci: fix testsMohamed Bassem1-1/+1
2025-12-29chore: add tracing for email functionsMohamed Bassem1-115/+109
2025-12-29feat: Add open telemetry (#2318)Mohamed Bassem2-1/+67
* 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-29 fix: reset tagging status on crawl failure (#2316)Mohamed Bassem1-0/+2
* feat: add the ability to specify a different changelog version * fix: reset tagging status on crawl failure * fix missing crawlStatus in loadMulti
2025-12-27feat: add customizable tag styles (#2312)Mohamed Bassem2-0/+12
* 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: support archiving as pdf (#2309)Mohamed Bassem3-0/+11
* feat: support archiving as pdf * add supprot for manually triggering pdf downloads * fix submenu * menu cleanup * fix store pdf
2025-12-24feat: show bookmark owner icon in shared lists (#2277)Mohamed Bassem3-0/+7
* 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-24fix: make avatars publicMohamed Bassem1-0/+5
2025-12-24refactor: move assets to their own model (#2301)Mohamed Bassem3-161/+270
* refactor: move assets to their own model * move asset privacy checks to the model
2025-12-24feat: add support for user avatars (#2296)Mohamed Bassem4-1/+191
* feat: add support for user avatars * more fixes * more fixes * more fixes * more fixes
2025-12-22fix(tests): fix the user setting testsMohamed Bassem1-0/+12
2025-12-22feat: Add user settings to disable auto tagging/summarization (#2275)Mohamed Bassem1-0/+6
* 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-22fix: check quota usage instead bookmark transactionMohamed Bassem1-123/+127
2025-12-22fix: optimize tagging db queries (#2287)Mohamed Bassem2-86/+206
* fix: optimize tagging db queries * review * parallel queries * refactoring
2025-12-15feat: Add unified reader settings with local overrides (#2230)Evan Simkowitz2-14/+38
* 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
2025-12-14fix: non-link bookmarks where stuck in pending summarization. Fixes #1605Mohamed Bassem1-0/+3
2025-12-13feat: Add limits on number of rss feeds and webhooks per userMohamed Bassem4-2/+208
2025-12-11fix: add more indicies for faster bookmark queries (#2246)Mohamed Bassem1-115/+140
2025-12-08fix: fix correctly accounting for text bookmark in import sessions. #2208Mohamed Bassem2-16/+58
2025-12-08feat: add is:broken search qualifier for broken links (#2225)Mohamed Bassem1-0/+23
Add a new search qualifier `is:broken` that allows users to filter bookmarks with broken or failed links. This matches the functionality on the broken links settings page, where a link is considered broken if: - crawlStatus is "failure" - crawlStatusCode is less than 200 - crawlStatusCode is greater than 299 The qualifier supports negation with `-is:broken` to find working links. Changes: - Add brokenLinks matcher type definition - Update search query parser to handle is:broken qualifier - Implement query execution logic for broken links filtering - Add autocomplete support with translations - Add parser tests - Update search query language documentation Co-authored-by: Claude <noreply@anthropic.com>
2025-12-07fix: remove queue triggers outside of updateTags transactionMohamed Bassem1-15/+19
2025-11-30fix: fix bypass email verification in apiKey.exchangeMohamed Bassem2-0/+56