Commit Graph

661 Commits

Author SHA1 Message Date
Kenneth Geisshirt 839d8563a1
Adding test of timestamp's ms precision. (#1561)
* Adding test of timestamp's ms precision.
2017-12-20 14:19:42 +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
blagoev e1f69ed005
Merge pull request #1483 from realm/kneth/xcode9
Xcode 9 fixes
2017-12-14 13:51:54 +02:00
blagoev 97d695d615 fix android test app build and the script for android tests
address review comments
2017-12-14 12:17:49 +02:00
Yavor Georgiev 4e6cb299b3
Add disableFormatUpgrade to Realm configuration (#1566) 2017-12-14 07:53:03 +01:00
blagoev aa9ae00c35 Merge branch 'master' into kneth/xcode9
# Conflicts:
#	tests/js/list-tests.js
#	tests/js/results-tests.js
2017-12-13 18:56:17 +02:00
Kenneth Geisshirt aed1ea104b
Adding property Realm.isClosed. (#1560)
* Adding property Realm.isClosed.
2017-12-13 10:09:26 +01:00
Yavor Georgiev 23f965060e
Implement implicit property conversion for date and binary (#1557)
* Implement implicit property conversion for date and binary

Closes #1542
Closes #1551

* fix include

* changelog
2017-12-07 13:47:20 +01:00
Kræn Hansen 70004b9304 Checking the content-type of authentication responses (#1556)
* Checking the content-type of authentication responses
* Adding a changelog entry
* Fixing changelog typos and line endings
2017-12-07 10:36:24 +01:00
blagoev 9f41664309 try fix ReactExample test app 2017-12-06 14:44:00 +02:00
blagoev 3000e5d117 rename test application Xcode scheme 2017-12-06 14:42:20 +02:00
blagoev 7e8b7d7bab upgrade RN in test app + fix simulators handling + fix test app to run tests immediatelly and exit afterwards 2017-12-04 15:56:42 +02:00
Kenneth Geisshirt 28f9e027b5
Fixing unit tests (discovered on Android). (#1523)
* Fixing unit tests (discovered on Android).
2017-12-01 13:00:02 +01:00
Kenneth Geisshirt cc515a6a60 Updating to RN 0.50.3. 2017-11-22 18:05:26 +02:00
blagoev 29d1b55f7e
Merge branch 'master' into use-ros2.0-final 2017-11-20 16:04:28 +02:00
blagoev 7f75b72a09 fix permission tests 2017-11-20 13:26:47 +02:00
blagoev 3fd06badf6
don't run a sync test when sync tested are not enabled 2017-11-20 11:39:11 +02:00
blagoev 4f1d5e36a1 enable test for RN 2017-11-16 12:57:14 +02:00
blagoev e8d3470826 make eslint happy 2017-11-14 18:15:30 +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
Mark Rowe 848a5b1c09 Expose an object's internal object ID, and allow fetching an object by its object ID (#1460)
* Expose an object's internal object ID, and allow fetching an object by its object ID
* Throw an exception if methods related to object IDs are used on non-synced Realms.
* Use `std::stoull` to ensure we can return the entire range of possible values.
* Add tests for _objectId() / _objectForObjectId().
* Adding change log
* Skip ObjectIdTests.testSynced for non-Node.
2017-11-08 11:22:59 +01: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
Brian Munkholm e95d5423db
Merge pull request #1450 from realm/bug/deleting-last-object
Adding test to illustrate deleting objects while iterating
2017-11-02 04:47:10 -07:00
Kenneth Geisshirt e7137b48e3 Adding test of creating objects during migration. 2017-11-01 17:43:52 +01:00
Kenneth Geisshirt 9308e75c56 Adding test to illustrate deleting objects while iterating 2017-11-01 10:12:03 +01:00
Thomas Goyne 97ed1db18e Fix eslint errors 2017-10-30 12:55:50 -07:00
blagoev 0b5aa68c62 Revert "Merge pull request #1409 from realm/kneth/bugfix/invalid-token"
This reverts commit 4055c9e047, reversing
changes made to d6b3fcb8b1.
2017-10-17 00:51:47 +03:00
blagoev a8ac2670ea fix encryption tests 2017-10-16 21:47:35 +03:00
Brian Munkholm 4055c9e047 Merge pull request #1409 from realm/kneth/bugfix/invalid-token
adminUser() throws an exception if token or url is invalid
2017-10-16 14:10:57 +02:00
Yavor Georgiev d6b3fcb8b1 Link against OpenSSL when building for Electron (#1413) 2017-10-16 11:02:35 +02:00
Kenneth Geisshirt a99e433d0a Merge branch 'master' of github.com:realm/realm-js into kneth/bugfix/invalid-token 2017-10-13 18:26:30 +02:00
Kenneth Geisshirt 7e85220e47 Merge branch 'kneth/bugfix/invalid-token' of github.com:realm/realm-js into kneth/bugfix/invalid-token 2017-10-13 18:18:05 +02:00
Kenneth Geisshirt 28c51335d2 Ugly hack. 2017-10-13 18:12:30 +02:00
Brian Munkholm 4b564c9ded Update user-tests.js 2017-10-13 17:26:14 +02:00
Kenneth Geisshirt fca7cd4566 wip 2017-10-13 14:39:28 +02:00
Yavor Georgiev feab6b2e3b
disable async tests on windows
interprocess communication seems to be broken
2017-10-12 16:57:19 +02:00
Kenneth Geisshirt 16957f62eb adminUser() throws an exception if token or url is invalid 2017-10-12 16:30:31 +02:00
Yavor Georgiev 5d2ee561a1
Disable sync tests on Windows 2017-10-12 16:06:24 +02:00
Yavor Georgiev 2ac8160b32
Merge branch 'master' of github.com:realm/realm-js into yg/windows-sync
# Conflicts:
#	binding.gyp
#	src/object-store
2017-10-12 12:52:47 +02:00
Mark Rowe 5ea64ef4b3 Merge pull request #1402 from realm/mar/simplify-wait-for-download
Remove configuration handling from Realm._waitForDownload
2017-10-11 09:56:49 -07:00
Thomas Goyne 643c19ea75 Add support for aggregates on arrays of primitives (#1401)
* Fix an unused variable warning in js_sync.hpp
* Add support for aggregates on arrays of primitives
* Update documentation and typescript declarations
* Update collection.js
2017-10-11 14:54:52 +02: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
Ashwin Phatak 4bcef8baff Add support for bulk updates (#808) 2017-10-10 16:25:47 +05:30
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 19d05c2021 Merge `master` into `2.0.x` (#1377)
* Add 'deleteRealmIfMigrationNeeded' to configuration to delete a Realm if migration needed (#502)
* Minor update due to changes in objec store
2017-10-03 13:37:21 +02:00
Kenneth Geisshirt 53fec37e84 Frozen results during iteration. (#1368)
* Frozen results during iteration.
* Adding a note about iterators are frozen.
2017-10-02 23:15:19 +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 69c85c8b19 Enable permission tests 2017-10-02 13:30:08 +03:00
blagoev fe09dc0d5f disable failing permission test 2017-10-02 11:33:56 +03:00