# Classroom test checklist Run against the exact artifact published to canary, on the real endpoint, before promoting to stable with `./update_stable.sh`. ## Boot - [ ] Cold boot reaches the classroom shell with no terminal or window junk - [ ] Reboot does the same - [ ] Wallpaper appears - [ ] Dock appears, centred - [ ] Clock appears, bottom right ## Reserved bottom shell (regression) The bottom strip is one full-width layer-shell surface with a 76px exclusive zone. Dock and clock live inside it. Do not split them back into separate layer-shell windows. - [ ] A maximised Chrome window stops above the bottom strip - [ ] The clock does not float over Chrome - [ ] Dock stays centred, clock stays bottom right - [ ] Wallpaper shows through the unused parts of the strip - [ ] Every dock button still responds to clicks - [ ] A fullscreen application covers the whole display, dock included ## Browser - [ ] First Browser click launches Chrome - [ ] Chrome opens on Wonder Ink (https://app.wonderink.org/) - [ ] Clicking Browser while Chrome is focused minimises it - [ ] Clicking Browser again restores it **maximised, not floating or draggable** - [ ] Clicking Browser while Chrome is running but unfocused focuses it - [ ] `Super+M` minimises the focused window - [ ] `Super+Shift+M` restores the most recently minimised window - [ ] Normal navigation to any other site works - [ ] The Home button returns to Wonder Ink - [ ] Fullscreen YouTube video uses the whole display - [ ] Leaving fullscreen restores the correct geometry above the dock - [ ] No first-run, default-browser or sign-in nag appears - [ ] Chrome does not start by itself at boot - [ ] After a reboot, cookies and site logins are still there - [ ] After an OTA update, cookies and site logins are still there Known limitation: Chrome's own minimise button in its title bar does nothing. Sway ignores the Wayland minimise request and gives no event to hook. Minimising is the dock's Browser button or `Super+M`. ## Notifications - [ ] `classroom-notify-test` renders with the classroom styling: dark translucent, rounded, white text, top right - [ ] `classroom-notify-test --critical "Parent Call" "Room 3 needs a parent."` renders in the critical style and does not time out - [ ] Notifications appear over a fullscreen video ## DVD With `DVD_ENABLED=false`: - [ ] No DVD button in the dock With `DVD_ENABLED=true`: - [ ] Drive unplugged: button present, icon held back, friendly notification on click - [ ] Drive present, no disc: friendly notification on click, nothing crashes - [ ] Inserting a disc produces one **DVD Ready** notification - [ ] The DVD icon comes up to full strength while a disc is in - [ ] Nothing plays until the button is pressed - [ ] Clicking plays the disc - [ ] Menus work - [ ] Audio works - [ ] Chapter navigation works - [ ] Fullscreen works - [ ] `Super+M` minimises the player, the DVD button restores it - [ ] Closing the player works - [ ] Ejecting is detected, the icon goes back - [ ] Reinserting is detected again - [ ] Commercial CSS disc, after `classroom-dvd-css-setup` ## OTA - [ ] `./update_canary.sh` publishes package first, manifest last - [ ] The endpoint on the canary channel picks the update up - [ ] SHA-256 verification passes - [ ] Install succeeds and the endpoint reboots - [ ] Everything above still works after the update