라이브 티커 · 갤럭시 검색 색인 · 주간 랭킹 스냅샷 · 연속 ZAP 상한 · 가입 행성 Zap · 성운 목표 · 랭킹 갱신 안내 · 행성 터치 반응
This commit is contained in:
@@ -187,10 +187,13 @@ export async function defendEclipse(input: {
|
||||
qualifiedParticipants: FieldValue.increment(qualified ? 1 : 0),
|
||||
updatedAt: FieldValue.serverTimestamp(),
|
||||
}, { merge: true });
|
||||
}
|
||||
// 라이브 소셜 프루프는 **참여 합류 1회**만 — 개별 Shake 횟수를 방송하지 않는다(UX·FX v1.5 §1.1 · §3.1 · §5.1
|
||||
// 「다른 팬의 행동은 개별 Shake 횟수를 모두 노출하지 않고 참여자 수 변화 중심」). 집약 수는 화면의 유효 참여자 표시.
|
||||
if (accepted > 0 && myTotal === 0) {
|
||||
tx.create(tickerRef, {
|
||||
kind: TICKER_KIND_ECLIPSE_DEFENSE, eclipseId, uid,
|
||||
nickname: publicNameOf(user),
|
||||
defense: accepted,
|
||||
linkTo: `/eclipse/${fandomId}/${eclipseId}`,
|
||||
priority: TICKER_PRIORITY[TICKER_KIND_ECLIPSE_DEFENSE] ?? 50,
|
||||
createdAt: FieldValue.serverTimestamp(),
|
||||
@@ -1032,7 +1035,8 @@ export async function aggregateRankings(now = Date.now()): Promise<{ fandoms: nu
|
||||
for (const axis of FPI_AXES) total[axis] += patch.fpiAxes[axis];
|
||||
totals.set(code, total);
|
||||
}
|
||||
void writer.update(fandom.ref, { memberRanked: true });
|
||||
// 사용자 랭킹 화면의 「마지막 갱신」 — 별첨 1 ② 예외처리.
|
||||
void writer.update(fandom.ref, { memberRanked: true, memberRankedAt: FieldValue.serverTimestamp() });
|
||||
memberTotal += members.size;
|
||||
}
|
||||
await writer.close();
|
||||
|
||||
Reference in New Issue
Block a user