- Replaced
nano-time
withmicrotime
. - Improve IndexedDB method performance.
- Improve error message when calling
postMessage
to a closed channel.
Bugfixes:
- When listening to messages directly, responses that where send directly after
addEventListener()
where missing because of inaccurate JavaScript timing.
Changes:
- Better determine the correct
responseTime
to use to make it less likely to elect duplicate leaders.
Bugfixes:
- Remove useless log at leader election fallback interval.
Bugfixes:
- Prevent
EMFILE, too many open files
error when writing many messages at once.
Other:
- Added
broadcastChannel.id()
for debugging
Bugfixes:
- Refactor
applyOnce()
queue to ensure we do not run more often then needed.
Bugfixes:
- Running
applyOnce()
in a loop must not fully block the JavaScript process.
Other:
- Replaced
js-sha
with node'scrypto
module.
Bugfixes:
- Fixed broken promise rejection.
Features:
- Added
LeaderElector.hasLeader
- Added
LeaderElector.broadcastChannel
Bugfixes:
- Fixed Webpack 5 Relative Import Support. Thanks catrielmuller
Bugfixes:
Other:
Other:
- Moved
ObliviousSet
into its own npm module
Features:
- Added
BroadcastChannel.isClosed
#544
Other:
- Updated dependencies to work with newer node versions
Bugfixes:
- Fixed broken typings
Bugfixes:
BroadcastChannel.close()
waits for all ongoing message sending to be finished before resolving.
Features:
- Added
LeaderElector.onduplicate
Bugfixes:
- fix cursor error in Safari #420
Bugfixes:
new BroadcastChannel().close()
should not resolve before all cleanup is done #348