fix(windows): twee stille Windows-bugs + vijftien platform-aannames in de suite #1763
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!1763
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/windows-suite"
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?
Waarom
De Windows-job van de spiegel stond op zeventien rood — bij
v0.4.8vijftien,bij
v0.4.9zeventien. Het waren geen zeventien varianten van één ding: tweeervan zijn echte bugs die alleen op Windows optreden, vijftien waren toetsen die
de aannames van macOS toetsten in plaats van gedrag.
De twee bugs
Draaien in het bijsnijdvenster deed op Windows niets.
writeBytesAtomicSyncschrijft naar een tijdelijk bestand en hernoemt dat over het doel. Op Windows
faalt een rename over een bestaand bestand; de async tweelingfunctie ving dat al
op met verwijder-dan-hernoem, en de bibliotheekdocumentatie beloofde dat gedrag
ook voor de sync-variant — maar daar ontbrak het. De enige aanroeper is het
bijsnijdvenster, dat een mislukte schrijfbeurt bewust inslikt zodat een
schrijffout de bijsnijdkeuze niet blokkeert. Samen maakte dat het geluidloos: de
preview draaide, het bestand bleef zoals het was, geen melding.
Een export buiten de projectmap verloor op Windows zijn afbeeldingen. De
herberekende relatieve paden (#1673) gingen ongewijzigd de Markdown in, dus met
backslashes. Een Markdown-link is een URL: daar is de backslash geen scheiding,
en in de LaTeX-route leest hij als ontsnappingsteken.
De vijftien toetsen
gate_lock_test(10×) startscripts/gate_lock.shmetProcess.run—Windows kent geen shebang. Het slot bestaat voor de machine waarop
make checkdraait (macOS/Linux); geen poort die merges gate't draait Windows.Overgeslagen met een reden, zoals
release_auto_version_test.dartal deed.image_rename_service_test(2×) vergeleek een bestandspad met letterlijketekst met schuine strepen; vergelijkt nu op padgelijkheid.
settings_dialog_profile_testenshell_present_and_close_testruimden huntempmap op met een kale
deleteSync, terwijl Windows een net ingelezenbestand nog even vasthoudt (errno 32). Ze gebruiken nu
deleteTempDiruittest/support— precies waarvoor die hulp in #933 is gemaakt.Toetsing
make checkgroen (exit 0).reparatie — proefondervindelijk vastgesteld door de reparatie tijdelijk terug
te draaien. Dat kon door de Windows-tak toetsbaar te maken in plaats van hem te
moeten dráaien:
renameOncebootst de mislukte rename na (zelfde middel alsdeleteOnceintest/support/temp_dir.dart), enpathContextlaat deexport-toets de Windows-padstijl doorrekenen.
groen zijn. Die job draait alleen op een
v*-tag of een handmatige dispatch opde spiegel. De volgende tag is de proef.
Bewaker
Overgeslagen, expliciet: geen formaat-, opslag-, afhankelijkheids- of
beloftewijziging. De exportreparatie raakt wél wat er in een
.mdterechtkomt,maar in herstellende richting — een link die nergens naar wees wijst nu naar de
afbeelding.