Repository navigation
Code review fixes + power control, app icon, Go tests & CI - #1
Merged
Merged
Conversation
…rebuild - server: replace naive HasPrefix(SDCard) with withinSD() helper to reject sibling paths like /mnt/SDCARDevil (path traversal hardening) - server: gofmt games.go, input.go, mdns.go, system.go; bump banner v1.1 -> v1.6 - frontend: move hardcoded French strings (game badge, connection-error page) into i18n so EN mode is fully translated - frontend: fix live-screen 'unavailable' fallback never showing (Svelte was pruning the sibling CSS selector); now driven by reactive imgError state - docs: fix wrong build paths in README (miyoodeck/webdeck -> miyoodeck) - chore: ignore stray server/webdeck dev binary; rebuild ARM binary + www bundle
- server: add /api/system/power (reboot/poweroff) with sync-before-halt; response is flushed before the device goes down - frontend: Reboot / Power off buttons on the Dashboard (confirm + i18n FR/EN) - package: ship a brand webdeck.png app icon so it shows in the Onion menu; point config.json at the local icon instead of a non-shipped path - test: add server_test.go covering withinSD, hashPin, channelTo8bit, parseVoltageFromAxp, encodeDNSName, isQueryForMiyooDeck, sum - ci: add GitHub Actions — CI (gofmt/vet/test/ARM build/frontend build) and Release (build + zip package + attach to GitHub release on v* tags) - docs: README features, file tree and architecture updated - rebuild ARM binary + www bundle
Useful / important: - system: read SoC temperature (/sys/class/thermal) -> /api/system + WS stats; new Temperature card on the Dashboard with a hot-threshold color - brightness: /api/system/brightness GET/POST via /sys/class/backlight; debounced brightness slider on the Dashboard (hidden if unsupported) Useful + fun: - search: /api/search?q= scans every system for matching ROMs; global search box in the Games tab shows cross-system results with a system tag - random: /api/random[?system=] picks a ROM at random; '🎲 Surprise me' button launches it instantly Futile: - a live clock in the header - i18n FR/EN for all new strings; README features/architecture updated - rebuild ARM binary + www bundle
Important / useful: - favorites: persist favorite ROMs to SD (/api/favorites GET/POST); ★ toggle on every ROM row and a dedicated Favorites view in the Games tab - quit-game: /api/system/quit-game cleanly stops RetroArch (saves first); button shown on the Dashboard while a game runs - logs: /api/logs returns the tail of the server log; collapsible viewer - version: public /api/version endpoint, shown in the header Brain breakers: - stream: native MJPEG live view (/api/stream.mjpeg, multipart/x-mixed-replace), toggled from the Dashboard for a smooth video-like screen - macros: /api/input/macro plays a server-side button sequence; Konami preset in the on-screen controller Futile: - live CPU sparkline on the Dashboard - keyboard Konami code -> rainbow party mode - header clock + version badge - i18n FR/EN for all new strings; README features/architecture updated - bump version to 1.7; rebuild ARM binary + www bundle
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Résumé
Revue complète du projet MiyooDeck, corrections de qualité/sécurité, et ajout de fonctionnalités pour le rendre vraiment complet. Tout est vérifié :
gofmt✓ ·go vet✓ ·go test✓ · cross-build ARM ✓ · build frontend ✓.🔧 Corrections (commit
76ef518)HasPrefix(SDCard)(qui laissait passer un voisin comme/mnt/SDCARDevil) par un helperwithinSD()strict, sur les 11 contrôles d'accès fichiers.i18n.js(le mode EN est désormais complet).imgError.games.go,input.go,mdns.go,system.go; bannière de versionv1.1→v1.6.miyoodeck/webdeckinexistant) corrigés..gitignorepour le binaire de devserver/webdeck.✨ Ajouts (commit
fe076a4)POST /api/system/power(reboot/poweroff) avecsyncavant arrêt et réponse envoyée avant l'extinction ; boutons Redémarrer / Éteindre dans le Dashboard (confirmation + i18n FR/EN). La veille est volontairement exclue (elle couperait le WiFi et figerait le serveur).webdeck.pngaux couleurs de la marque, livré dans le package ;config.jsonpointe vers l'icône locale (package auto-suffisant dans le menu Onion).server_test.go) :withinSD,hashPin,channelTo8bit,parseVoltageFromAxp,encodeDNSName,isQueryForMiyooDeck,sum.ci.yml(gofmt/vet/test/build ARM/build frontend sur push & PR) etrelease.yml(build + zipMiyooDeck-<tag>.zipattaché à la release sur tagv*).Vérification
Le binaire ARM et le bundle web du package ont été régénérés.
https://claude.ai/code/session_01XmGfBz6k1Z8YFPitFjuEGp
Generated by Claude Code