3aa681005b
Skip importing scores which have no matching realm ruleset
...
There's no real way to recover these unless we want to start importing
rulesets into realm. And that seems counter productive. This can only
happen if users don't have the dll present any more, and it was removed
far before realm was tracking rulesets (else it would have an
`Available=0` entry in realm to match).
2022-01-26 18:04:54 +09:00
885fb92aad
Move final empty result set sending to post-compact
2022-01-26 17:21:57 +09:00
791ea0308f
Add flag to guard against deadlocks during blocking operations
2022-01-26 17:09:28 +09:00
11f0f3c17d
Revert "Move final result set firing to before the update realm is disposed"
...
This reverts commit 24bcba6418
.
2022-01-26 16:21:24 +09:00
24bcba6418
Move final result set firing to before the update realm is disposed
...
Without this, if any registered callback attempts to access
`RealmAccess.Realm` when handling the empty set callback, it will
deadlock the game.
2022-01-26 15:57:06 +09:00
5ea781faef
Send
unsubscribe actions to synchronization context for consistency and safety
2022-01-26 15:24:53 +09:00
91e0d1021f
Merge branch 'master' into fix-out-of-order-events-on-block-fail
2022-01-26 15:21:10 +09:00
cd71ec0edd
Remove ILive<>
interface (and use abstract Live<>
instead)
2022-01-26 13:38:56 +09:00
d37c3c463e
Move statistics to static class
2022-01-26 13:29:12 +09:00
c7947b3489
Add statistics for Live
usage
2022-01-26 12:42:24 +09:00
56b06f34f0
Fix RealmLive
not refetching if update thread context was closed at some point
2022-01-26 12:32:34 +09:00
d76822b685
Avoid creating realm contexts or refetching when accessing RealmLive
from the update thread
2022-01-26 12:32:34 +09:00
4a9f4eecba
Use blocking calls to SynchronizationContext
to guarantee order of execution
2022-01-25 20:49:52 +09:00
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
1bb1366c9f
Fix notification reset events potentially arriving out of order if a block operation times out
2022-01-25 16:26:06 +09:00
7f2e66298b
Merge branch 'master' into realm-subscription-tracking
2022-01-25 16:03:21 +09:00
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
5fb9b58c9b
Add tracking of total subscriptions
2022-01-25 14:51:41 +09:00
9ad4d66e4d
Merge branch 'realm-clean-up' into realm-block-timeout-assert-failure
2022-01-25 13:58:36 +09:00
a5c76a9647
Fix a few more cases of "context" terminology usage
2022-01-25 13:56:47 +09:00
d7342880f5
Update remaining cases of clashes with realm.Write
and realm.RegisterForNotifications
2022-01-25 13:09:48 +09:00
e23b10e6a5
Update remaining cases of clashing variable name in realm.Run(realm..
2022-01-25 13:04:05 +09:00
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
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
6eb2c28e41
Rename RealmContextFactory
to RealmAccess
2022-01-24 20:38:07 +09:00
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
66c5d77d63
Allow realm migration to run again if interrupted halfway
2022-01-24 18:55:15 +09:00
9afa034296
Fix attempt to revive update thread realm context from non-update thread
2022-01-24 18:36:16 +09:00
9ff9611296
Merge branch 'master' into realm-stable-subscriptions
2022-01-24 18:25:47 +09:00
e3083c2477
Fix copy pasted xmldoc
2022-01-24 18:05:30 +09:00
bf5bf8d1fd
Rename dictionaries to match methods
2022-01-24 17:58:53 +09:00
f4e7211ef1
Add xmldoc for RegisterForNotifications
2022-01-24 17:52:36 +09:00
abf14f0982
Lock unregistration for sanity
2022-01-24 17:46:53 +09:00
52cd906af6
Move context retrieval inside lock
2022-01-24 17:45:31 +09:00
cb319cebdb
Refactor naming and add more comments to help understanding in RealmContextFactory
subscription logic
2022-01-24 14:48:55 +09:00
40aa873190
Rename register methods to better explain their purpose
2022-01-24 14:37:36 +09:00
997c13f643
Add locking over realmSubscriptionsResetMap
for sanity
2022-01-24 13:36:51 +09:00
deb1670862
Use Array.Empty
instead of constructed list
2022-01-23 23:18:50 +09:00
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
5e7993c35a
Post disposal to synchronisation context
2022-01-23 20:43:25 +09:00
61cef42be9
Proof of concept realm subscriptions via Register
2022-01-23 20:28:04 +09:00
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
70a120ea8a
Add missing lock coverage when using subscriptionActions
dictionary
2022-01-23 18:00:24 +09:00
7e68371d28
Move log statement about migration completed closer to rest of migration code
2022-01-22 14:20:28 +01:00
1b2cca4a0d
Merge branch 'master' into realm-migration-ui
2022-01-22 13:52:19 +01:00
c99f227879
Remove no longer used resolved storage
2022-01-22 13:48:49 +01:00
6a076a684e
Merge branch 'realm-context-use-update-when-feasible' into realm-stable-subscriptions
2022-01-22 13:14:25 +09:00
cdcf0947e6
Merge branch 'master' into realm-context-use-update-when-feasible
2022-01-22 12:09:18 +09:00
b23f4674b1
Update outdated exception message
...
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com >
2022-01-22 12:02:18 +09:00
daed0b04dc
Remove using statements
2022-01-22 11:54:40 +09:00