fix(push): 구독 시 동일 사용자의 이전 구독 정리 (브라우저→앱 전환)
Deploy momo-erp / deploy (push) Successful in 1m53s

삼성 인터넷 등 브라우저로 먼저 만든 구독이 남아 앱 대신 브라우저 알림으로
오던 문제. 앱(TWA)에서 알림을 다시 켜면 최신 구독만 남기고 옛 구독 삭제.
This commit is contained in:
chpark
2026-05-27 14:42:48 +09:00
parent c5ff736cc9
commit 51c929f703
+8
View File
@@ -33,6 +33,14 @@ export async function POST(req: NextRequest) {
[createObjectId(), userId, endpoint, p256dh, auth, userAgent]
);
// 같은 사용자의 이전 구독은 정리 — 마지막에 구독한 기기/앱 하나만 유지.
// 브라우저(삼성 인터넷 등)로 먼저 구독해 둔 게 남아 앱이 아닌 브라우저 알림으로
// 오던 문제 방지. (앱에서 다시 켜면 옛 브라우저 구독이 제거됨)
await pool.query(
`DELETE FROM momo_push_subscriptions WHERE user_id = $1 AND endpoint <> $2`,
[userId, endpoint]
).catch(() => {});
// 구독 직후 환영 푸시 — 전체 파이프라인(서버→푸시서비스→기기) 동작 즉시 확인용
const welcome = await sendPush(
{ title: "알림이 켜졌어요 🔔", body: "새 품목이 판매되면 여기로 알려드릴게요.", url: "/m/orders/new" },