chore(deps): migreer file_picker 11→12, win32 5→6, wakelock_plus 1.7, flutter_secure_storage 11 (#1744) #1747
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!1747
Loading…
Reference in a new issue
No description provided.
Delete branch "chore/file-picker-12-win32-bumps-1744"
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
file_picker 12's federated architecture bracht drie breaking changes:
FilePickerResultverdween,PlatformFile.bytes/.sizeverdwenen, ensaveFile()schrijft bytes nu zelf (non-atomisch). Deze PR migreert alle 13 call sites en behoudt de atomic-write garantie.pickFiles → pickFile (12 single-file call sites)
pickFile()retourneertPlatformFile?direct (null bij cancel) — geenFilePickerResult?.files.singlemeerfile.bytes→await file.readAsBytes()file.size→await file.length()result?.files.single.path→file?.pathBestanden:
seal_timestamp_dialog.dart,file_service_style_profile.dart,image_service.dart(4 call sites),settings_dialog_style_builder.dart,chart_editor.dart,settings_dialog.dart,openkat_server_report_dialog.dart,file_service_import.dart(2 call sites).pickFiles (multi-file, 1 call site)
presentation_import_action.dart:pickFiles()retourneert nuList<PlatformFile>(non-nullable, leeg bij cancel).allowMultipledefault istrue— weggelaten.saveFile → getSaveLocation (3 desktop call sites)
file_picker 12's
saveFile()vereistbytesen schrijft non-atomisch (file.writeAsBytes). De codebase gebruiktwriteBytesAtomic(schrijf naar temp, rename) als veiligheidsgarantie tegen half-geschreven bestanden bij crashes.Oplossing:
file_selector'sgetSaveLocation()geeft alleen een pad — waarnawriteBytesAtomicde bytes atomisch schrijft. De garantie blijft._systemSaveDestinationenpickDocumentExportDestination:FilePicker.saveFile()→getSaveLocation()+location?.pathseal_timestamp_dialog._exportTsq: web behoudtFilePicker.saveFile(bytes: ...), desktop gebruiktgetSaveLocation()+writeBytesAtomicSaveDestinationPickertypedef ongewijzigd: callers hoeven niet mee te veranderensaveFile(bytes: ...)calls ongewijzigd (browser-download is inherent atomisch)Nieuwe direct dependency
file_selector ^1.1.0— was al transitief aanwezig viafile_selector_platform_interfaceenfile_selector_windows. Toegevoegd aanTHIRD_PARTY_NOTICES.md.Ontgrendelde bumps
Test plan
make checkgroen (10496 tests, 87.3% coverage)make check-secretsschoon (gitleaks + trufflehog, 0 leaks)make sastschoon (semgrep, 0 findings)flutter analyze --fatal-infosschoonthird_party_notices_testgroen (file_selector in notices)static-gategroen op PRGenerated with Devin