Commit Graph

65 Commits

Author SHA1 Message Date
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
Kenneth Geisshirt 1dd85b591a Merge pull request #1190 from ejoy-jsc/master
correct testProgressNotificationsForRealmOpen
2017-08-16 14:56:14 +02:00
Kræn Hansen e4e1431c55 Running js tests in Electron renderer process (#1196)
* First take on running the tests inside an Electron render process

* Making progress

* Making it possible to override the location of the admin token

* Ignoreing the realm-object-server files

* Fixing a console.log to return a string instead of a boolean

But it should probably be removed entirely

* Making the downloaded ROS log less

* Adjusting comments in the test.sh

* Checking number of windows to determine an Electron crash

* Added a test that triggers garbage collection of ArrayBuffers

* Enabled the ability to run the tests in Electrons main process

* Run tests first in main process and the render

* Added a README.md that documents how Electron tests can be run

* Added a comment on why the garbage-collection test was added.

* Waiting with reading the admin token, until it is actually used

* Disabling the GarbageCollectionTests for now
2017-08-11 10:30:57 +02:00
toanz 7d903cc96e correct testProgressNotificationsForRealmOpen
ProgressNotifications is not working , this test is incorrect
2017-08-07 10:28:01 +07:00
Yavor Georgiev ab29ac4490 Fix linter issues (#1132) 2017-07-10 16:53:00 +02:00
blagoev 30ad678dfa rename test variable to reflect parameter meaning 2017-06-29 14:28:08 +03:00
blagoev f54487c6cc Rename the progress function to better reflect purpose
refactored registration code to remove the unneccesary lambda
2017-06-28 15:02:28 +03:00
blagoev 55542a492e refactor code that runs helper out of process
as per review comments
2017-06-28 13:40:35 +03:00
blagoev 97f25cc1ab Add progress notifications
Support download progress notifications for Realm open and openAsync methods
2017-06-28 13:40:35 +03:00
Yavor Georgiev 28fe678a1b Use an uncached realm instance for _waitForDownload (#1083)
Fixes #1061
2017-06-19 13:58:19 +02:00
blagoev aab7171643 add test for working with local realms with async open api 2017-05-19 09:18:48 +03:00
blagoev ea7b10191a Add test for async open api with no schema usage 2017-05-19 08:59:03 +03:00
blagoev cb72fe1977 addressed pr review comments 2017-05-17 16:09:48 +03:00
blagoev a0f963775b Fix download api for RN
fix tests when run in RN
2017-05-17 16:09:19 +03:00
blagoev 4aecf90176 enable all session-tests and Realm.openAsync 2017-05-17 16:08:24 +03:00
blagoev 315b8c1a7a Fix download api to wait correctly using schema less realm
Added tests using two processes (nodes only)
2017-05-17 16:08:01 +03:00