* 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 :-/
* First take on running the tests inside an Electron render process
* Making progress
* Making it possible to override the location of the admin token
* Ignoreing the realm-object-server files
* Fixing a console.log to return a string instead of a boolean
But it should probably be removed entirely
* Making the downloaded ROS log less
* Adjusting comments in the test.sh
* Checking number of windows to determine an Electron crash
* Added a test that triggers garbage collection of ArrayBuffers
* Enabled the ability to run the tests in Electrons main process
* Run tests first in main process and the render
* Added a README.md that documents how Electron tests can be run
* Added a comment on why the garbage-collection test was added.
* Waiting with reading the admin token, until it is actually used
* Disabling the GarbageCollectionTests for now
* 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
* 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
* Do not throw when the Sync constructor isn’t there
with unified packaging it’s there all the time now
Closes#1084Fixes#996
* Fix running the sync tests when Sync is disabled
* 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