From 7604fb464121ef557150ea7ac88e61ac3228ed3c Mon Sep 17 00:00:00 2001 From: jllee000 Date: Mon, 22 Dec 2025 11:38:27 +0900 Subject: [PATCH 1/9] =?UTF-8?q?fix:=20chrome-storage=20=EC=A0=80=EC=9E=A5?= =?UTF-8?q?=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/client/package.json | 1 + apps/client/src/pages/onBoarding/GoogleCallback.tsx | 7 +++++++ pnpm-lock.yaml | 3 +++ 3 files changed, 11 insertions(+) diff --git a/apps/client/package.json b/apps/client/package.json index 63d2bdfd..2365856c 100644 --- a/apps/client/package.json +++ b/apps/client/package.json @@ -29,6 +29,7 @@ "@pivanov/vite-plugin-svg-sprite": "^3.1.3", "@tailwindcss/vite": "^4.1.12", "@tanstack/react-query-devtools": "^5.87.4", + "@types/chrome": "^0.0.273", "@vitejs/plugin-react-swc": "^4.0.0", "eslint": "^9.33.0", "eslint-plugin-react-hooks": "^5.2.0", diff --git a/apps/client/src/pages/onBoarding/GoogleCallback.tsx b/apps/client/src/pages/onBoarding/GoogleCallback.tsx index 8229bb20..e87643cf 100644 --- a/apps/client/src/pages/onBoarding/GoogleCallback.tsx +++ b/apps/client/src/pages/onBoarding/GoogleCallback.tsx @@ -26,7 +26,14 @@ const GoogleCallback = () => { if (isUser) { if (accessToken) { localStorage.setItem('token', accessToken); + + if (typeof chrome !== 'undefined' && chrome.storage?.local) { + chrome.storage.local.set({ token: accessToken }, () => { + console.log('Token saved to chrome storage'); + }); + } } + navigate('/'); } else { navigate('/onboarding?step=ALARM'); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c22b67dd..1b9a5f06 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -139,6 +139,9 @@ importers: '@tanstack/react-query-devtools': specifier: ^5.87.4 version: 5.87.4(@tanstack/react-query@5.85.5(react@19.1.1))(react@19.1.1) + '@types/chrome': + specifier: ^0.0.273 + version: 0.0.273 '@vitejs/plugin-react-swc': specifier: ^4.0.0 version: 4.0.0(@swc/helpers@0.5.17)(vite@7.1.2(@types/node@22.15.3)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.4)(yaml@2.8.1)) From e7af0c2a9be7948d199aa5a5b023065de1302c66 Mon Sep 17 00:00:00 2001 From: constantly-dev Date: Mon, 22 Dec 2025 11:54:25 +0900 Subject: [PATCH 2/9] =?UTF-8?q?fix:=20interceptor=EC=97=90=EC=84=9C=20refr?= =?UTF-8?q?esh=20=EB=A1=9C=EC=A7=81=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/shared/apis/setting/axiosInstance.ts | 71 ++----------------- apps/extension/src/apis/axiosInstance.ts | 69 +++++++----------- 2 files changed, 32 insertions(+), 108 deletions(-) diff --git a/apps/client/src/shared/apis/setting/axiosInstance.ts b/apps/client/src/shared/apis/setting/axiosInstance.ts index 4f71e25c..91cf0317 100644 --- a/apps/client/src/shared/apis/setting/axiosInstance.ts +++ b/apps/client/src/shared/apis/setting/axiosInstance.ts @@ -8,55 +8,11 @@ const apiRequest = axios.create({ }, }); -const refreshToken = async (email: string) => { - try { - const response = await axios.get( - `${import.meta.env.VITE_BASE_URL}/api/v1/auth/token`, - { - params: { email }, - } - ); - - const newToken = response.data.data?.token || response.data.token; - - if (newToken) { - localStorage.setItem('token', newToken); - return newToken; - } - - throw new Error('토큰 재발급 실패'); - } catch (error) { - console.error('토큰 재발급 실패:', error); - throw error; - } -}; - // 요청 인터셉터 apiRequest.interceptors.request.use(async (config) => { - const noAuthNeeded = [ - '/api/v1/auth/token', - '/api/v2/auth/signup', - '/api/v2/auth/google', - ]; - const isNoAuth = noAuthNeeded.some((url) => config.url?.includes(url)); - - if (!isNoAuth) { - let token = localStorage.getItem('token'); - const email = localStorage.getItem('email'); - if (email) { - try { - token = await refreshToken(email); - } catch (err) { - console.error('요청 인터셉터에서 토큰 재발급 실패:', err); - localStorage.removeItem('token'); - window.location.href = '/onboarding'; - throw err; - } - } else { - console.error('토큰이 없습니다. 온보딩을 먼저 완료해주세요.'); - throw new Error('토큰이 없습니다. 온보딩을 먼저 완료해주세요.'); - } + const token = localStorage.getItem('token'); + if (token) { config.headers.Authorization = `Bearer ${token}`; } @@ -68,11 +24,13 @@ apiRequest.interceptors.response.use( (response) => response, async (error) => { const originalRequest = error.config; + const noAuthNeeded = [ '/api/v1/auth/token', '/api/v2/auth/signup', '/api/v2/auth/google', ]; + const isNoAuth = noAuthNeeded.some((url) => originalRequest.url?.includes(url) ); @@ -85,25 +43,10 @@ apiRequest.interceptors.response.use( ) { originalRequest._retry = true; - try { - const email = localStorage.getItem('email'); + localStorage.removeItem('token'); + window.location.href = '/onboarding?step=SOCIAL_LOGIN'; - if (email) { - const newToken = await refreshToken(email); - originalRequest.headers.Authorization = `Bearer ${newToken}`; - return apiRequest(originalRequest); - } else { - console.error( - '사용자 이메일이 없습니다. 온보딩을 다시 완료해주세요.' - ); - localStorage.removeItem('token'); - window.location.href = '/onboarding'; - } - } catch (refreshError) { - console.error('토큰 재발급 실패:', refreshError); - localStorage.removeItem('token'); - window.location.href = '/onboarding'; - } + return Promise.reject(error); } return Promise.reject(error); diff --git a/apps/extension/src/apis/axiosInstance.ts b/apps/extension/src/apis/axiosInstance.ts index 7dc2c378..a7187d63 100644 --- a/apps/extension/src/apis/axiosInstance.ts +++ b/apps/extension/src/apis/axiosInstance.ts @@ -7,75 +7,56 @@ const apiRequest = axios.create({ }, }); -const fetchToken = async (email?: string) => { - const response = await axios.get( - `${import.meta.env.VITE_BASE_URL}/api/v1/auth/token`, - { - params: { email }, - } - ); - const newToken = response.data.data.token; - chrome.storage.local.set({ token: newToken }, () => { - console.log('Token re-saved to chrome storage'); - }); - return newToken; -}; - -apiRequest.interceptors.request.use(async (config) => { - const noAuthNeeded = ['/api/v1/auth/token', '/api/v1/auth/signup']; - const isNoAuth = noAuthNeeded.some((url) => config.url?.includes(url)); - - if (isNoAuth) return config; - - const email = await new Promise((resolve) => { - chrome.storage.local.get('email', (result) => resolve(result.email)); - }); - - let token = await new Promise((resolve) => { +const getTokenFromStorage = () => { + return new Promise((resolve) => { chrome.storage.local.get('token', (result) => { resolve(result.token); }); }); +}; - if (!isNoAuth) { - if (email) { - try { - token = await fetchToken(email); - } catch (err) { - console.error('요청 인터셉터에서 토큰 재발급 실패:', err); - localStorage.removeItem('token'); - window.location.href = '/onboarding'; - throw err; - } - } else { - throw new Error('토큰이 없습니다. 온보딩을 먼저 완료해주세요.'); - } +apiRequest.interceptors.request.use(async (config) => { + const token = await getTokenFromStorage(); + if (token) { config.headers.Authorization = `Bearer ${token}`; } return config; }); +// TODO: 환경변수로 분리 +// eslint-disable-next-line turbo/no-undeclared-env-vars +const onboardingUrl = import.meta.env.DEV + ? 'http://localhost:5173/onboarding?step=SOCIAL_LOGIN' + : 'https://pinback.today/onboarding?step=SOCIAL_LOGIN'; + apiRequest.interceptors.response.use( (response) => response, async (error) => { const originalRequest = error.config; - const noAuthNeeded = ['/api/v1/auth/token', '/api/v1/auth/signup']; + + const noAuthNeeded = [ + '/api/v1/auth/token', + '/api/v1/auth/signup', + '/api/v2/auth/google', + ]; const isNoAuth = noAuthNeeded.some((url) => originalRequest.url?.includes(url) ); + if ( error.response && (error.response.status === 401 || error.response.status === 403) && - !originalRequest._retry && !isNoAuth ) { - originalRequest._retry = true; - const newToken = await fetchToken('test@gmail.com'); - originalRequest.headers.Authorization = `Bearer ${newToken}`; - return apiRequest(originalRequest); + chrome.storage.local.remove(['token', 'email'], () => {}); + + chrome.tabs.create({ url: onboardingUrl }); + + return Promise.reject(error); } + return Promise.reject(error); } ); From bb5130a0dc374030a244c276ecee9907ecf446f1 Mon Sep 17 00:00:00 2001 From: jllee000 Date: Mon, 22 Dec 2025 11:54:56 +0900 Subject: [PATCH 3/9] =?UTF-8?q?fix:=20=ED=86=A0=ED=81=B0=20=ED=81=AC?= =?UTF-8?q?=EB=A1=AC=EC=8A=A4=ED=86=A0=EB=A6=AC=EC=A7=80=20=EC=A0=80?= =?UTF-8?q?=EC=9E=A5=20=EC=9D=B8=EC=8A=A4=ED=84=B4=EC=8A=A4=EC=97=90=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/client/src/shared/apis/queries.ts | 5 +++++ apps/client/src/shared/apis/setting/axiosInstance.ts | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/apps/client/src/shared/apis/queries.ts b/apps/client/src/shared/apis/queries.ts index dd35a74d..5d7246bb 100644 --- a/apps/client/src/shared/apis/queries.ts +++ b/apps/client/src/shared/apis/queries.ts @@ -80,6 +80,11 @@ export const usePostSignUp = () => { }; if (newToken) { localStorage.setItem('token', newToken); + if (typeof chrome !== 'undefined' && chrome.storage?.local) { + chrome.storage.local.set({ token: newToken }, () => { + console.log('Token saved to chrome storage'); + }); + } sendTokenToExtension(newToken); } diff --git a/apps/client/src/shared/apis/setting/axiosInstance.ts b/apps/client/src/shared/apis/setting/axiosInstance.ts index 4f71e25c..fceb243d 100644 --- a/apps/client/src/shared/apis/setting/axiosInstance.ts +++ b/apps/client/src/shared/apis/setting/axiosInstance.ts @@ -21,6 +21,11 @@ const refreshToken = async (email: string) => { if (newToken) { localStorage.setItem('token', newToken); + if (typeof chrome !== 'undefined' && chrome.storage?.local) { + chrome.storage.local.set({ token: newToken }, () => { + console.log('Token saved to chrome storage'); + }); + } return newToken; } From ae7f5e84f7c5dc04c6f4fba75a4f95d7405cd3cb Mon Sep 17 00:00:00 2001 From: constantly-dev Date: Mon, 22 Dec 2025 11:56:54 +0900 Subject: [PATCH 4/9] =?UTF-8?q?feat:=20tabs=20=EC=97=AC=EB=9F=AC=EA=B0=9C?= =?UTF-8?q?=20=EC=BC=9C=EC=A7=80=EB=8A=94=20=EB=AC=B8=EC=A0=9C=20=EB=B0=A9?= =?UTF-8?q?=EC=A7=80=EC=9A=A9=20isRedirecting=20flag=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/extension/src/apis/axiosInstance.ts | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/apps/extension/src/apis/axiosInstance.ts b/apps/extension/src/apis/axiosInstance.ts index a7187d63..b44dffe3 100644 --- a/apps/extension/src/apis/axiosInstance.ts +++ b/apps/extension/src/apis/axiosInstance.ts @@ -31,6 +31,8 @@ const onboardingUrl = import.meta.env.DEV ? 'http://localhost:5173/onboarding?step=SOCIAL_LOGIN' : 'https://pinback.today/onboarding?step=SOCIAL_LOGIN'; +let isRedirecting = false; + apiRequest.interceptors.response.use( (response) => response, async (error) => { @@ -50,11 +52,17 @@ apiRequest.interceptors.response.use( (error.response.status === 401 || error.response.status === 403) && !isNoAuth ) { - chrome.storage.local.remove(['token', 'email'], () => {}); + if (!isRedirecting) { + isRedirecting = true; - chrome.tabs.create({ url: onboardingUrl }); + chrome.storage.local.remove(['token', 'email'], () => {}); - return Promise.reject(error); + chrome.tabs.create({ url: onboardingUrl }, () => { + setTimeout(() => { + isRedirecting = false; + }, 2000); + }); + } } return Promise.reject(error); From a804963b3f082f4746ddab5f1430d4015701c931 Mon Sep 17 00:00:00 2001 From: jllee000 Date: Thu, 8 Jan 2026 23:54:14 +0900 Subject: [PATCH 5/9] =?UTF-8?q?feat:=20=EC=9D=B5=EC=8A=A4=ED=85=90?= =?UTF-8?q?=EC=85=98=20=ED=94=8C=EB=A1=9C=EC=9A=B0=20=ED=86=A0=ED=81=B0=20?= =?UTF-8?q?=EC=A0=80=EC=9E=A5=20=EB=A1=9C=EC=A7=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/pages/onBoarding/GoogleCallback.tsx | 16 ++++++++----- apps/client/src/shared/apis/queries.ts | 24 ++++++++----------- apps/extension/public/logout_chippi.svg | 1 + apps/extension/src/App.tsx | 3 ++- apps/extension/src/apis/axiosInstance.ts | 12 ---------- apps/extension/src/background.ts | 11 ++++----- apps/extension/src/content.ts | 5 +++- apps/extension/src/pages/LogOutPop.tsx | 8 +++++-- .../src/icons/source/logout_chippi.2512.svg | 2 +- 9 files changed, 39 insertions(+), 43 deletions(-) create mode 100644 apps/extension/public/logout_chippi.svg diff --git a/apps/client/src/pages/onBoarding/GoogleCallback.tsx b/apps/client/src/pages/onBoarding/GoogleCallback.tsx index e87643cf..e7402f14 100644 --- a/apps/client/src/pages/onBoarding/GoogleCallback.tsx +++ b/apps/client/src/pages/onBoarding/GoogleCallback.tsx @@ -27,13 +27,17 @@ const GoogleCallback = () => { if (accessToken) { localStorage.setItem('token', accessToken); - if (typeof chrome !== 'undefined' && chrome.storage?.local) { - chrome.storage.local.set({ token: accessToken }, () => { - console.log('Token saved to chrome storage'); - }); - } + const sendTokenToExtension = (token: string) => { + window.postMessage( + { + type: 'SET_TOKEN', + token, + }, + window.location.origin + ); + }; + sendTokenToExtension(accessToken); } - navigate('/'); } else { navigate('/onboarding?step=ALARM'); diff --git a/apps/client/src/shared/apis/queries.ts b/apps/client/src/shared/apis/queries.ts index 5d7246bb..08738216 100644 --- a/apps/client/src/shared/apis/queries.ts +++ b/apps/client/src/shared/apis/queries.ts @@ -69,22 +69,18 @@ export const usePostSignUp = () => { mutationFn: (data: postSignUpRequest) => postSignUp(data), onSuccess: (data) => { const newToken = data?.data?.token || data?.token; - const sendTokenToExtension = (token: string) => { - window.postMessage( - { - type: 'SET_TOKEN', - token, - }, - window.location.origin - ); - }; + if (newToken) { localStorage.setItem('token', newToken); - if (typeof chrome !== 'undefined' && chrome.storage?.local) { - chrome.storage.local.set({ token: newToken }, () => { - console.log('Token saved to chrome storage'); - }); - } + const sendTokenToExtension = (token: string) => { + window.postMessage( + { + type: 'SET_TOKEN', + token, + }, + window.location.origin + ); + }; sendTokenToExtension(newToken); } diff --git a/apps/extension/public/logout_chippi.svg b/apps/extension/public/logout_chippi.svg new file mode 100644 index 00000000..56472b08 --- /dev/null +++ b/apps/extension/public/logout_chippi.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/apps/extension/src/App.tsx b/apps/extension/src/App.tsx index b9fd24f5..53d59c27 100644 --- a/apps/extension/src/App.tsx +++ b/apps/extension/src/App.tsx @@ -11,10 +11,11 @@ const App = () => { const [isDuplicatePop, setIsDuplicatePop] = useState(false); const [mainPopType, setMainPopType] = useState<'add' | 'edit'>('add'); - const [isToken, setIsToken] = useState(null); + const [isToken, setIsToken] = useState(false); useEffect(() => { chrome.storage.local.get('token', (result) => { + console.log(!!result.token, result); setIsToken(!!result.token); }); }, []); diff --git a/apps/extension/src/apis/axiosInstance.ts b/apps/extension/src/apis/axiosInstance.ts index 6b606f6c..d56aca0f 100644 --- a/apps/extension/src/apis/axiosInstance.ts +++ b/apps/extension/src/apis/axiosInstance.ts @@ -26,10 +26,6 @@ apiRequest.interceptors.request.use(async (config) => { }); // TODO: 환경변수로 분리 -// eslint-disable-next-line turbo/no-undeclared-env-vars -const onboardingUrl = import.meta.env.DEV - ? 'http://localhost:5173/onboarding?step=SOCIAL_LOGIN' - : 'https://pinback.today/onboarding?step=SOCIAL_LOGIN'; let isRedirecting = false; @@ -54,14 +50,6 @@ apiRequest.interceptors.response.use( ) { if (!isRedirecting) { isRedirecting = true; - - chrome.storage.local.remove(['token', 'email'], () => {}); - - chrome.tabs.create({ url: onboardingUrl }, () => { - setTimeout(() => { - isRedirecting = false; - }, 2000); - }); } } diff --git a/apps/extension/src/background.ts b/apps/extension/src/background.ts index d92b8a97..2fd57e91 100644 --- a/apps/extension/src/background.ts +++ b/apps/extension/src/background.ts @@ -2,9 +2,9 @@ console.log('백그라운드 기능'); chrome.runtime.onInstalled.addListener((details) => { if (details.reason === 'install') { chrome.identity.getProfileUserInfo(function (info) { - chrome.storage.local.set({ 'email': info.email }, () => { - console.log(info.email); - }); + chrome.storage.local.set({ email: info.email }, () => { + console.log(info.email); + }); setTimeout(() => { chrome.tabs.create({ url: `https://www.pinback.today/onboarding?email=${info.email}`, @@ -14,11 +14,10 @@ chrome.runtime.onInstalled.addListener((details) => { } }); - chrome.runtime.onMessage.addListener((message) => { if (message.type === 'SET_TOKEN') { - chrome.storage.local.set({ 'token': message.token }, () => { + chrome.storage.local.set({ token: message.token }, () => { console.log('Token saved!', message.token); }); } -}); \ No newline at end of file +}); diff --git a/apps/extension/src/content.ts b/apps/extension/src/content.ts index d05e9781..9a8d1fcd 100644 --- a/apps/extension/src/content.ts +++ b/apps/extension/src/content.ts @@ -6,5 +6,8 @@ window.addEventListener('message', (event) => { type: 'SET_TOKEN', token: event.data.token, }); + chrome.storage.local.set({ token: event.data.token }, () => { + console.log('Token saved!', event.data.token); + }); } -}); \ No newline at end of file +}); diff --git a/apps/extension/src/pages/LogOutPop.tsx b/apps/extension/src/pages/LogOutPop.tsx index 8d10de18..c13a9d4d 100644 --- a/apps/extension/src/pages/LogOutPop.tsx +++ b/apps/extension/src/pages/LogOutPop.tsx @@ -1,5 +1,5 @@ import { Icon } from '@pinback/design-system/icons'; - +import LogOutImg from '/logout_chippi.svg'; const LogOutPop = () => { return (
@@ -7,7 +7,11 @@ const LogOutPop = () => {
- + 로그아웃 치삐

치삐를 만나려면 로그인이 필요해요! diff --git a/packages/design-system/src/icons/source/logout_chippi.2512.svg b/packages/design-system/src/icons/source/logout_chippi.2512.svg index 56472b08..71766953 100644 --- a/packages/design-system/src/icons/source/logout_chippi.2512.svg +++ b/packages/design-system/src/icons/source/logout_chippi.2512.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 807e638039391096deb45f77708c34a348c89218 Mon Sep 17 00:00:00 2001 From: jllee000 Date: Thu, 8 Jan 2026 23:59:23 +0900 Subject: [PATCH 6/9] =?UTF-8?q?chore:=20=EC=BD=98=EC=86=94=20=EC=A0=9C?= =?UTF-8?q?=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/extension/src/App.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/extension/src/App.tsx b/apps/extension/src/App.tsx index 53d59c27..05fb802b 100644 --- a/apps/extension/src/App.tsx +++ b/apps/extension/src/App.tsx @@ -15,7 +15,6 @@ const App = () => { useEffect(() => { chrome.storage.local.get('token', (result) => { - console.log(!!result.token, result); setIsToken(!!result.token); }); }, []); From 8ffa7b50d66a2e49a61571658e9f8e05af44443a Mon Sep 17 00:00:00 2001 From: jllee000 Date: Fri, 9 Jan 2026 00:01:03 +0900 Subject: [PATCH 7/9] =?UTF-8?q?chore:=20=EC=BD=98=EC=86=94=20=EC=A0=9C?= =?UTF-8?q?=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/client/public/firebase-messaging-sw.js | 4 ---- apps/client/src/shared/apis/queries.ts | 2 -- apps/extension/src/background.ts | 5 ++--- apps/extension/src/content.ts | 1 - apps/extension/src/hooks/useSaveBookmarks.ts | 2 -- packages/design-system/src/components/gtag/utils/gtag.ts | 5 +---- 6 files changed, 3 insertions(+), 16 deletions(-) diff --git a/apps/client/public/firebase-messaging-sw.js b/apps/client/public/firebase-messaging-sw.js index 1d918c25..c8163a1c 100644 --- a/apps/client/public/firebase-messaging-sw.js +++ b/apps/client/public/firebase-messaging-sw.js @@ -35,8 +35,6 @@ firebase.initializeApp(firebaseConfig); const messaging = firebase.messaging(); messaging.onBackgroundMessage((payload) => { - console.log('Received background message ', payload); - const url = payload.data?.url || 'https://www.pinback.today'; const notificationTitle = payload.notification?.title || 'pinback'; const notificationOptions = { @@ -50,8 +48,6 @@ messaging.onBackgroundMessage((payload) => { }); self.addEventListener('notificationclick', (event) => { - console.log('🔔 알림 클릭됨:', event); - const targetUrl = event.notification.data?.url || 'https://www.pinback.today'; fetch( diff --git a/apps/client/src/shared/apis/queries.ts b/apps/client/src/shared/apis/queries.ts index 08738216..33431aaf 100644 --- a/apps/client/src/shared/apis/queries.ts +++ b/apps/client/src/shared/apis/queries.ts @@ -83,8 +83,6 @@ export const usePostSignUp = () => { }; sendTokenToExtension(newToken); } - - console.log('회원가입 성공:', data); }, onError: (error) => { console.error('회원가입 실패:', error); diff --git a/apps/extension/src/background.ts b/apps/extension/src/background.ts index 2fd57e91..1a0968bc 100644 --- a/apps/extension/src/background.ts +++ b/apps/extension/src/background.ts @@ -1,9 +1,8 @@ -console.log('백그라운드 기능'); chrome.runtime.onInstalled.addListener((details) => { if (details.reason === 'install') { chrome.identity.getProfileUserInfo(function (info) { chrome.storage.local.set({ email: info.email }, () => { - console.log(info.email); + console.log('User email saved:'); }); setTimeout(() => { chrome.tabs.create({ @@ -17,7 +16,7 @@ chrome.runtime.onInstalled.addListener((details) => { chrome.runtime.onMessage.addListener((message) => { if (message.type === 'SET_TOKEN') { chrome.storage.local.set({ token: message.token }, () => { - console.log('Token saved!', message.token); + console.log('Token saved!'); }); } }); diff --git a/apps/extension/src/content.ts b/apps/extension/src/content.ts index 9a8d1fcd..e3e1d082 100644 --- a/apps/extension/src/content.ts +++ b/apps/extension/src/content.ts @@ -1,4 +1,3 @@ -console.log('컨텐츠 스크립트 로드됨'); window.addEventListener('message', (event) => { if (event.source !== window) return; if (event.data.type === 'SET_TOKEN') { diff --git a/apps/extension/src/hooks/useSaveBookmarks.ts b/apps/extension/src/hooks/useSaveBookmarks.ts index 980ccfd1..b5796d65 100644 --- a/apps/extension/src/hooks/useSaveBookmarks.ts +++ b/apps/extension/src/hooks/useSaveBookmarks.ts @@ -55,7 +55,6 @@ export const useSaveBookmark = () => { reject(chrome.runtime.lastError); return; } - console.log('새 폴더 생성됨 👉', newFolder); resolve(newFolder.id); } ); @@ -74,7 +73,6 @@ export const useSaveBookmark = () => { reject(chrome.runtime.lastError); return; } - console.log('📌 PinBack 폴더에 북마크 저장 완료:', newBookmark); resolve(); } ); diff --git a/packages/design-system/src/components/gtag/utils/gtag.ts b/packages/design-system/src/components/gtag/utils/gtag.ts index aacd0e57..eb7da944 100644 --- a/packages/design-system/src/components/gtag/utils/gtag.ts +++ b/packages/design-system/src/components/gtag/utils/gtag.ts @@ -40,8 +40,7 @@ export const sendGAEvent = async ( event_label: label, value, }); - - console.log(`✅ GA 이벤트 전송됨: ${action}`); += }; /** @@ -59,6 +58,4 @@ export const trackPageView = async (title?: string) => { page_title: title ?? document.title, page_path: window.location.pathname, }); - - console.log('📍 페이지뷰 트래킹:', window.location.pathname); }; From 04b740775bd583468c9dfd120caf0ca868c94bac Mon Sep 17 00:00:00 2001 From: jllee000 Date: Fri, 9 Jan 2026 00:33:40 +0900 Subject: [PATCH 8/9] =?UTF-8?q?chore:=20=EB=B9=8C=EB=93=9C=20=EC=97=90?= =?UTF-8?q?=EB=9F=AC=20=EB=B3=B5=EA=B5=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/extension/src/hooks/useSaveBookmarks.ts | 2 ++ packages/design-system/src/components/gtag/utils/gtag.ts | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/extension/src/hooks/useSaveBookmarks.ts b/apps/extension/src/hooks/useSaveBookmarks.ts index b5796d65..980ccfd1 100644 --- a/apps/extension/src/hooks/useSaveBookmarks.ts +++ b/apps/extension/src/hooks/useSaveBookmarks.ts @@ -55,6 +55,7 @@ export const useSaveBookmark = () => { reject(chrome.runtime.lastError); return; } + console.log('새 폴더 생성됨 👉', newFolder); resolve(newFolder.id); } ); @@ -73,6 +74,7 @@ export const useSaveBookmark = () => { reject(chrome.runtime.lastError); return; } + console.log('📌 PinBack 폴더에 북마크 저장 완료:', newBookmark); resolve(); } ); diff --git a/packages/design-system/src/components/gtag/utils/gtag.ts b/packages/design-system/src/components/gtag/utils/gtag.ts index eb7da944..7205c6da 100644 --- a/packages/design-system/src/components/gtag/utils/gtag.ts +++ b/packages/design-system/src/components/gtag/utils/gtag.ts @@ -40,7 +40,6 @@ export const sendGAEvent = async ( event_label: label, value, }); -= }; /** From dae2ae2468bc507658857eb069705dd22963eb16 Mon Sep 17 00:00:00 2001 From: jllee000 Date: Fri, 9 Jan 2026 01:00:07 +0900 Subject: [PATCH 9/9] =?UTF-8?q?feat:=20=EC=9D=B4=EB=AF=B8=EC=A7=80=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/design-system/src/icons/source/logout_chippi.2512.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/design-system/src/icons/source/logout_chippi.2512.svg b/packages/design-system/src/icons/source/logout_chippi.2512.svg index 71766953..56472b08 100644 --- a/packages/design-system/src/icons/source/logout_chippi.2512.svg +++ b/packages/design-system/src/icons/source/logout_chippi.2512.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file