Commit Graph

84 Commits

Author SHA1 Message Date
Yavor Georgiev b5d7d8ceab
Fix Node.js 10 support (#1937) 2018-07-24 20:51:56 +03: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
James Stone e46bd3899b When forcing sync on a local Realm, use an additive schema (#1888) 2018-06-25 14:00:15 +02:00
Christian Melchior 4cb9c77f46
Query-based sync as the default sync mode (#1830) 2018-05-30 12:54:51 +02:00
Yavor Georgiev e58db5f6bd
fix typo 2018-05-14 15:37:34 +03:00
Yavor Georgiev ac3d749ece
Group SSL configuration options in a new config object 2018-05-14 15:16:52 +03:00
Nabil Hachicha 1c95abbff1
Add a certificate validation using Android Keystore for RN (#1761)
* add a certificate validation using Android Keystore for RN
2018-04-25 10:21:52 +01: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 2f20006e47
Kneth/allow partial in urls (#1704)
* Adding _disablePartialSyncUrlChecks.
2018-03-13 08:27:47 +01:00
Kenneth Geisshirt 9d8a677ecf
Revoke refresh token upon logout. (#1696)
* Revoke refresh token upon logout.
* Always log out
2018-03-09 15:51:45 +01:00
Kenneth Geisshirt 462856a24d
Partial sync (#1583)
The new Partial Sync API
2018-02-20 13:40:54 +01:00
Thomas Goyne f77a87171f Handle non-JS-provided error handlers when generating a config from a sync session (#1616) 2018-01-17 12:35:50 +01:00
Mark Rowe cd8db46aa7 When refreshing the token, look up the user in a way that doesn't suffer from #1586 (#1587)
* When refreshing the token, look up the user in a way that doesn't suffer
from #1586

Expose a means of looking up a user by identity and server to avoid
problems if the same user identity exists for multiple servers, which
can happen when connecting to the same server via different hostnames.

* Return undefined if the user doesn't exist rather than returning an object wrapping a null SyncUser.
2018-01-11 16:00:31 +01:00
Thomas Goyne ce67446976 Perform a pseudo-refresh for admin token users (#1599)
* Perform a pseudo-refresh for admin token users

Although we don't need to actually refresh the token, when multiplexing is
enabled we do still need to hit ROS to let it know we're accessing a Realm and
get the sync label.

* Adding brief JSdoc and TS definition for isAdminToken.

* Perform a pseudo-refresh for admin token users

Although we don't need to actually refresh the token, when multiplexing is
enabled we do still need to hit ROS to let it know we're accessing a Realm and
get the sync label.

* Adding brief JSdoc and TS definition for isAdminToken.

* Make the timeout consistent

* Add basic docs for multiprocess notifications (#1594)

* Add basic docs for multiprocess notifications

* Adopt core's query parser and update to core v5.1.2 (#1563)

* Adopt core's query parser.
* Realm Core 5.1.2
* Realm Sync 2.2.9

* Remove tar.xz (#1585)

* remove tar.xz decompression and lzma deps

* Fixing merge

* Updating object store
2018-01-11 14:47:54 +01:00
Mark Rowe 4eca12968e Update object store to fix the build with GCC 4.9 2017-11-17 10:43:24 -08:00
Thomas Goyne 8faf94918b Use the sync label as the multiplex identifier 2017-11-16 16:36:58 -08:00
Thomas Goyne d567cd2dd9 Update object store 2017-11-09 15:54:24 -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
Mark Rowe c36c58ec81 Add the ability to override the server that's used by a given sync session
This is for internal use by ROS as part of its support for failover. If
the session is active, we ask it to disconnect then reconnect to the new
server. We also stash away the overridden server's details so it can be
used again we later disconnect and reconnect. If the session is not yet
active, we simply stash away the details to be used when establishing
the connection.
2017-10-11 19:53:58 -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
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
Kenneth Geisshirt 51a4f524a9 Updating to core 4.0.0 and sync 2.0.0-rc25 (#1360)
* Updating to core 4.0.0 and sync 2.0.0-rc25
* Adding file to React Native projects
* Move sync_config.cpp to the correct target in the Xcode project.
2017-09-29 00:31:22 +02:00
Kenneth Geisshirt c370de6d5d Linker issue. 2017-09-27 22:31:27 +02:00
Kenneth Geisshirt a738415763 wip 2017-09-27 21:02:09 +02:00
Kenneth Geisshirt 2caa14abf2 Don't expose an initializer function. 2017-09-27 20:16:44 +02:00
Kenneth Geisshirt f94f351bfb Adding documentation, TS definition and change log. 2017-09-27 17:53:09 +02:00
Kenneth Geisshirt e669a221a1 Cleaning up 2017-09-27 16:00:45 +02:00
Kenneth Geisshirt f4248f5d30 wip 2017-09-27 15:59:21 +02:00
Thomas Goyne 2298609ce5 Merge remote-tracking branch 'origin/master' into tg/merge-master-to-2.0.x
* origin/master: (23 commits)
  Fix api doc error
  fix progress notifications registrations
  Fix typo in Github issue template
  Fix port conflict between RN >= 0.48 and RPC server (#1294)
  Disable testAddListener when running in chrome
  Ensure RN has an event loop running for async tests
  Make permission tests better handle server delays
  Fix race conditions in testAddListener
  Separate build and test steps in xcode to reduce chance of hitting "Early unexpected exit"
  Ignore errors when sourcing nvm.sh
  Don't forward arguments to nvh.sh
  Skip sourcing nvm.sh if it's already available
  Fix some shellcheck warnings
  Ensure node 6.5.0 is installed on CI
  Build realm from source for each test-runner test
  Improve error reporting for incorrect argument counts for Realm methods
  Use the same error messages in the RPC code as the regular code
  Silence an unused variable warning when building with sync disabled
  Check the exception message in all Realm tests which assert an exception is thrown
  Don't discard the actual error message in validated_get_X
  ...
2017-09-25 09:40:56 -07:00
Morten Krogh fbe619c255 Changed ssl_verify_callback to open_ssl_verify_callback.
Changed the preverifyOk to acceptedByOpenSSL and made it a Boolean.
Changed jsdoc formatting.
2017-09-25 11:05:16 +02:00
Morten Krogh c1e198cbab Documentation and comments for ssl_verify_callback. 2017-09-22 11:21:36 +02:00
Morten Krogh 3657ef385c The sync config object gets a new property called ssl_verify_callback.
The callback is used to let JS code decide whether the server's SSL
certificate should be accepted or rejected. The ssl_verify_callback
function is only applicable for platforms using OpenSSL.
2017-09-22 10:29:37 +02:00
blagoev 275db8a631 fix progress notifications registrations 2017-09-20 21:59:07 +03:00
Kenneth Geisshirt eeb78d8e1b Merge branch 'master' of github.com:realm/realm-js into 2.0.x 2017-09-18 09:46:36 +02:00
blagoev 069bdfd2af change the this argument for the callback 2017-09-12 02:47:07 +03:00
blagoev 87c88b746a better naming for private properties 2017-09-11 15:50:44 +03:00
blagoev c843f8e7f9 Validate callback was registered on unregistration 2017-09-11 15:50:44 +03:00
blagoev 37a5a92cc9 address reviews 2017-09-11 15:50:44 +03:00
blagoev 3a8f56cdc0 Remove dead code 2017-09-11 15:50:44 +03:00
blagoev e1cebe073a add progress notifications api 2017-09-11 15:50:44 +03:00
Yavor Georgiev b567cd3006 Make a session bind callback factory (#1289)
which can be used in GlobalNotifier
2017-09-11 12:21:44 +02:00
Thomas Goyne 736277084e Fix creating admin token users 2017-08-31 13:49:45 -07:00
blagoev f115a641b0 Remove not needed casts 2017-08-29 14:52:04 -07:00
blagoev 736cbd3ef3 Update object store 2017-08-29 14:51:25 -07:00
Yavor Georgiev 1ba9b434b4 Add a new optional server parameter to User.adminUser (#1111)
* add a new optional server parameter to User.adminUser

This enables `User.openManagementRealm()` for admin token users.

* changelog

* API docs
2017-07-10 15:04:55 +02:00
Yavor Georgiev 7ab3aff82f Expose admin users to JS (#1100)
The JS binding used to conflate `SyncUser::is_admin()` with the user being created by calling `Realm.Sync.User.adminToken()`, but now that we expose a user’s role on the server under `is_admin()` this supposition is no longer correct.

#1097 attempted to fix one such case, but fixing it only uncovered another: in `UserClass<T>::all_users()`.  I’ve gone through all the callsites of `SyncUser::is_admin()` to make sure they don’t assume an admin token user.
2017-06-27 20:32:34 +02:00
Yavor Georgiev beda604425 Fix refreshing the access token of a logged-in admin user (#1097)
Fixes #1091
2017-06-26 12:03:48 +02:00
Yavor Georgiev acd962d602 Make sure all callbacks enqueue on the Node.js event loop (#1079)
Fixes #1077
2017-06-19 13:19:43 +02:00