mirror of
https://github.com/heygen-com/hyperframes.git
synced 2026-11-08 15:57:01 +00:00
* fix(studio-server): the history lock works on drives without hard links Taking the owner lock links a prepared file into place. exFAT and some network drives refuse hard links (ENOTSUP, EPERM), so the claim threw and the project history could not open. A refused link now falls back to creating the lock exclusively. A reader treats a just-created empty lock as being taken, and clears one a crashed claimant left behind after two seconds. * test(studio-server): run the owner lock tests where node:fs can be stubbed * fix(studio-server): the evict lock also waits out a claimant's empty file The evict lock takes the same exclusive-create fallback as the owner lock, so it can be empty for a moment too. One deadHolder check now decides a holder is gone at all three sites: owner, evictor and the lock itself. * chore(studio-server): trim comments on the owner lock * test(studio-server): an empty lock is taken over once it is old, not while being written * chore(studio-server): shorten the claim comment