Commit Graph

840 Commits

Author SHA1 Message Date
Yavor Georgiev c3e082616e
Use latest object store 2016-10-25 00:46:49 +02:00
Yavor Georgiev b2d7d66b90 remove UvAsync 2016-10-12 01:15:27 +02:00
Yavor Georgiev f5d396a93c remove the global notifier from object store 2016-10-12 00:54:13 +02:00
Yavor Georgiev a37fe03e20 bring back node ci 2016-10-11 22:30:39 +02:00
Yavor Georgiev 33b87e6582 remove the node sync logger 2016-10-11 01:33:10 +02:00
Yavor Georgiev 245328009a expose the node class constructor 2016-10-11 00:38:32 +02:00
Yavor Georgiev 3a8ed6cbe6 fix linux build. again. 2016-10-10 18:09:25 +02:00
Yavor Georgiev 28924b4f99 Build the node addon as a static library 2016-10-10 14:20:54 +02:00
Yavor Georgiev 0ff7357cc3 Build for node without sync 2016-10-10 14:20:33 +02:00
Yavor Georgiev 5623653477 prepare for the glorious future 2016-10-08 19:36:03 +02:00
Ari Lazier 857369f5a4 download core and sync and get the test app running on sync 2016-10-04 17:27:09 -07:00
Ari Lazier 9d0df0de3d Sync and fine grained notifications 2016-10-04 15:07:14 -07:00
Ari Lazier 876417716f Merge pull request #567 from realm/al-latest
Update changelog/version on master
2016-08-19 06:55:17 -07:00
Mark Rowe 5b888ed91d Update to core 1.5.0 and the latest version of the object store. 2016-08-15 11:29:58 -07:00
Ari Lazier 3e55944818 [0.14.3-rc] Bump version 2016-08-15 11:12:36 -07:00
Mark Rowe b08db9f768 Merge pull request #548 from realm/mar/object-store-as-submodule
Switch to pulling the object store in as a submodule
2016-08-02 11:34:29 -07:00
Ari Lazier 1522fb3689 Merge pull request #523 from realm/al-rn-29
Support latest react-native version
2016-08-02 09:59:57 -07:00
Thomas Goyne f8ed437003 Update the binding for object store API changes 2016-08-02 09:31:25 -07:00
Mark Rowe b62a5e6d99 Pull in the object store as a submodule. 2016-08-02 09:25:17 -07:00
Ari Lazier ad97836d19 [0.14.2] Bump version 2016-07-31 14:25:13 -07:00
Yavor Georgiev 6a6ed5a214 Get the path to nan relatively
Under npm3 the `realm` and `nan` modules might end up as siblings so the best way to get the path to `nan` is to require it from within the `realm` module. The `nan` module prints its path so it can be captured by an external build system like in this patch.
2016-07-21 17:39:03 +02:00
Thomas Goyne a4c8d745cf Use List::snapshot() 2016-07-18 14:42:10 -07:00
Thomas Goyne b59af706ea Update binding code for API changes 2016-07-18 14:15:25 -07:00
Yavor Georgiev 9320be158c Allow for non-nullterminated object type names (#97)
`StringData::data()` returns the underlying buffer, which might not be null-terminated, so the resulting string from appending to `"class_"` has garbage in the end. Use the `std::string` conversion of `StringData` because it takes the size of the string into account.
2016-07-18 14:15:25 -07:00
Thomas Goyne 847b6852c9 Change the API-misuse exceptions from runtime_error to logic_error 2016-07-18 14:15:25 -07:00
Mark Rowe 11018952e9 Change API misuse exceptions in object_accessor.hpp to derive from `std::logic_error` rather than `std::runtime_error`.
Also includes the following minor changes:
* Renames `ReadOnlyPropertyValueException` to
  `ReadOnlyPropertyException` since it's the property that's read-only,
  not the value.
* Elminiates some unnecessary copies of arguments passed to the
  exception constructors.
* Makes the exception type data members public, since otherwise there's
  no point in storing them at.
2016-07-18 14:15:25 -07:00
Mark Rowe 00e4790353 Have `List` and `Results` fetch their object schema when requested.
This avoids the need to eagerly fetch the object schema in order to
construct a `List` or `Results`. Instead the work can be deferred until
the object schema is requested. Since `List` and `Results` never use the
object schema themselves this can avoid unnecessary work in some bindings.
2016-07-18 14:15:25 -07:00
Mark Rowe f529ec9f58 Fix a typo in the name of a #define. 2016-07-18 14:15:25 -07:00
Mark Rowe f00eb4f52d Enable clang's warning about implicit fallthrough. 2016-07-18 14:15:25 -07:00
Mark Rowe ac2223b32d Fix compiler checks to match clang on OS X, which CMake labels AppleClang. 2016-07-18 14:12:58 -07:00
Mark Rowe c756045871 Perform extra synchronization the first time `TsanNotifyWorker` hands a `RealmCoordinator` to the worker thread.
This prevents TSan from reporting data races on members of the coordinator.
2016-07-18 14:12:58 -07:00
Mark Rowe 7c0b99594a Replace `Results::set_live` with `Results::snapshot` and `List::snapshot`, and add tests.
`snapshot()` functions are a better fit for what realm-js needs. The new
API also makes it clearer that the liveness of a given `Results`
cannot change at arbitrary times. Changing the liveness at arbitrary
times was not safe and could result in incorrect behavior, such as a
non-live `Results` changing.
2016-07-18 14:12:58 -07:00
Mark Rowe 8798b1c617 Remove workaround for a core issue fixed in core v1.2.0. 2016-07-18 14:12:57 -07:00
Kristian Dupont edf53a1750 Specify width of PropertyType to 1 byte 2016-07-18 14:12:57 -07:00
Thomas Goyne 8293675bd6 Update to core 1.2.0 2016-07-18 14:12:57 -07:00
Thomas Goyne aaa811306e Resolve trivial differences with realm-cocoa 2016-07-18 14:12:57 -07:00
Thomas Goyne bdc8dbc5b2 Enable more warnings (and fix them)
This brings the warnings settings in line with realm-cocoa's.
2016-07-18 13:40:08 -07:00
Scott Kyle 63adf8732e [0.14.0-rc] Bump version 2016-06-28 12:15:36 -07:00
Scott Kyle 6109675749 Disable "Strip Linked Product" on our static libs
There seems to a bug inside the `strip` command (or its `ld64` library) that is being triggered by some users who get this message: `Assertion failed: (0 && "need to handle arm64 -r reloc")`

It is reported that disabling this setting side-steps the issue, and we don't need any stripping done on the static library itself.

Fixes #503
2016-06-28 12:13:58 -07:00
Scott Kyle e8ea8e493e Fix for linker error when building for iOS 7
By default, React Native projects target a minimum of iOS 7, but our projects were set to iOS 8 because previously we used a dynamic framework.

When building for an iOS 7 minimum target version, the linker would complain about thread local variables not working on iOS 7. So it was necessary to add even more checks (iOS >= 8 or OS X >= 10.7) before using native thread local variables rather than our shim.

This also changes our projects to target iOS 7 so we can catch these issues quicker in the future.
2016-06-27 12:16:35 -07:00
Ari Lazier 7d42d26fe9 quote dir path 2016-06-20 12:02:55 -07:00
Ari Lazier 5488eff9b9 recursively delete management directories 2016-06-20 11:41:18 -07:00
Ari Lazier 5eb64025f9 remove management directories in node 2016-06-20 10:49:53 -07:00
Scott Kyle adc07fdd7f Remove files accidentally added to GCDWebServers target
Not sure when this happened!
2016-06-17 13:16:01 -07:00
Scott Kyle 928ab03ce4 Update to download and use core build for Node
This will need to be updated again with a newer version since 1.1.2 build was created on CI but is not actually on static.realm.io until a new release is made.
2016-06-17 11:19:19 -07:00
Scott Kyle 12517a0d1e Add ability to run Node tests on Linux
It uses the Android ExternalCommitHelper implementation.

The Dockerfile requires that you have a static library build of core for Linux with PIC enabled.
2016-06-17 02:38:33 -07:00
Scott Kyle dc3d88f053 [0.14.0-rc] Bump version 2016-06-16 17:55:45 -07:00
Scott Kyle 55aa3d0702 Fix thread_local.hpp to compile with GCC 2016-06-16 17:32:11 -07:00
Scott Kyle 13ab8f8111 Refactor thread_id.hpp into cpp and thread_local.hpp 2016-06-16 17:02:53 -07:00
Scott Kyle b55483d2d9 Emulate thread_local for older iPhone targets
It seems that Xcode clang will not even support __thread for iPhone 5 and older, so this includes a simple abstraction over pthread keys in that case.
2016-06-16 17:02:53 -07:00