986 Commits

Author SHA1 Message Date
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
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
97f25cc1ab Add progress notifications
Support download progress notifications for Realm open and openAsync methods
2017-06-28 13:40:35 +03: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
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
Adam Fish
37dba6bb36 Add objectSchema method to Realm Object (#1055)
* Add objectSchema property to Realm Object

* fix
2017-06-20 11:42:43 +02:00
Yavor Georgiev
28fe678a1b Use an uncached realm instance for _waitForDownload (#1083)
Fixes #1061
2017-06-19 13:58:19 +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
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
Adam Lebsack
fdc9414013 Use sync 1.10.0 (#1068) 2017-06-15 15:50:00 +02:00
Mark Rowe
98d57a34ce Update to core v2.8.1 and sync v1.9.x.
FIXME: We'll need to update to sync v1.9.2 once it is available as
v1.9.1 does not include core v2.8.1. This may result in the missing
symbols on Linux problem only being fixed when sync is disabled.
2017-05-23 11:52:43 -07:00
Mark Rowe
b108d06231 Use int64_t rather than long long as the integer type in the accessor
implementation.

This matches what core uses for integers, and avoids ambiguity that
otherwise results when `int64_t` is declared as `long` rather than `long long`.
2017-05-22 20:17:35 -07:00
Mark Rowe
75f8b28831 Fix the Node build.
Tweak the signature on some of the accessor methods to take
`JSEngine::Value`s by value rather than by const reference. Some Node
APIs appear to assume that only non-const objects will be used.
2017-05-22 16:19:15 -07:00
Mark Rowe
66da78af74 Merge remote-tracking branch 'origin/master' into tg/object-accessor-updates 2017-05-22 14:39:55 -07:00
Mark Rowe
43200b1db5 Update the recently-added RealmClass::wait_for_download_completion to
use the new object accessor interface.
2017-05-22 14:33:39 -07:00
kristiandupont
401a6043bf [1.3.1] Bump version 2017-05-18 13:13:28 +02:00
Thomas Goyne
08052e12f6 Update to work with new API for arrays of primitives 2017-05-17 11:02:45 -07: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
cf8e6efb16 fix build for no sync on windows 2017-05-17 16:10:20 +03:00
blagoev
158b513a12 Cleaner error checking 2017-05-17 16:10:00 +03:00
blagoev
cb72fe1977 addressed pr review comments 2017-05-17 16:09:48 +03:00
blagoev
be0611a255 Pass the error code and message to user code 2017-05-17 16:08:55 +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
blagoev
216484aede Initial download api support 2017-05-17 16:07:08 +03:00
blagoev
4751aca0dc Fix event_loop_dispatcher 2017-05-17 16:06:21 +03:00
blagoev
33bb01be11 Fix EventLoopDispatcher
Fixes callback not called due to dispatcher freed when instance go out of scope. Preserves the EventLoopSignal if there are pending invocations
2017-05-17 16:05:46 +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
blagoev
b100e782cb Cleaner error checking 2017-05-16 12:11:23 +03:00
blagoev
ab626253e5 addressed pr review comments 2017-05-15 15:33:53 +03:00
blagoev
1ae58780bf Pass the error code and message to user code 2017-05-12 01:40:15 +03:00
blagoev
6cd8eefe5d Fix download api to wait correctly using schema less realm
Added tests using two processes (nodes only)
2017-05-11 23:22:28 +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
blagoev
5a6baef612 Fix event_loop_dispatcher 2017-05-07 02:02:57 +03:00
blagoev
44432660ea Add MakeCallback method abstraction
Needed for node to kick next tick properly. JSC uses regular call
2017-05-07 02:02:05 +03:00
blagoev
9c700053af Fix EventLoopDispatcher
Fixes callback not called due to dispatcher freed when instance go out of scope. Preserves the EventLoopSignal if there are pending invocations
2017-05-06 15:33:06 +03:00
Radu Tutueanu
6a2b0efe07 Add missing files to the xcode project 2017-05-05 15:15:59 +02:00
Radu Tutueanu
f6564ca68f Add the variables to the syncConfig 2017-05-05 13:50:45 +02:00
Radu Tutueanu
b9f90a956b Update handling of ssl certificates according to changes in OS 2017-05-05 11:48:34 +02:00
Radu Tutueanu
7653c7f10d Use sync 1.8.3 2017-05-04 16:58:00 +02:00
blagoev
0dabf3d87d report null instead of undefined for deleteAll indexes count 2017-05-01 10:51:48 +03:00
blagoev
5effd3a9ac report undefined deletions on deleteAll instead of max int count indexes 2017-04-28 12:54:23 +03:00
Radu Tutueanu
ba0b298244 Merge pull request #971 from realm/al/notifier-fix
Use notifier fix in latest object store, update core & sync
2017-04-19 13:20:42 +03:00