131 Commits

Author SHA1 Message Date
Thomas Goyne
3a8ee98f72 Merge remote-tracking branch 'origin/master' into next-major
* origin/master: (87 commits)
  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
  Documenting sync.config properties (#1312)
  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
  Add the invalid value to the type error exception message
  Improve the errors thrown for invalid schema definitions
  Throw a more appropriate error for some operations on closed Realms
  ...
2017-09-19 16:36:49 -07:00
Kenneth Geisshirt
e18f54594f [1.12.0] Bump verion 2017-09-14 11:07:47 +02:00
astigsen
208aa8ee46 Added support for in-memory realms (#1304)
* Added support for in-memory realms
2017-09-13 20:42:23 +02:00
blagoev
064b487c07 Merge branch 'master' into blagoev/promise3 2017-09-13 14:27:04 +03:00
Kenneth Geisshirt
6444f3fa6f Adding missing instructions to TypeScript definitions (#1301) 2017-09-13 09:21:26 +02:00
blagoev
a51ea72151 Fix changelog.md 2017-09-12 20:23:49 +03:00
Maximilian Alexander
1e26717d3f Removing duplicate for changelog 2017-09-12 20:18:54 +03:00
Maximilian Alexander
78515e3b48 adding promisified apis 2017-09-12 20:10:52 +03:00
Kenneth Geisshirt
12a8cd5398 Adding missing TypeScript declaration of setFeatureToken (#1295)
* Adding missing TypeScript declaration of setFeatureToken
2017-09-12 14:28:16 +02:00
Ashwin Phatak
532f517ded Add Realm.deleteModel API (#573) 2017-09-12 14:45:36 +05:30
blagoev
2b6dc8fc14 fix API naming 2017-09-11 15:52:39 +03:00
blagoev
15af834824 Update CHANGELOG.MD
Added entries for progress api
2017-09-11 15:52:39 +03:00
Kenneth Geisshirt
38bceddfb1 Add missing TypeScript declaration (#1285)
* Adding missing TypeScript declaration
2017-09-08 10:19:13 +02:00
Ashwin Phatak
119cd79e5d Add Realm.deleteFile API (#363) 2017-09-07 10:12:59 +05:30
Thomas Goyne
ca9263be4f Add changelog entry 2017-09-01 10:33:28 -07:00
Kenneth Geisshirt
806146b07c [1.11.1] Bump version 2017-09-01 13:07:37 +02:00
kristiandupont
de94dc0e16 [1.11.0] Bump version 2017-08-31 12:52:36 +02:00
Kristian Dupont
402bf48f88 Permissions api (#1244)
* Add basic permissions skeleton

* ...

* Update permissions api

* Wait for server to process management realm, add offer api

* Fix test of apply and get permissions, add offer test

* Accept permission offer

* Accept permission offer test

* Invalidate permission offer

* Add basic docs (still need some links etc)

* Refactor tests

* Only run permission tests where sync is enabled

* Use legal syntax for user name generation

* Add changelog entry

* Streamline permission tests

* Fix casing for access level names etc.

* Add basic definitions to index.d.ts

* Use settimeout for resolving promise from listener

* Complete typescript defs

* Improve docs

* Allow 'any' as default recipient in getGrantedPermissions

* Fix getSpecialPurposeRealm on iOS

* Response to PR comments

* Respond to PR comments

* Fix offer description

* Skip permission tests in chrome debugger :-/
2017-08-29 15:23:22 +02:00
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
Yavor Georgiev
614c699385 [2.0.0-rc4] Bump version 2017-08-17 13:21:34 +02:00
Yavor Georgiev
1be5340129 [2.0.0-rc3] Bump version 2017-08-17 13:20:41 +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