Instead of relying on ExtFS (which is not available on Mini vMac/System 6 and older), there could be a separate disk that gets mounted that has its contents persisted. Would rely on the changes made for #56 to have more direct hooks when reads/write happen.
[x] Special-case chunks that are all 0 (by content hash and/or changing the hash to 0) and avoid having to load them at all
[x] Handle emulator being open in multiple tabs (don't mount Saved HD there)
[x] Request that storage is persistent
[x] Add reset
[x] Add import
[x] Add export
[x] Add export to .dsk
[x] Add custom icon for Saved HD (life preserver?)
[x] Tweak icon to be inset by 1 pixel on each edge
[x] Add Readme that explains what Saved HD is
[x] Allow custom instance with just Saved HD and no other disks, so that it can be booted from
[x] Add OS installer disk images to CD-ROM library, so that it's easier to make a bootable disk
[x] Check behavior in Safari (including private browsing windows)
[x] Check behavior in Firefox
[x] Check behavior in older browsers (which may not have createSyncAccessHandle and other APIs)
[x] Enable by default (TODOs in run-def.ts and Custom.tsx)
[x] Updated data saving references in in Stickies
[x] Add to changelog
[x] Add warning dialog if there are files in the "Saved" folder in The Outside World
[x] A month later, remove support for old "Saved" folder in The Outside World
Batch chunk writes (via periodicTasks?) and also call flush() at that time -> not worth it, risk of data loss
Instead of relying on ExtFS (which is not available on Mini vMac/System 6 and older), there could be a separate disk that gets mounted that has its contents persisted. Would rely on the changes made for #56 to have more direct hooks when reads/write happen.
createSyncAccessHandle
and other APIs)run-def.ts
andCustom.tsx
)Batch chunk writes (viaperiodicTasks
?) and also callflush()
at that time -> not worth it, risk of data loss