Skip to content

Commit 0bbafba

Browse files
Merge branch 'main' into fix-capacitor-buffers
2 parents d744ffc + c730604 commit 0bbafba

2 files changed

Lines changed: 6 additions & 9 deletions

File tree

.changeset/grumpy-monkeys-laugh.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@powersync/web': patch
3+
---
4+
5+
Remove deprecated `unload` listener.

packages/web/src/db/PowerSyncDatabase.ts

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ import { AsyncDbAdapter } from './adapters/AsyncWebAdapter.js';
3838

3939
export interface WebPowerSyncFlags extends WebSQLFlags {
4040
/**
41+
* @deprecated This flag is no longer used. Navigator locks now handle tab detection automatically.
4142
* Externally unload open PowerSync database instances when the window closes.
4243
* Setting this to `true` requires calling `close` on all open PowerSyncDatabase
4344
* instances before the window unloads
@@ -127,7 +128,6 @@ function assertValidDatabaseOptions(options: WebPowerSyncDatabaseOptions): void
127128
export class PowerSyncDatabase extends AbstractPowerSyncDatabase {
128129
static SHARED_MUTEX = new Mutex();
129130

130-
protected unloadListener?: () => Promise<void>;
131131
protected resolvedFlags: WebPowerSyncFlags;
132132

133133
constructor(options: WebPowerSyncDatabaseOptionsWithAdapter);
@@ -140,11 +140,6 @@ export class PowerSyncDatabase extends AbstractPowerSyncDatabase {
140140
assertValidDatabaseOptions(options);
141141

142142
this.resolvedFlags = resolveWebPowerSyncFlags(options.flags);
143-
144-
if (this.resolvedFlags.enableMultiTabs && !this.resolvedFlags.externallyUnload) {
145-
this.unloadListener = () => this.close({ disconnect: false });
146-
window.addEventListener('unload', this.unloadListener);
147-
}
148143
}
149144

150145
async _initialize(): Promise<void> {
@@ -190,9 +185,6 @@ export class PowerSyncDatabase extends AbstractPowerSyncDatabase {
190185
* multiple tabs are not enabled.
191186
*/
192187
close(options?: PowerSyncCloseOptions): Promise<void> {
193-
if (this.unloadListener) {
194-
window.removeEventListener('unload', this.unloadListener);
195-
}
196188
return super.close({
197189
// Don't disconnect by default if multiple tabs are enabled
198190
disconnect: options?.disconnect ?? !this.resolvedFlags.enableMultiTabs

0 commit comments

Comments
 (0)