Commit Graph

1990 Commits

Author SHA1 Message Date
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
Ari Lazier 47c1c2d400 Merge pull request #535 from realm/tg/update-object-store
Update to the latest objectstore code
2016-07-19 08:47:22 -07:00
Thomas Goyne 6a2e86cf93 Use the correct extension for the non-node core download 2016-07-18 15:09:44 -07:00
Thomas Goyne 88b3be3e30 Update to core 1.4.0 2016-07-18 14:55:38 -07: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
Ari Lazier 2ed029d74f Merge pull request #512 from realm/sk-vs-code
Add support for debugging in Visual Studio Code
2016-07-17 10:59:18 -07:00
Scott Kyle b06ee441bd Aligning mixpanel implementation with Java & Cocoa (#513)
Aligning mixpanel implementation with Java & Cocoa
2016-06-30 13:26:36 +01:00
Scott Kyle 717d6781a1 Add support for debugging in Visual Studio Code
Since Code runs in Node, rather than Chrome, we need to require the `sync-request` module. The global `__debug__` object was exposed by the vscode-react-native plugin v0.1.5 for us to be able to do that.

Resolves #374
2016-06-29 16:02:50 -07:00
Scott Kyle c026c198ea Merge tag 'v0.14.1'
* tag 'v0.14.1':
  [0.14.1] Bump version
  [0.14.0-rc] Bump version
  Disable "Strip Linked Product" on our static libs
  Fix for linker error when building for iOS 7
2016-06-28 17:32:48 -07:00
Scott Kyle 51ec21e37b [0.14.1] Bump version 2016-06-28 17:27:49 -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
Scott Kyle 8f33b53f8e Merge pull request #499 from realm/sk-adjust-deps
Remove rnpm postlink script
2016-06-23 11:08:42 -04:00
Scott Kyle b6add3a77e Add CHANGELOG item about rnpm 1.9.0+ support 2016-06-22 14:35:16 -04:00
Scott Kyle e0ff68059b Remove rnpm post install script
This will mean we only support rnpm 1.9.0 and above.
2016-06-22 14:25:35 -04:00
Scott Kyle ebdf505194 Move mockery to dev dependency and upgrade to 1.7.0 2016-06-22 14:25:35 -04:00
Scott Kyle 4e714ac5c3 [0.14.0] Bump version 2016-06-22 11:42:27 -04:00
Ari Lazier 5298bff909 Merge pull request #498 from realm/al-rmdir
Remove management directories in node
2016-06-20 12:04:31 -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 a78f2270ae Merge pull request #489 from realm/sk-node-linux
Add ability to run Node tests on Linux
2016-06-17 13:36:59 -07:00
Scott Kyle ae549aa32e Default to /tmp for TMPDIR
Even though it's UNIX standard, it appears that TMPDIR is missing on Linux!
2016-06-17 13:17:01 -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 ab05c5f732 Add introduced version to objectForPrimaryKey doc 2016-06-17 02:38:09 -07:00
Scott Kyle dc3d88f053 [0.14.0-rc] Bump version 2016-06-16 17:55:45 -07:00
Scott Kyle c340105c09 Update CHANGELOG for 0.14.0 release 2016-06-16 17:52:57 -07:00
Scott Kyle 979c035dbb Add isValid() method doc for collections 2016-06-16 17:50:30 -07:00
Scott Kyle 8f3c778b72 Add sharedLibraries to rnpm section of package.json
Now supported by rnpm 1.9.0!
2016-06-16 17:49:47 -07:00
Scott Kyle 7931f1d483 Merge pull request #480 from realm/sk-thread-id-fix
Fix bug due to std:🧵:id being reused
2016-06-16 17:34:59 -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