From 9f7669b0107169002fcf26c2df9779c4b92b88e8 Mon Sep 17 00:00:00 2001 From: Hongbo Wu Date: Mon, 22 Jan 2024 16:49:05 +0800 Subject: [PATCH] fix: do not use encoded url as cache key --- packages/api/src/jobs/save_page.ts | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/packages/api/src/jobs/save_page.ts b/packages/api/src/jobs/save_page.ts index 9018f2e55..d48cd9f1c 100644 --- a/packages/api/src/jobs/save_page.ts +++ b/packages/api/src/jobs/save_page.ts @@ -1,16 +1,16 @@ +import { Readability } from '@omnivore/readability' import axios from 'axios' import jwt from 'jsonwebtoken' import { promisify } from 'util' import { env } from '../env' -import { redisDataSource } from '../redis_data_source' -import { savePage } from '../services/save_page' -import { userRepository } from '../repository/user' -import { logger } from '../utils/logger' -import { Readability } from '@omnivore/readability' import { ArticleSavingRequestStatus, CreateLabelInput, } from '../generated/graphql' +import { redisDataSource } from '../redis_data_source' +import { userRepository } from '../repository/user' +import { savePage } from '../services/save_page' +import { logger } from '../utils/logger' const signToken = promisify(jwt.sign) @@ -302,11 +302,11 @@ export const savePageJob = async (data: Data, attemptsMade: number) => { savedAt, publishedAt, taskId, + url, } = data let isImported, isSaved try { - const url = encodeURI(data.url) console.log(`savePageJob: ${userId} ${url}`) // get the fetch result from cache @@ -315,9 +315,15 @@ export const savePageJob = async (data: Data, attemptsMade: number) => { // for pdf content, we need to upload the pdf if (contentType === 'application/pdf') { - const uploadFileId = await uploadPdf(url, userId, articleSavingRequestId) + const encodedUrl = encodeURI(url) + + const uploadFileId = await uploadPdf( + encodedUrl, + userId, + articleSavingRequestId + ) const uploadedPdf = await sendCreateArticleMutation(userId, { - url, + url: encodedUrl, articleSavingRequestId, uploadFileId, state,