Commit Graph

80 Commits

Author SHA1 Message Date
Kenneth Geisshirt 1b1b51ded2
BUG FIX: A schema is required when Realm is opened in a query-based sync situation (#1985) 2018-08-24 08:50:27 +02:00
Christian Melchior a58a984f3f
Automatically add schemas for object level permissions. (#1970) 2018-08-17 10:10:20 +02:00
Christian Melchior adf6bb58c9
Change order of Connection notification parameters (#1961) 2018-08-15 15:52:37 +02:00
Christian Melchior 5a8341a5ac
Support for Connection notifications. (#1950) 2018-08-10 10:39:03 +02:00
Kenneth Geisshirt 1d6e213682
Expose custom HTTP headers in sync configuration (#1898)
* Expose custom HTTP headers in sync configuration
2018-06-28 10:34:02 +02:00
Christian Melchior 4cb9c77f46
Query-based sync as the default sync mode (#1830) 2018-05-30 12:54:51 +02:00
Thomas Goyne 72d10eb572 Don't hang forever when the React tests fail to start (#1764)
* Exclude unavailable simulator runtimes
* Fix some warnings
* Don't hang forever when the React tests fail to start
`simctl launch --console` goes into an infinite loop if the app fails to launch
successfully, so don't use --console and manually wait for it to exit.
2018-04-25 08:11:54 +02:00
Kenneth Geisshirt c370ef4d86
Testing against ROS 3.0.0. (#1712)
* Testing against ROS 3.0.0.
* Adding Realm.Sync.Subscription.removeAllListeners. Refactor partial sync tests.
* Refactoring partial sync tests.
2018-03-21 18:18:37 +01:00
Kenneth Geisshirt 10480c1afe
Adding optional user as argument to Realm.automaticSyncConfiguration. (#1709) 2018-03-14 08:26:41 +01:00
Kenneth Geisshirt 9435490ea3
Upgrading to Realm Sync 3.0.0-rc.2 (#1706)
* Adding role to __User.
* Update to Realm Sync 3.0.0
* Renamed defaultSyncConfiguration to automaticSyncConfiguration
2018-03-13 14:27:31 +01:00
Kenneth Geisshirt 2f20006e47
Kneth/allow partial in urls (#1704)
* Adding _disablePartialSyncUrlChecks.
2018-03-13 08:27:47 +01:00
Kenneth Geisshirt abb04e399b
Default sync realm (#1693)
* Configuration for default Realm.
* Use url-parse to make RN happy.
2018-03-09 10:40:45 +01:00
Thomas Goyne 5ff5df97be Fix running nested-list-helper.js with node 8 2018-03-02 12:06:00 -08:00
Thomas Goyne 302db024bf Eliminate some gratuitous promise nesting in tests 2018-03-02 12:05:09 -08:00
Thomas Goyne 61126aef53 Use node.execPath in runOutOfProcess() 2018-03-02 10:47:04 -08:00
Kenneth Geisshirt 615d6ff35e Merge branch '2.3.x' of github.com:realm/realm-js into 2.3.x 2018-02-27 10:58:58 +01:00
Kenneth Geisshirt 2e900e85e0 Merge branch 'master' of github.com:realm/realm-js into 2.3.x 2018-02-20 18:03:54 +01:00
Kenneth Geisshirt a90e9ec45f
Test of: Multiple list of primitive types (#1665)
* Adding tests for nested lists
* Updated to Realm Sync 2.2.12.
2018-02-20 14:43:36 +01:00
Kenneth Geisshirt 462856a24d
Partial sync (#1583)
The new Partial Sync API
2018-02-20 13:40:54 +01:00
Kenneth Geisshirt 1529717577 Disable partial sync test 2018-02-05 10:21:30 +01:00
Kenneth Geisshirt 03a4dd1486
Better variable names in a couple of tests (#1624) 2018-01-17 16:47:23 +01:00
Kenneth Geisshirt 676eca6bf9
Updating object store (bug fix). Mildly rewrritten a test. (#1622) 2018-01-17 12:15:20 +01:00
Mark Rowe c2de29ab0c Fix an issue where `Realm.open` would complain about the Realm already
being open with a different schema version

In order to correctly open read-only synchronized Realms, `Realm.open`
would open the Realm without specifying a schema or schema version, wait
for any remote changes to be downloaded (if appropriate), and then
re-open the Realm with the specified schema and schema version. This
would lead to an exception about the Realm being open with a different
schema version if the Realm had previously been opened with a different
schema version, due to the way `RealmCoordinator` caches information
about the schema of open Realms.

We address this by making two changes:
1. `Realm.open` for non-synchronized Realms no longer goes through
`_waitForDownload`. This means the dance described above where the Realm
is opened twice is not used for local Realms.
2. `_waitForDownload` no longer keeps the `Realm` alive until after its
callback has returned. It instead keeps the `SyncSession` alive. This is
sufficient to avoid the connection being torn down and having to
reconnect when `_waitForDownload`'s callback later opens the Realm with
the correct schema and schema version, while also allowing for
`RealmCoordinator`'s cached information to be cleared when the
schemaless Realm is closed prior to the Realm being reopened.

In addition, tests have been added that reproduced the problem in both a
local and sync context.
2017-12-18 14:54:08 -08:00
Kenneth Geisshirt cc515a6a60 Updating to RN 0.50.3. 2017-11-22 18:05:26 +02:00
Thomas Goyne 8972a20459 Update tests to not use deprecated APIs
Switch to the newer promise-based APIs rather than the callback versions.
2017-11-10 18:12:21 -08:00
Kenneth Geisshirt e81d8589ae
Post-release feedback on client reset (#1372) (#1459)
* Post-release feedback on client reset (#1372)
* Using error.name instead
2017-11-06 13:51:33 +01:00
Thomas Goyne 97ed1db18e Fix eslint errors 2017-10-30 12:55:50 -07:00
Mark Rowe 0249722a02 Remove configuration handling from `Realm._waitForDownload`
There's no reason for `_waitForDownload` to be responsible for
constructing a new Realm instance when we can instead use the
constructor for that. This eliminates the potential for different
handling of the Realm configuration between `_waitForDownload` and `new
Realm`, which was responsible for various issues (#1391, #1392, #1393).
In turn, this requires that `_waitForDownload` become an instance method.

In addition, we update `Realm.openAsync` and `getSpecialPurposeRealm` to
delegate to `Realm.open` rather than reimplementing equivalent logic
themselves.

Finally, the private mechanism for registering a download progress
handler as part of the sync configuration (`_onDownloadProgress`) is
removed in favor of the public API (`progress()` on the promise returned
by `Realm.open`).
2017-10-10 21:16:23 -07:00
blagoev aefd81ccf7 Kneth/fix partial sync (#1383)
* fix typo in subscribeToObjects
* Fix partial sync test
* Swap error and result order in callback
* Use correct url
2017-10-04 11:28:50 +02:00
Kenneth Geisshirt feb59ae859 Partial sync (#1361) 2017-10-02 20:29:36 +02:00
Kenneth Geisshirt fe121ea27b Client reset (#1341) 2017-10-02 19:44:24 +02:00
blagoev fe09dc0d5f disable failing permission test 2017-10-02 11:33:56 +03:00
blagoev 0b439d6c79 fix IncompatibleRealmSynced tests 2017-09-30 16:43:40 +03:00
blagoev 6d9f85759e Fix IncompatibleSyncedRealm support 2017-09-29 21:43:04 +03:00
blagoev 8e984feedb Merge branch '2.0.x' into kneth/v1_v2-upgrade 2017-09-29 12:42:27 +03:00
Kenneth Geisshirt c370de6d5d Linker issue. 2017-09-27 22:31:27 +02:00
Kenneth Geisshirt f4248f5d30 wip 2017-09-27 15:59:21 +02:00
Kenneth Geisshirt 39fe8c6280 Creating a proper IncompatibleSyncedRealmError class. 2017-09-23 00:05:33 +02:00
Kenneth Geisshirt 4b2acf3b79 Updating documentation and test. 2017-09-22 13:50:17 +02:00
Kenneth Geisshirt d9e50fc41d better name for test 2017-09-20 14:53:28 +02:00
Kenneth Geisshirt bdd9bf95f4 use local Realm 2017-09-20 09:26:30 +02:00
Kenneth Geisshirt abe0781565 Encode exception type and path in string 2017-09-19 14:16:15 +02:00
Kenneth Geisshirt c3b81c768d wip 2017-09-19 11:31:58 +02:00
Kenneth Geisshirt 8606d37141 Fixes to issues reported by eslint (#1313) 2017-09-14 10:35:02 +02:00
blagoev 064b487c07 Merge branch 'master' into blagoev/promise3 2017-09-13 14:27:04 +03:00
blagoev f7db865458 Fix typescript definitions
Fixes #1306
2017-09-13 12:37:44 +03:00
blagoev 1f5b98bb53 Use promisified methods for login and register to have backward compatibility testing as well 2017-09-12 23:08:54 +03:00
Maximilian Alexander 78515e3b48 adding promisified apis 2017-09-12 20:10:52 +03:00
blagoev f2ea9e849b readability 2017-09-11 15:50:44 +03:00
blagoev e1cebe073a add progress notifications api 2017-09-11 15:50:44 +03:00