From a0dd73f5aaba3a9048f937a077357f5a75168ed0 Mon Sep 17 00:00:00 2001 From: Mohamed Bassem Date: Sat, 6 Sep 2025 06:27:40 +0000 Subject: fix: Dont attempt to fetch rss if the user if out of quota --- apps/workers/workers/feedWorker.ts | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/apps/workers/workers/feedWorker.ts b/apps/workers/workers/feedWorker.ts index 62106fc8..74b5f65c 100644 --- a/apps/workers/workers/feedWorker.ts +++ b/apps/workers/workers/feedWorker.ts @@ -9,6 +9,7 @@ import { z } from "zod"; import type { ZFeedRequestSchema } from "@karakeep/shared/queues"; import { db } from "@karakeep/db"; import { rssFeedImportsTable, rssFeedsTable } from "@karakeep/db/schema"; +import { QuotaService } from "@karakeep/shared-server"; import logger from "@karakeep/shared/logger"; import { FeedQueue } from "@karakeep/shared/queues"; import { BookmarkTypes } from "@karakeep/shared/types/bookmarks"; @@ -94,6 +95,18 @@ async function run(req: DequeuedJob) { `[feed][${jobId}] Feed with id ${req.data.feedId} not found`, ); } + + // If the user doesn't have bookmark quota, don't bother with fetching the feed + { + const quotaResult = await QuotaService.canCreateBookmark(db, feed.userId); + if (!quotaResult.result) { + logger.debug( + `[feed][${jobId}] User ${feed.userId} doesn't have enough quota to create bookmarks. Skipping feed fetching.`, + ); + return; + } + } + logger.info( `[feed][${jobId}] Starting fetching feed "${feed.name}" (${feed.id}) ...`, ); -- cgit v1.2.3-70-g09d2