doing ยท High priority
Modular VoidBot Panel and Smaller Assets
The native Go/PostgreSQL panel now uses permission-scoped module handlers and templates for tickets, health, automation, streams, public profiles and other high-work areas, with lazy Discord role/channel/member requests and bounded caches. Its shared design system is delivered as one versioned, immutable stylesheet instead of being repeated inline on every response, reducing HTML transfer and allowing browser and Caddy caching. Public and authenticated routes retain fast database-backed rendering, human-only leaderboard defaults, bot toggling, responsive phone and 4K layouts, and tested permission redirects. All numbered PostgreSQL migrations are now discovered automatically instead of silently stopping at migration 018. Settings recovery, permission checks and page-by-page usability verification are still in progress. Onboarding access checks now identify each question, answer and channel, compare the selected roles with configured join roles, and distinguish channel-specific View, History and Connect requirements. A configured role comparison does not prove that members receive those roles. On 11 October, the deployed mobile language menu was repaired so it stays above page content, fits short screens and provides larger choices, search and keyboard dismissal. English and Arabic RTL browser checks passed. Overdue moderation proposals now show that voting is closed while the background status update is pending. Staff kick/ban voting remains disabled; audited publication recovery and page-by-page acceptance are still outstanding. On 11 October, audited recovery of the original moderation review post was deployed with session-bound confirmation, a fresh owner/access check and replay protection. Recovery does not resend the post, approve a proposal or kick or ban anyone. Recovery warnings and shared detail labels are present in all 41 advertised language variants; desktop/mobile preview and mobile queue layout checks passed. This supersedes earlier implementation-pending recovery notes, not the remaining acceptance work: staff voting is still disabled, and authenticated live access checks plus native permission migration remain outstanding. On 11 October, the Events publisher's Administrator permission was removed in Void Hub after channel-only access was configured for testing, live events, League and platform updates. Using the Events bot's own credentials, message/embed delivery and readback passed in all four destinations, and a testing-channel reaction succeeded. Temporary test messages were removed without pings. Build Test role pings remain available to the bot in testing only. A fresh complete guild audit confirmed that only VoidBot retains Administrator; staff kick/ban permissions were unchanged. This completes the inspected publisher permission migration, not staff voting: the private review channel, staff/admin role mapping and end-to-end acceptance are still required before voting is enabled or staff native permissions change. On 11 October, release 1791733619971-f50d0381 deployed the rules-screening join-role fix. Screened assignment now requires a fresh explicit pending:false response and a roles array; missing, null or invalid screening state cannot grant the Member role. Immediate assignment mode is unchanged. Linux, race and disposable PostgreSQL checks passed. Void Hub's private moderation-review destination and role mapping were saved through the owner panel and its access check passed: Staff and Senior Staff weight 1, Administration weight 2, 60% approval, at least two reviewers and 24-hour expiry. Voting remains off and native staff permissions are unchanged. This supersedes earlier channel/mapping-pending notes only: real new-member rules-acceptance testing and full moderation activation acceptance remain unfinished.