Commit Graph

111 Commits

Author SHA1 Message Date
Kenneth Geisshirt 85fb49b354 Adding methods and property to manually control write transactions (#1216)
* Adding methods and property to manually control write transactions
2017-08-21 17:48:53 +02:00
Kenneth Geisshirt bd28c05936 Add shouldCompactOnLaunch option to configuration (#1209)
* Adding shouldCompactOnLaunch option to configuration
* Adding Realm.compact()
2017-08-18 14:22:29 +02:00
kristiandupont 0db8fac3e5 [1.10.3] Version bump 2017-08-17 11:35:13 +02:00
Kristian Dupont c24cc16ebf Fix a few publish issues (#1215)
* Stop trying to kill the server twice after testing

* Fix test targets to run before publishing

* ...

* Remove electron runner from publish for now

* Update changelog
2017-08-16 11:11:28 +02:00
kristiandupont 796ebe2533 [1.10.2] Bump version 2017-08-15 15:12:18 +02:00
Yavor Georgiev b71eec6b98
[1.10.1] Bump version 2017-08-02 14:07:16 +02:00
Nikola Irinchev 081c3e5224
Add changelog 2017-07-18 00:22:59 +03:00
Yavor Georgiev 22a086859f
[1.10.0] Bump version 2017-07-12 16:45:35 +02:00
Yavor Georgiev 5dd9264225
Add `Realm.empty` 2017-07-12 13:02:21 +02:00
Yavor Georgiev fe756bdc86
Rethrow callback errors as fatal Node.js errors
Instead of rethrowing the JavaScript error emitted from a callback function, we should instead pass it to `node::FatalException`.

Callbacks are employed when there is no other JavaScript frame on the stack prior so rethrowing the JS error as a C++ exception is not going to propagate the error back to JavaScript. `node::FatalException` will raise the `uncaughtError` event on the `process` object , print the error and stacktrace, and alert the debugger is there is one attached. This would make our async callbacks behave consistently with Node’s own async callbacks such as `setTimeout` when encountering an error.
2017-07-11 17:47:09 +02:00
Yavor Georgiev 7b9c4eee46
[1.9.0] Bump version 2017-07-10 17:26:44 +02: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
Mark Rowe 89149c0a75 Make it possible to assign a List or Results to a List property once more (#1126)
* Make it possible to assign a List or Results to a List property.

The change made in #1069 to improve error messages when values of
incorrect types were assigned to a given property was being too
narrow in the types it accepted for list properties, allowing only
arrays. Lists and Results are now accepted once more.

* Update CHANGELOG.md
2017-07-10 13:45:49 +02:00
blagoev 516c39deaf Docs for retrieveAccount method (#1127)
* Docs for retrieveAccount method

* fix setTimeout call
2017-07-08 19:30:25 +02:00
Marius Rackwitz 9e0a9a3bd3 Add support for accessing linking objects / backlinks (#1101)
* Add support for linkingObjects

* Test linkingObjects

* Borrow names helper from list tests

* include computed properties when serializing the schema for the RN debugger

* add API docs

* review comments

* 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.

* [1.8.3] Bump version

* add linkingObjects method to Realm.Object

* changelog
2017-06-29 11:59:10 +02:00
Yavor Georgiev 1adabdd73e
[1.8.3] Bump version 2017-06-27 20:38:39 +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 e6818d693d
[1.8.2] Bump version 2017-06-26 13:49:50 +02:00
astigsen db4e184524 Added method to find index of object in collections (#1094)
* Added method to find index of object in collections

* rework as the indexOf method
2017-06-26 13:43:49 +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 feba70333b
[1.8.1] Bump version 2017-06-20 16:27:05 +02:00
Yavor Georgiev 7086ed745f Do not throw when the Sync constructor isn’t there (#1086)
* Do not throw when the Sync constructor isn’t there

with unified packaging it’s there all the time now

Closes #1084
Fixes #996

* Fix running the sync tests when Sync is disabled
2017-06-20 15:40:54 +02:00
Mark Rowe 30e58022cf Include property names in type error exceptions thrown by Realm.create (#1069)
* Add and adopt `Value::is_binary` / `Value::to_binary` / `Value::from_binary`.

These methods allow conversions between `BinaryData` and the equivalent
JavaScript types without using `NativeAccessor`. Instead,
`NativeAccessor` now itself delegates to these methods.

* Have `NativeAccessor::value_for_property` and `RealmObjectClass::set_property`
verify that values are valid for the property in question.

If not, we throw an exception that includes the name and type of the
property in question.

`NativeAccessor` is changed to always hold a reference to a `Realm` and
an `ObjectSchema` in order to make this validation possible.

* Fix the Windows build.

* Remove an unused, incorrect forward declaration of a template class
  named `Realm` that caused ambiguity with object store's `Realm` class.
* Disambiguate between `realm::js::PropertyType` and
  `realm::PropertyType`.

* Update CHANGELOG.md
2017-06-20 14:40:01 +02:00
Maximilian Alexander 775bd8e2ff adding ts and package.json typings (#1076)
* adding ts and package.json typings

* remove DefinitelyTyped needed comments, we are hosting this ourselves

* adding licensing comments

* Added initial contribution support

Thanks @akim95

* changing year

* adding parameters

* Expand on collection typings

* update the windows pre-gyp script (#1072)

* Extract admin status from the refresh token (#1078)

* Extract admin status from the refresh token

Fixes #1063

* wire up rpc

* Make sure all callbacks enqueue on the Node.js event loop (#1079)

Fixes #1077

* Use an uncached realm instance for _waitForDownload (#1083)

Fixes #1061

* Add objectSchema method to Realm Object (#1055)

* Add objectSchema property to Realm Object

* fix

* fixes

* move typings under lib/

* changelog
2017-06-20 13:09:01 +02:00
Yavor Georgiev 3e80683ad8 Extract admin status from the refresh token (#1078)
* Extract admin status from the refresh token

Fixes #1063

* wire up rpc
2017-06-17 16:59:15 +02:00
Yavor Georgiev 0f5d6a1df4
[1.8.0] Bump version 2017-06-15 16:27:43 +02:00
Yavor Georgiev 237e1ba158 Support the new React Native C++ bridge (#1065)
* Support the new React Native C++ bridge

Fixes #1049

* address code review comments

* handle the case when the websocket executor does not exist
2017-06-14 14:44:28 +02:00
kristiandupont 401a6043bf [1.3.1] Bump version 2017-05-18 13:13:28 +02:00
kristiandupont 1323a8d110 Fix changelog 2017-05-18 13:03:21 +02:00
blagoev be328accb4 Merge pull request #1021 from realm/download-api-3
Download API with fixes for windows build
2017-05-17 20:07:00 +03:00
blagoev 216484aede Initial download api support 2017-05-17 16:07:08 +03:00
blagoev 018afe6207 Revert "Download api (aka open async api)" 2017-05-17 15:12:30 +03:00
blagoev 8258e184f4 Merge pull request #1005 from realm/download-api
Download api (aka open async api)
2017-05-17 14:29:42 +03:00
kristiandupont a916958941 [1.3.0] Bump version 2017-05-11 14:34:52 +02:00
blagoev ef63a8829c Initial download api support 2017-05-07 02:26:14 +03:00
Radu Tutueanu f8a8a3ca80 Add a changelog entry 2017-05-05 13:53:20 +02:00
Radu Tutueanu 274661dde4 Use core 2.5.1 and sync 1.5.0 (#949)
* Use core 2.5.1 and sync 1.5.0

* Add changelog entry
2017-03-29 13:41:17 +02:00
Yavor Georgiev 2881cf5502
[1.2.0] Bump version 2017-03-28 14:49:58 +02:00
Yavor Georgiev 80818779ba Fix opening synced realm with an encryption key (#945) 2017-03-28 14:34:27 +02:00
Yavor Georgiev cfc330305b
[1.1.1] Bump version 2017-03-09 14:35:30 +01:00
Yavor Georgiev 72329865ec
[1.1.0] Bump version 2017-03-09 11:53:00 +01:00
Yavor Georgiev db8ebd9333 Node.js Win32 support (#864)
* Remove the windows install check

* Node.js Win32 support

* Bring back the `REALM_HAVE_CONFIG` definition

* Download core for Windows when building

* Implement cross-platform node platform.cpp with libuv

* wip

* Make jasmine run quicker

https://github.com/jasmine/jasmine/issues/1204

* Wait for worker process to close in AsyncTests

* Cross-platform paths in tests

* Normalize path separator for forward slash on Windows

* MSVC exception voodoo

* cross-platform uv_cwd

* fix linux build

* make the prepublish script cross-platform

* Disable encryption tests on windows

* ignore vendor/realm-node

* jenkinsfile work

* Only run the prepublish script for publish and pack

* Jenkinsfile work

* Include gyp files in package

* rewrite default_realm_file_directory()

* fix React Native Android build

* delete all realm artifacts in remove_realm_files_from_directory

* bring back build environment variables

* node-pre-gyp windows

* Update CHANGELOG.md
2017-03-07 23:24:30 +01:00
Nabil Hachicha 33c2f7cefc Nh/fixes 866 (#867) 2017-02-15 13:56:21 +01:00
kristiandupont 0840c136b9 [1.0.2] Bump version 2017-02-07 13:01:16 +01:00
Yavor Georgiev bb0dc575c9 Implement proactive access token refresh (#842)
Closes #840
2017-02-03 16:40:13 +01:00
Yavor Georgiev f22efa7117
[1.0.1] Bump version 2017-02-02 15:50:17 +01:00
Yavor Georgiev de3c3e6788
[1.0.0] Bump version 2017-02-02 13:51:53 +01:00
Yavor Georgiev 408f5588f8 Add Permissions models and User Management Realm API (#824)
* Add Permissions models and User Management Realm API

* docs and changelog

* fix bad merge

* add test

* fix jsdoc annotation

* rename permissions to management schema
2017-01-31 22:56:09 +01:00
Kristian Dupont 35c21c203f [0.15.4] Bump version 2017-01-11 12:53:01 +01:00
Kristian Dupont f9f61aeb36 [0.15.3] Bump version 2017-01-10 16:21:11 +01:00