Notfallzugang gilt auch im Worker

Der Voll-Abgleich hat den Administrator alle fünf Minuten hinausgeworfen:
enforceMembership kannte BOOTSTRAP_ADMIN_IDS nicht und sah nur, dass keine
seiner Rollen zur Anmeldung berechtigt. Solange das Rollen-Mapping noch leer
ist, trifft das zwangsläufig zu — der Notfallzugang war damit genau in der
Lage wirkungslos, für die es ihn gibt.

Gefunden beim ersten Lauf gegen den echten Discord-Server, nicht im Test.
This commit is contained in:
Harlekin
2026-09-01 19:24:13 +02:00
parent cb66839a05
commit 5edb62bf37
4 changed files with 39 additions and 4 deletions
+3 -3
View File
@@ -35,7 +35,7 @@ async function main(): Promise<void> {
for (const member of members.values()) {
if (member.user.bot) continue
if (await syncMember(db, member)) changed++
await enforceMembership(db, member.id)
await enforceMembership(db, member.id, env.bootstrapAdminIds)
}
// Wer nicht mehr auf dem Server ist, hat auch keine Sitzung mehr.
@@ -61,7 +61,7 @@ async function main(): Promise<void> {
if (member.guild.id !== env.discordGuildId || member.user.bot) return
void (async () => {
await syncMember(db, member)
await enforceMembership(db, member.id)
await enforceMembership(db, member.id, env.bootstrapAdminIds)
})().catch((error: unknown) => console.error('[worker] guildMemberAdd', error))
})
@@ -69,7 +69,7 @@ async function main(): Promise<void> {
if (member.guild.id !== env.discordGuildId || member.user.bot) return
void (async () => {
await syncMember(db, member)
await enforceMembership(db, member.id)
await enforceMembership(db, member.id, env.bootstrapAdminIds)
})().catch((error: unknown) => console.error('[worker] guildMemberUpdate', error))
})