Skip to content

fix(temp-voice): membres partis ignorés à la création du salon - #407

Merged
Lramelot merged 1 commit into
masterfrom
fix/temp-voice-departed-members
Nov 10, 2026
Merged

Lramelot merged 1 commit into
masterfrom
fix/temp-voice-departed-members

Conversation

@Lramelot

@Lramelot Lramelot commented Nov 10, 2026 •

Copy link
Copy Markdown
Collaborator

🇫🇷 Français

🎯 Résumé

Un membre bloqué (ou de confiance) qui a quitté le serveur n'empêche plus son propriétaire de créer un salon vocal temporaire.

🤔 Motivation

Les blocages et les membres de confiance sont mémorisés dans les préférences du propriétaire et ré-appliqués à chaque nouveau salon. Quand un membre bloqué quitte le serveur, Discord refuse la permission qui le vise (10009 Unknown Overwrite). Le salon était alors supprimé et le propriétaire voyait « indisponible », à chaque essai et sans fin, puisque la préférence n'était jamais nettoyée. Ça s'est produit en production pour un utilisateur.

📦 Contenu

  • 🧹 À la création, les membres bloqués et de confiance des préférences sont vérifiés : un compte que Discord ne connaît plus sur le serveur est écarté, et le salon enregistré garde la liste nettoyée. Pour toute autre erreur, le blocage est conservé, pour ne jamais lever un blocage par accident.
  • 🛡️ À l'écriture des permissions, une erreur 10009 sur une permission de membre est ignorée (log de debug). Ça couvre un départ au même moment, ou un blocage depuis le panneau d'un membre déjà parti. Sur un rôle, l'erreur remonte toujours.
  • ✅ Validation : 2 tests ajoutés, 72 tests du module ; tsc, oxlint et oxfmt OK.

🇬🇧 English

🎯 Summary

A blocked (or trusted) member who left the server no longer prevents the owner from creating a temporary voice channel.

🤔 Motivation

Blocks and trusted members are remembered in the owner's preferences and re-applied to every new channel. When a blocked member leaves the server, Discord refuses the overwrite that targets them (10009 Unknown Overwrite). The channel was then deleted and the owner saw "unavailable", on every attempt and forever, since the preference was never cleaned up. This happened in production to one user.

📦 What's included

  • 🧹 On creation, the blocked and trusted members from the preferences are checked: an account Discord no longer knows on the server is dropped, and the stored channel keeps the cleaned list. On any other error the block is kept, so a block is never lifted by accident.
  • 🛡️ When writing overwrites, a 10009 error on a member overwrite is ignored (debug log). This covers a member leaving at the same moment, or a block from the panel on a member who already left. On a role, the error still propagates.
  • ✅ Validation: 2 tests added, 72 tests in the module; tsc, oxlint and oxfmt pass.

Autofix with [code]smith
Open in [code]smith · Need help on this PR? Tag @codesmith-bot with what you need.

@Lramelot
Lramelot merged commit 03d0e4d into master Nov 10, 2026
15 checks passed
@Lramelot
Lramelot deleted the fix/temp-voice-departed-members branch November 10, 2026 14:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant