chore: Prepare the release of 0.0.4 with serverpod-4.0.0-rc.1 support (#113)

This commit is contained in:
Marcelo Mendonça Soares 2026-08-31 21:15:35 -03:00 • committed by GitHub
commit fbad5c61fe
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
27 changed files with 22326 additions and 805 deletions

View file

@ -17,8 +17,8 @@ typedef CrdtSyncTransport =
class CrdtSyncSession {
CrdtSyncSession._({
required this.done,
required Future<void> Function() cancel,
}) : _cancel = cancel;
required this._cancel,
});
/// Completes when the sync session ends normally or after [cancel].
final Future<void> done;

View file

@ -55,18 +55,16 @@ bool _grantsEqual(List<CrdtScopeGrant>? a, List<CrdtScopeGrant> b) {
/// control flow); this owns the scopes. It needs only a [DatabaseSession] and
/// the membership helpers, so it carries no protocol or transport concerns.
class CrdtScopeSyncSession {
/// Creates a scope session for [userId] acting in [mode] against [_session].
/// Creates a scope session for [_userId] acting in [_mode] against [_session].
///
/// [peerNodeId] is the remote peer's CRDT node, learned from its connect
/// [_peerNodeId] is the remote peer's CRDT node, learned from its connect
/// handshake before this session is constructed.
CrdtScopeSyncSession(
this._session, {
required UuidValue userId,
required CrdtSyncPeerMode mode,
required UuidValue peerNodeId,
}) : _userId = userId,
_mode = mode,
_peerNodeId = peerNodeId;
required this._userId,
required this._mode,
required this._peerNodeId,
});
final DatabaseSession _session;
final UuidValue _userId;

View file

@ -46,7 +46,7 @@ class CrdtSync {
int syncBatchSize = defaultSyncBatchSize,
/// Delay between continuous sync rounds.
Duration continuousSyncInterval = defaultContinuousSyncInterval,
this._continuousSyncInterval = defaultContinuousSyncInterval,
}) : _syncTables = syncTables,
_serializationManager = serializationManager,
_databaseContext =
@ -55,8 +55,7 @@ class CrdtSync {
syncTables: syncTables,
serializationManager: serializationManager,
),
_syncBatchSize = syncBatchSize,
_continuousSyncInterval = continuousSyncInterval {
_syncBatchSize = syncBatchSize {
if (syncBatchSize < 1) {
throw ArgumentError.value(syncBatchSize, 'syncBatchSize', 'Must be >= 1');
}

View file

@ -67,14 +67,11 @@ class CrdtDatabase implements Database {
CrdtDatabase._(
this._delegate,
this._context, {
required List<Table> syncTables,
required int syncBatchSize,
required Duration continuousSyncInterval,
required this._syncTables,
required this._syncBatchSize,
required this._continuousSyncInterval,
required UuidValue? persistentUserId,
}) : _syncTables = syncTables,
_syncBatchSize = syncBatchSize,
_continuousSyncInterval = continuousSyncInterval,
_recorder = CrdtMutationRecorder(
}) : _recorder = CrdtMutationRecorder(
_delegate,
context: _context,
persistentUserId: persistentUserId,

View file

@ -56,10 +56,9 @@ class CrdtForeignKeyProjector {
/// Creates a projector over the given recorder context.
CrdtForeignKeyProjector(
this._context, {
required CrdtForeignKeyGraph foreignKeys,
required CrdtUniqueConflictResolver uniqueResolver,
}) : _foreignKeys = foreignKeys,
_uniqueResolver = uniqueResolver;
required this._foreignKeys,
required this._uniqueResolver,
});
final CrdtRecorderContext _context;
final CrdtForeignKeyGraph _foreignKeys;

View file

@ -8,9 +8,9 @@
// ignore_for_file: type_literal_in_constant_pattern
// ignore_for_file: use_super_parameters
// ignore_for_file: invalid_use_of_internal_member
// ignore_for_file: dead_code, unnecessary_null_comparison
// ignore_for_file: dead_code, no_leading_underscores_for_library_prefixes
// ignore_for_file: unnecessary_null_comparison
// ignore_for_file: no_leading_underscores_for_library_prefixes
import 'package:serverpod_database/serverpod_database.dart' as _isd;
import 'package:serverpod_offline_sync/serverpod_offline_sync.dart'
as _icw2tu00;

View file

@ -10,6 +10,7 @@
// ignore_for_file: invalid_use_of_internal_member
// ignore_for_file: no_leading_underscores_for_library_prefixes
import 'package:serverpod_serialization/serverpod_serialization.dart' as _iss;
/// Why a synced user tombstone changed row visibility.
@ -18,8 +19,7 @@ enum CrdtDataDeletedReason implements _iss.SerializableModel {
userReinsert,
userDelete,
userCascadeDelete,
uniqueLoser,
;
uniqueLoser;
static CrdtDataDeletedReason fromJson(int index) {
switch (index) {

View file

@ -8,9 +8,9 @@
// ignore_for_file: type_literal_in_constant_pattern
// ignore_for_file: use_super_parameters
// ignore_for_file: invalid_use_of_internal_member
// ignore_for_file: dead_code, unnecessary_null_comparison
// ignore_for_file: dead_code, no_leading_underscores_for_library_prefixes
// ignore_for_file: unnecessary_null_comparison
// ignore_for_file: no_leading_underscores_for_library_prefixes
import 'package:serverpod_database/serverpod_database.dart' as _isd;
import 'package:serverpod_offline_sync/serverpod_offline_sync.dart'
as _icw2tu00;

View file

@ -8,9 +8,9 @@
// ignore_for_file: type_literal_in_constant_pattern
// ignore_for_file: use_super_parameters
// ignore_for_file: invalid_use_of_internal_member
// ignore_for_file: dead_code, unnecessary_null_comparison
// ignore_for_file: dead_code, no_leading_underscores_for_library_prefixes
// ignore_for_file: unnecessary_null_comparison
// ignore_for_file: no_leading_underscores_for_library_prefixes
import 'package:serverpod_database/serverpod_database.dart' as _isd;
import 'package:serverpod_offline_sync/serverpod_offline_sync.dart'
as _icw2tu00;

View file

@ -10,6 +10,7 @@
// ignore_for_file: invalid_use_of_internal_member
// ignore_for_file: no_leading_underscores_for_library_prefixes
import 'package:serverpod_serialization/serverpod_serialization.dart' as _iss;
/// Why a foreign key projection override is active.
@ -26,8 +27,7 @@ enum CrdtForeignKeyOverrideReason implements _iss.SerializableModel {
/// cannot repair the value (restrict, no action, cascade, or the column is
/// non-nullable), so the row is hidden by projection while the attempt is
/// preserved.
missingParent,
;
missingParent;
static CrdtForeignKeyOverrideReason fromJson(int index) {
switch (index) {

View file

@ -8,9 +8,9 @@
// ignore_for_file: type_literal_in_constant_pattern
// ignore_for_file: use_super_parameters
// ignore_for_file: invalid_use_of_internal_member
// ignore_for_file: dead_code, unnecessary_null_comparison
// ignore_for_file: dead_code, no_leading_underscores_for_library_prefixes
// ignore_for_file: unnecessary_null_comparison
// ignore_for_file: no_leading_underscores_for_library_prefixes
import 'package:serverpod_database/serverpod_database.dart' as _isd;
import 'package:serverpod_offline_sync/serverpod_offline_sync.dart'
as _icw2tu00;

View file

@ -10,6 +10,7 @@
// ignore_for_file: invalid_use_of_internal_member
// ignore_for_file: no_leading_underscores_for_library_prefixes
import 'package:serverpod_serialization/serverpod_serialization.dart' as _iss;
/// Materialized visibility state for a CRDT row.
@ -22,8 +23,7 @@ enum CrdtDataRowVisibility implements _iss.SerializableModel {
foreignKeyRestrictRestore,
userDelete,
userCascadeDelete,
foreignKeyCascade,
;
foreignKeyCascade;
static CrdtDataRowVisibility fromJson(int index) {
switch (index) {

View file

@ -10,6 +10,7 @@
// ignore_for_file: invalid_use_of_internal_member
// ignore_for_file: no_leading_underscores_for_library_prefixes
import 'package:serverpod_serialization/serverpod_serialization.dart' as _iss;
/// Base class for HLC timestamps.

View file

@ -10,6 +10,7 @@
// ignore_for_file: invalid_use_of_internal_member
// ignore_for_file: no_leading_underscores_for_library_prefixes
import 'package:serverpod_offline_sync/serverpod_offline_sync.dart'
as _icw2tu00;
import 'package:serverpod_serialization/serverpod_serialization.dart' as _iss;

View file

@ -10,6 +10,7 @@
// ignore_for_file: invalid_use_of_internal_member
// ignore_for_file: no_leading_underscores_for_library_prefixes
import 'package:serverpod_database/serverpod_database.dart' as _isd;
import 'package:serverpod_offline_sync/serverpod_offline_sync.dart'
as _icw2tu00;

View file

@ -8,9 +8,9 @@
// ignore_for_file: type_literal_in_constant_pattern
// ignore_for_file: use_super_parameters
// ignore_for_file: invalid_use_of_internal_member
// ignore_for_file: dead_code, unnecessary_null_comparison
// ignore_for_file: dead_code, no_leading_underscores_for_library_prefixes
// ignore_for_file: unnecessary_null_comparison
// ignore_for_file: no_leading_underscores_for_library_prefixes
import 'package:serverpod_database/serverpod_database.dart' as _isd;
import 'package:serverpod_offline_sync/serverpod_offline_sync.dart'
as _icw2tu00;

View file

@ -8,9 +8,9 @@
// ignore_for_file: type_literal_in_constant_pattern
// ignore_for_file: use_super_parameters
// ignore_for_file: invalid_use_of_internal_member
// ignore_for_file: dead_code, unnecessary_null_comparison
// ignore_for_file: dead_code, no_leading_underscores_for_library_prefixes
// ignore_for_file: unnecessary_null_comparison
// ignore_for_file: no_leading_underscores_for_library_prefixes
import 'package:serverpod_database/serverpod_database.dart' as _isd;
import 'package:serverpod_offline_sync/serverpod_offline_sync.dart'
as _icw2tu00;

View file

@ -8,9 +8,9 @@
// ignore_for_file: type_literal_in_constant_pattern
// ignore_for_file: use_super_parameters
// ignore_for_file: invalid_use_of_internal_member
// ignore_for_file: dead_code, unnecessary_null_comparison
// ignore_for_file: dead_code, no_leading_underscores_for_library_prefixes
// ignore_for_file: unnecessary_null_comparison
// ignore_for_file: no_leading_underscores_for_library_prefixes
import 'package:serverpod_database/serverpod_database.dart' as _isd;
import 'package:serverpod_offline_sync/serverpod_offline_sync.dart'
as _icw2tu00;

View file

@ -10,6 +10,7 @@
// ignore_for_file: invalid_use_of_internal_member
// ignore_for_file: no_leading_underscores_for_library_prefixes
import 'package:serverpod_serialization/serverpod_serialization.dart' as _iss;
/// CRDT access role for a member of a shared scope.
@ -17,8 +18,7 @@ import 'package:serverpod_serialization/serverpod_serialization.dart' as _iss;
/// The role gates CRDT writes only. Reads remain membership-wide.
enum CrdtScopeRole implements _iss.SerializableModel {
readOnly,
readWrite,
;
readWrite;
static CrdtScopeRole fromJson(String name) {
switch (name) {

View file

@ -8,9 +8,9 @@
// ignore_for_file: type_literal_in_constant_pattern
// ignore_for_file: use_super_parameters
// ignore_for_file: invalid_use_of_internal_member
// ignore_for_file: dead_code, unnecessary_type_check
// ignore_for_file: dead_code, no_leading_underscores_for_library_prefixes
// ignore_for_file: unnecessary_type_check
// ignore_for_file: no_leading_underscores_for_library_prefixes
import 'package:serverpod_database/serverpod_database.dart' as _isd;
import 'package:serverpod_offline_sync/serverpod_offline_sync.dart'
as _icw2tu00;

Some files were not shown because too many files have changed in this diff Show more