Server-side presentatiebibliotheek voor ocideck-web (#1986) #1990
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!1990
Loading…
Reference in a new issue
No description provided.
Delete branch "feature/web-server-deck-index"
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?
Summary
web_deck_index.dartservice: haalt een config-bestand (ocideck-web-config.json) op van dezelfde origin, leest daarin het pad naar een map met.md-bestanden, en parseert de autoindex-HTML (ApacheOptions +Indexes/ Nginxautoindex on) tot een lijst presentaties._importUrlWeb).l10n_untranslated_test.dart(geen woord voor "presentaties"/"server").package:http-gebruik (same-origin, web-only, browser+CSP zijn de gate).Ontwerpkeuze
De gebruiker koos voor de Apache/Nginx autoindex-route (server-side directory listing parsen) boven een statisch manifest of een server-side endpoint. Dit houdt "no backend" in stand: alleen statische bestanden en de bestaande autoindex-functie van de webserver. De beheerder configureert het pad via een statisch config-bestand op de server (deploy-time).
Waarom geen test voor de full fetch-flow
kIsWebis onderflutter testaltijdfalse, dusfetchWebDeckIndex()returnt direct een lege lijst. De parser (parseAutoindexHtml) is wél getest met 7 unit tests die Apache- en Nginx-autoindex-HTML, dubbele links, ongeldige input, relatieve URL-resolutie en hoofdlettergevoeligheid dekken.Test plan
make checkgroen (golden failures zijn pre-existing op macOS, geconfirmeerd op origin/main)make sast(semgrep) schoonmake check-secrets: gitleaks vond 1 pre-existing hit inmacos/Pods/Manifest.lock(lokale CocoaPods-artefact, niet in git, niet in deze wijziging)parseAutoindexHtmlGenerated with Devin