feat(web): een laadscherm, zodat de eerste tien seconden niet wit zijn (#589) #704
No reviewers
Labels
No labels
accepted
bug
declined
docs
duplicate
enhancement
good first issue
in-progress
needs-info
privacy
security
triage
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
LibreKAT/Ocideck!704
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/web-laadindicator-589"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Werkt aan #589 — de helft die in de repo thuishoort. Het issue blijft open voor de deploy.
Het laadscherm
De webbouw was de eerste ~10 seconden wit: CanvasKit verft pas na een seconde of tien, en tot dan stond er niets. Voor een bezoeker die dit product voor het eerst in zijn browser opent is dat het moment waarop hij "stuk" concludeert en wegklikt — bij een gereedschap waarvan de hele waarde is dat het iets laat zien.
Nu ligt er een laadscherm in
web/index.html: logo, "OciDeck", "Laden… · Loading…".Geen JavaScript, en dat is de kern. Het CSP van de pagina staat geen inline script toe (
script-src 'self' 'wasm-unsafe-eval'), dus een los .js-bestand erbij om een div te verwijderen zou meer bewegende delen zijn dan de taak vraagt. Het laagje ligt eronder (z-index: -1) en wordt bedekt zodra Flutter verft — het hoeft dus nooit opgeruimd te worden. Bijvangst: komt Flutter nooit, dan blijft er iets staan dat uitlegt wat je ziet, wat beter is dan wit.De test bewaakt wat
make check-webniet ziet (die draait alleen bij een volledige bouw): dat het laadscherm er is, en dat het geen inline script draagt — dat zou de CSP schenden en dan doet het laadscherm stil niets. Plus dat de afbeelding uit de bundel zelf komt.Wat er niet in zit
De twee andere punten uit het issue, want ze vragen een deploy die ik niet kan doen:
ocideck.librekat.nlloopt achter op de CSP in de repo (jouw 48-regel-diff).make build-webmaakt de nieuwe bundel; het deployen ervan is jouw hand op de server;Het issue blijft open tot de demo opnieuw uitstaat.
Poort
make checkgroen (niet doortailgepijpt).