Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use Dart 2.17 Finalizer marker interface #581

Closed
sync-by-unito bot opened this issue May 17, 2022 · 0 comments · Fixed by #754
Closed

Use Dart 2.17 Finalizer marker interface #581

sync-by-unito bot opened this issue May 17, 2022 · 0 comments · Fixed by #754
Assignees

Comments

@sync-by-unito
Copy link

sync-by-unito bot commented May 17, 2022

No description provided.

nielsenko added a commit that referenced this issue Aug 15, 2022
Classes that implements Finalizable:
* App,
* FlexibleSyncConfiguration,
* HandleBase,
* Realm,
* RealmEntity,
* RealmList,
* RealmResults,
* Subscription,
* SubscriptionSet, and
* User,

The corresponding XInternal extension classes implements a keepAlive
function to ensure finalizable fields always live as long as their
finalizable parent. This is workaround for:
dart-lang/sdk#49643

Resolves: #581, resolves: #582
nielsenko added a commit that referenced this issue Aug 15, 2022
Classes that implements Finalizable:
* App,
* FlexibleSyncConfiguration,
* HandleBase,
* Realm,
* RealmEntity,
* RealmList,
* RealmResults,
* Subscription,
* SubscriptionSet, and
* User,

The corresponding XInternal extension classes implements a keepAlive
function to ensure finalizable fields always live as long as their
finalizable parent. This is workaround for:
dart-lang/sdk#49643

Resolves: #581, resolves: #582
nielsenko added a commit that referenced this issue Aug 16, 2022
Classes that implements Finalizable:
* App,
* FlexibleSyncConfiguration,
* HandleBase,
* Realm,
* RealmEntity,
* RealmList,
* RealmResults,
* Subscription,
* SubscriptionSet, and
* User,

The corresponding XInternal extension classes implements a keepAlive
function to ensure finalizable fields always live as long as their
finalizable parent. This is workaround for:
dart-lang/sdk#49643

Resolves: #581, resolves: #582
nielsenko added a commit that referenced this issue Aug 16, 2022
Classes that implements Finalizable:
* App,
* FlexibleSyncConfiguration,
* HandleBase,
* Realm,
* RealmEntity,
* RealmList,
* RealmResults,
* Subscription,
* SubscriptionSet, and
* User,

The corresponding XInternal extension classes implements a keepAlive
function to ensure finalizable fields always live as long as their
finalizable parent. This is workaround for:
dart-lang/sdk#49643

Resolves: #581, resolves: #582
nielsenko added a commit that referenced this issue Aug 16, 2022
* HandleBase implements Finalizable, and uses a common NativeFinalizer

* Classes with Finalizable fields implements Finalizable

Classes that implements Finalizable:
* App,
* FlexibleSyncConfiguration,
* HandleBase,
* Realm,
* RealmEntity,
* RealmList,
* RealmResults,
* Subscription,
* SubscriptionSet, and
* User,

The corresponding XInternal extension classes implements a keepAlive
function to ensure finalizable fields always live as long as their
finalizable parent. This is workaround for:
dart-lang/sdk#49643

Resolves: #581, resolves: #582

* Remove redundant code

* Implement Finalizable on more classes
* RealmObject,
* RealmObjectChanges, and
* RealmCollectionChanges.

Drop from RealmEntity

* Implements Finalizable on SyncSession

* Don't use `assert(() { ...; return true; }());` trick for finalization trace. Instead have const flag and depend on tree-shaking

* Update CHANGELOG
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Mar 15, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant