Releases: powersync-ja/powersync-js
Releases · powersync-ja/powersync-js
[email protected]
- Added a local development option with local Supabase and PowerSync services.
- Updated Sync rules to use client parameters. Each client now only syncs
document
anddocument_updates
for the document being edited. - Updated
PowerSyncYjsProvider
to use an incremental watched query fordocument_updates
.
@powersync/[email protected]
Minor Changes
- 79acd89: Export AsyncDatabaseConnection (and related) types for internal use
- c7d2b53: Improved query behaviour when client is closed. Pending requests will be aborted, future requests will be rejected with an Error. Fixed read and write lock requests not respecting timeout parameter.
Patch Changes
- 319012e: Fixed bug where a WebSocket connection timeout could cause an uncaught exception.
- 6b38551: Fix a warning about raw tables being used when they're not.
- Updated dependencies [319012e]
- Updated dependencies [c7d2b53]
- Updated dependencies [6b38551]
- Updated dependencies [a1abb15]
- @powersync/[email protected]
@powersync/[email protected]
Minor Changes
-
c7d2b53: [Potentially breaking change] The
useQuery
hook results are now explicitly defined as readonly. These values should not be mutated.- Added the ability to limit re-renders by specifying a
rowComparator
for query results. TheuseQuery
hook will only emitdata
changes when the data has changed.
// The data here will maintain previous object references for unchanged items. const { data } = useQuery('SELECT * FROM lists WHERE name = ?', ['aname'], { rowComparator: { keyBy: (item) => item.id, compareBy: (item) => JSON.stringify(item) } });
- Added the ability to subscribe to an existing instance of a
WatchedQuery
<script setup> import { useWatchedQuerySubscription } from '@powersync/vue'; const listsQuery = powerSync .query({ sql: `SELECT * FROM lists` }) .differentialWatch(); const { data, isLoading, isFetching, error } = useWatchedQuerySubscription(listsQuery); </script> <template> <div v-if="isLoading">Loading...</div> <div v-else-if="isFetching">Updating results...</div> <div v-if="error">{{ error }}</div> <ul v-else> <li v-for="l in data" :key="l.id">{{ l.name }}</li> </ul> </template>
- Added the ability to limit re-renders by specifying a
-
c7d2b53: - [Internal] Updated implementation to use shared
WatchedQuery
implementation.
Patch Changes
- Updated dependencies [319012e]
- Updated dependencies [c7d2b53]
- Updated dependencies [6b38551]
- Updated dependencies [a1abb15]
- @powersync/[email protected]
@powersync/[email protected]
Patch Changes
- Updated dependencies [319012e]
- Updated dependencies [c7d2b53]
- Updated dependencies [c7d2b53]
- Updated dependencies [6b38551]
- Updated dependencies [a1abb15]
- Updated dependencies [c7d2b53]
- @powersync/[email protected]
- @powersync/[email protected]
@powersync/[email protected]
Minor Changes
-
c7d2b53: - [Internal] Updated implementation to use shared
WatchedQuery
implementation. -
c7d2b53: - Added the ability to limit re-renders by specifying a
rowComparator
for query results. TheuseQuery
hook will only emitdata
changes when the data has changed.// The data here will maintain previous object references for unchanged items. const { data } = useQuery('SELECT * FROM lists WHERE name = ?', ['aname'], { rowComparator: { keyBy: (item) => item.id, compareBy: (item) => JSON.stringify(item) } });
- Added the ability to subscribe to an existing instance of a
WatchedQuery
import { useWatchedQuerySubscription } from '@powersync/react'; const listsQuery = powerSync .query({ sql: `SELECT * FROM lists` }) .differentialWatch(); export const ListsWidget = (props) => { const { data: lists } = useWatchedQuerySubscription(listsQuery); return ( <div> {lists.map((list) => ( <div key={list.id}>{list.name}</div> ))} </div> ); };
- Added the ability to subscribe to an existing instance of a
Patch Changes
@powersync/[email protected]
Patch Changes
- 319012e: Fixed bug where a WebSocket connection timeout could cause an uncaught exception.
- 6b38551: Fix a warning about raw tables being used when they're not.
- Updated dependencies [319012e]
- Updated dependencies [c7d2b53]
- Updated dependencies [c7d2b53]
- Updated dependencies [6b38551]
- Updated dependencies [a1abb15]
- Updated dependencies [c7d2b53]
- @powersync/[email protected]
- @powersync/[email protected]
@powersync/[email protected]
Patch Changes
- Updated dependencies [319012e]
- Updated dependencies [c7d2b53]
- Updated dependencies [6b38551]
- Updated dependencies [a1abb15]
- @powersync/[email protected]
@powersync/[email protected]
@powersync/[email protected]
Patch Changes
- Updated dependencies [319012e]
- Updated dependencies [79acd89]
- Updated dependencies [c7d2b53]
- Updated dependencies [6b38551]
- Updated dependencies [c7d2b53]
- Updated dependencies [c7d2b53]
- @powersync/[email protected]
- @powersync/[email protected]
@powersync/[email protected]
Minor Changes
- c7d2b53: - Added additional listeners for
closing
andclosed
events inAbstractPowerSyncDatabase
.- Added
query
andcustomQuery
APIs for enhanced watched queries. - Added
triggerImmediate
option to theonChange
API. This allows emitting an initial event which can be useful for downstream use cases.
- Added
- a1abb15: Added ControlledExecutor utility to exports.