mirror of
https://github.com/pyMC-dev/pyMC_Repeater.git
synced 2026-10-31 04:01:59 +01:00
acl.py kept its own copy of the role constants, so an installation could pair the new numbering with a core that still derives is_admin from the 0x02 bit. That combination announces a room server's READ_WRITE clients (role 2) as admins on the login reply's is_admin byte — silently, and exactly where this change is meant to make the two bytes agree. The dependency is a mutable openhop_core@dev, so nothing prevented it. Import the roles and acl_is_admin/acl_role from openhop_core instead of duplicating them, and raise an actionable ImportError when they are absent: refusing to start beats misannouncing a client's privileges. The drift test no longer skips on an old core, so CI reports the mismatch rather than hiding it.