-
feat: manual cert gating, chat layout overhaul, and video player UX fixes
released this
2026-10-18 12:09:30 +03:30 | 22 commits to main since this release- Certificate: Hardcode approval gate — completely removed the auto-issue path;
certRequiresApproval()now strictly returnstrue, ignoring DB configuration. - Certificate: Quiz completion now queues a pending record and triggers a
"Pending approval" notification instead of falsely confirming issuance. - Certificate: Public endpoints now enforce a guard on
status=issued; frontend
strips the auto-issue side effect and claim button (issuance restricted to admins). - Chats tab: Refactor layout into a full-width centered banner above two
equal-height side-by-side panels (grid-cols-1 lg:grid-cols-2), utilizing
max-handoverflow-y-autoto eliminate whitespace bleed. - Video player: Fix settings flyout prematurely closing on mouse movement (removed
setSettingsOpenfrompoke); add a click-outside listener viamousedown. - Video player: Deduplicate controls — the speed pill now directly cycles playback
speed, leaving the gear icon as the single entry point for settings (eliminating
overlapping popovers). - Video player: Implement full-bleed theater mode using the
-mx-[50vw] w-screen
technique, keeping the progress strip constrained tomax-w-5xlbelow.
Downloads
- Certificate: Hardcode approval gate — completely removed the auto-issue path;