Dean Herbert
d37c3c463e
Move statistics to static class
2022-01-26 13:29:12 +09:00
Dean Herbert
c7947b3489
Add statistics for Live
usage
2022-01-26 12:42:24 +09:00
Dean Herbert
56b06f34f0
Fix RealmLive
not refetching if update thread context was closed at some point
2022-01-26 12:32:34 +09:00
Dean Herbert
d76822b685
Avoid creating realm contexts or refetching when accessing RealmLive
from the update thread
2022-01-26 12:32:34 +09:00
Dan Balasescu
d8270fe14f
Merge pull request #16604 from peppy/less-async-import
...
Remove `Task` from the inner-most `Import` method in `RealmArchiveModelImporter`
2022-01-25 16:47:07 +09:00
Dan Balasescu
7f2e66298b
Merge branch 'master' into realm-subscription-tracking
2022-01-25 16:03:21 +09:00
Dean Herbert
778d2a71b4
Remove Task
from the inner-most Import
method in RealmArchiveModelImporter
...
One of my pending work items for post-realm merge.
The lowest-level import task is no longer asynchronous, as we don't want
it to span multiple threads to allow easier interaction with realm.
Removing the `Task` spec simplifies a heap of usages.
Individual usages should decide whether they want to run the import
asynchronously, by either using an alternative override or spooling up a
thread themselves.
2022-01-25 15:30:29 +09:00
Dean Herbert
5fb9b58c9b
Add tracking of total subscriptions
2022-01-25 14:51:41 +09:00
Dean Herbert
9ad4d66e4d
Merge branch 'realm-clean-up' into realm-block-timeout-assert-failure
2022-01-25 13:58:36 +09:00
Dean Herbert
a5c76a9647
Fix a few more cases of "context" terminology usage
2022-01-25 13:56:47 +09:00
Dean Herbert
d7342880f5
Update remaining cases of clashes with realm.Write
and realm.RegisterForNotifications
2022-01-25 13:09:48 +09:00
Dean Herbert
e23b10e6a5
Update remaining cases of clashing variable name in realm.Run(realm..
2022-01-25 13:04:05 +09:00
Dean Herbert
6f4c337a56
Fix a failed BlockAllOperations
leaving update realm in unretrieved state
...
If the operation timed out on..
```csharp
throw new TimeoutException(@"Took too long to acquire lock");
```
..from an update thread, it would not restore the update context.
The next call would then fail on the assert that ensures a non-null
context in such cases.
Can add test coverage if required.
2022-01-24 20:53:29 +09:00
Dean Herbert
f30894840c
Update terminology to realm "instance" rather than "context"
...
This matches the terminology used by realm themselves, which feels
better.
2022-01-24 20:38:38 +09:00
Dean Herbert
6eb2c28e41
Rename RealmContextFactory
to RealmAccess
2022-01-24 20:38:07 +09:00
Dan Balasescu
bb54ad9ad8
Merge pull request #16547 from peppy/realm-stable-subscriptions
...
Fix realm subscriptions getting lost after a context recycle
2022-01-24 20:20:04 +09:00
Dean Herbert
66c5d77d63
Allow realm migration to run again if interrupted halfway
2022-01-24 18:55:15 +09:00
Dean Herbert
9afa034296
Fix attempt to revive update thread realm context from non-update thread
2022-01-24 18:36:16 +09:00
Dean Herbert
9ff9611296
Merge branch 'master' into realm-stable-subscriptions
2022-01-24 18:25:47 +09:00
Dean Herbert
e3083c2477
Fix copy pasted xmldoc
2022-01-24 18:05:30 +09:00
Dean Herbert
bf5bf8d1fd
Rename dictionaries to match methods
2022-01-24 17:58:53 +09:00
Dean Herbert
f4e7211ef1
Add xmldoc for RegisterForNotifications
2022-01-24 17:52:36 +09:00
Dean Herbert
abf14f0982
Lock unregistration for sanity
2022-01-24 17:46:53 +09:00
Dean Herbert
52cd906af6
Move context retrieval inside lock
2022-01-24 17:45:31 +09:00
Dean Herbert
cb319cebdb
Refactor naming and add more comments to help understanding in RealmContextFactory
subscription logic
2022-01-24 14:48:55 +09:00
Dean Herbert
40aa873190
Rename register methods to better explain their purpose
2022-01-24 14:37:36 +09:00
Dean Herbert
997c13f643
Add locking over realmSubscriptionsResetMap
for sanity
2022-01-24 13:36:51 +09:00
Dean Herbert
deb1670862
Use Array.Empty
instead of constructed list
2022-01-23 23:18:50 +09:00
Dean Herbert
249f0f9697
Add more lengthy comment explaining cyclic avoidance
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-01-23 23:15:39 +09:00
Dean Herbert
5e7993c35a
Post disposal to synchronisation context
2022-01-23 20:43:25 +09:00
Dean Herbert
61cef42be9
Proof of concept realm subscriptions via Register
2022-01-23 20:28:04 +09:00
Dean Herbert
f39ff1eacb
Add unregistration on blocking
...
This is the first part of the requirement of sending a `ChangeSet` event
to ensure correct state during blocking time
2022-01-23 20:27:57 +09:00
Dean Herbert
70a120ea8a
Add missing lock coverage when using subscriptionActions
dictionary
2022-01-23 18:00:24 +09:00
Bartłomiej Dach
7e68371d28
Move log statement about migration completed closer to rest of migration code
2022-01-22 14:20:28 +01:00
Bartłomiej Dach
1b2cca4a0d
Merge branch 'master' into realm-migration-ui
2022-01-22 13:52:19 +01:00
Bartłomiej Dach
c99f227879
Remove no longer used resolved storage
2022-01-22 13:48:49 +01:00
Dean Herbert
6a076a684e
Merge branch 'realm-context-use-update-when-feasible' into realm-stable-subscriptions
2022-01-22 13:14:25 +09:00
Dean Herbert
cdcf0947e6
Merge branch 'master' into realm-context-use-update-when-feasible
2022-01-22 12:09:18 +09:00
Dean Herbert
b23f4674b1
Update outdated exception message
...
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2022-01-22 12:02:18 +09:00
Dean Herbert
daed0b04dc
Remove using statements
2022-01-22 11:54:40 +09:00
Dean Herbert
855ef3fa92
Create backup before any realm contexts are used
2022-01-22 11:52:46 +09:00
Dean Herbert
8ef50ff42d
Add safety to ensure RealmLiveUnmanaged
is not used with managed instances
2022-01-22 02:13:08 +09:00
Dean Herbert
ad3a01dc06
Use a more reliable method of reviving the update thread realm after blocking
2022-01-21 22:44:56 +09:00
Dean Herbert
3b11235d3c
Fix potentially cyclic subscription registration if a subscription's delegate accesses Context
2022-01-21 20:45:10 +09:00
Dean Herbert
1f157d729d
Update existing subscriptions to new style
...
Fix missing detach calls in `MusicController`
2022-01-21 20:05:03 +09:00
Dean Herbert
45aea9add5
Implement full subscription flow
2022-01-21 19:06:23 +09:00
Dean Herbert
18bf690a30
Add Register
method for subscription purposes and update safeties
2022-01-21 19:06:18 +09:00
Dean Herbert
8f1dfa33a2
Merge branch 'master' into realm-context-use-update-when-feasible
2022-01-21 18:03:09 +09:00
Dean Herbert
81b5717ae7
Fix RealmLive
failing to retrieve due to lack of refresh
2022-01-21 17:33:03 +09:00
Dean Herbert
d2655c0825
Fix RealmLive
not necessarily being in refreshed state due to potentially using update context
2022-01-21 17:27:30 +09:00