profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/realm/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.
Realm realm https://realm.io Realm is a mobile database: a replacement for SQLite & ORMs. SDKs for Swift, Objective-C, Java, Kotlin, C#, and JavaScript.

realm/realm-cocoa 14537

Realm is a mobile database: a replacement for Core Data & SQLite

realm/jazzy 6967

Soulful docs for Swift & Objective-C

realm/realm-browser-osx 504

DEPRECATED - Realm Browser for Mac OS X has been replaced by realm-studio which is cross platform.

realm/realm-android-adapters 414

Adapters for combining Realm Java with Android UI components and framework classes

realm/realm-cocoa-converter 204

A library that provides the ability to import/export Realm files from a variety of data container formats.

realm/github-gantt 149

Generate Gantt Charts From Github Issues!

realm/EventKit 59

A template conference app, featuring real-time schedule and data changes & running on Realm 🚀

realm/react-realm-context 45

Components that simplifies using Realm with React

realm/my-first-realm-app 37

ToDo demo app using Realm and Realm Object Server to synchronize tasks.

push eventrealm/realm-cocoa

Jason Flax

commit sha eebd2df9c5b1d61cc779ab941e5dbda9a3c04beb

Update README (#7339)

view details

push time in 3 minutes

delete branch realm/realm-cocoa

delete branch : jf/update-readme

delete time in 3 minutes

PR merged realm/realm-cocoa

Reviewers
Update README
+122 -18

3 comments

1 changed file

jsflax

pr closed time in 3 minutes

Pull request review commentrealm/realm-cocoa

Add async Realm.asyncOpen and App.login methods

 extension Realm {  /// The type of a block to run for notification purposes when the data in a Realm is modified. public typealias NotificationBlock = (_ notification: Realm.Notification, _ realm: Realm) -> Void++@available(macOS 12.0, tvOS 15.0, iOS 15.0, watchOS 8.0, *)+extension Realm {+    /**+     Asynchronously open a Realm and deliver it to a block on the given queue.++     Opening a Realm asynchronously will perform all work needed to get the Realm to+     a usable state (such as running potentially time-consuming migrations) on a+     background thread before dispatching to the given queue. In addition,+     synchronized Realms wait for all remote content available at the time the+     operation began to be downloaded and available locally.++     The Realm passed to the callback function is confined to the callback+     queue as if `Realm(configuration:queue:)` was used.++     - parameter configuration: A configuration object to use when opening the Realm.+     - parameter callbackQueue: The dispatch queue on which the callback should be run.+     - returns: An open Realm.+     */+    @discardableResult+    public static func asyncOpen(configuration: Realm.Configuration = .defaultConfiguration) async throws -> Realm {+        try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<Realm, Swift.Error>) in+            RLMRealm.asyncOpen(with: configuration.rlmConfiguration, callbackQueue: .main, callback: { rlmRealm, error in+                if let realm = rlmRealm.flatMap(Realm.init) {+                    continuation.resume(with: .success(realm.freeze()))

Fixed now.

jsflax

comment created time in 3 minutes

PullRequestReviewEvent

push eventrealm/realm-cocoa

Jason Flax

commit sha 81635c48957d12292307c9e311aa9a5f8b6a0677

Replace freeze/thaw in favor of opening the Realm from the continuation using the configuration

view details

push time in 3 minutes

Pull request review commentrealm/realm-cocoa

Add async Realm.asyncOpen and App.login methods

 extension Realm {  /// The type of a block to run for notification purposes when the data in a Realm is modified. public typealias NotificationBlock = (_ notification: Realm.Notification, _ realm: Realm) -> Void++@available(macOS 12.0, tvOS 15.0, iOS 15.0, watchOS 8.0, *)+extension Realm {+    /**+     Asynchronously open a Realm and deliver it to a block on the given queue.++     Opening a Realm asynchronously will perform all work needed to get the Realm to+     a usable state (such as running potentially time-consuming migrations) on a+     background thread before dispatching to the given queue. In addition,+     synchronized Realms wait for all remote content available at the time the+     operation began to be downloaded and available locally.++     The Realm passed to the callback function is confined to the callback+     queue as if `Realm(configuration:queue:)` was used.++     - parameter configuration: A configuration object to use when opening the Realm.+     - parameter callbackQueue: The dispatch queue on which the callback should be run.+     - returns: An open Realm.+     */+    @discardableResult+    public static func asyncOpen(configuration: Realm.Configuration = .defaultConfiguration) async throws -> Realm {+        try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<Realm, Swift.Error>) in+            RLMRealm.asyncOpen(with: configuration.rlmConfiguration, callbackQueue: .main, callback: { rlmRealm, error in+                if let realm = rlmRealm.flatMap(Realm.init) {+                    continuation.resume(with: .success(realm.freeze()))

Fair point, will fix.

jsflax

comment created time in 18 minutes

PullRequestReviewEvent
PullRequestReviewEvent

Pull request review commentrealm/realm-cocoa

Add async Realm.asyncOpen and App.login methods

 extension Realm {  /// The type of a block to run for notification purposes when the data in a Realm is modified. public typealias NotificationBlock = (_ notification: Realm.Notification, _ realm: Realm) -> Void++@available(macOS 12.0, tvOS 15.0, iOS 15.0, watchOS 8.0, *)+extension Realm {+    /**+     Asynchronously open a Realm and deliver it to a block on the given queue.++     Opening a Realm asynchronously will perform all work needed to get the Realm to+     a usable state (such as running potentially time-consuming migrations) on a+     background thread before dispatching to the given queue. In addition,+     synchronized Realms wait for all remote content available at the time the+     operation began to be downloaded and available locally.++     The Realm passed to the callback function is confined to the callback+     queue as if `Realm(configuration:queue:)` was used.++     - parameter configuration: A configuration object to use when opening the Realm.+     - parameter callbackQueue: The dispatch queue on which the callback should be run.+     - returns: An open Realm.+     */+    @discardableResult+    public static func asyncOpen(configuration: Realm.Configuration = .defaultConfiguration) async throws -> Realm {+        try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<Realm, Swift.Error>) in+            RLMRealm.asyncOpen(with: configuration.rlmConfiguration, callbackQueue: .main, callback: { rlmRealm, error in+                if let realm = rlmRealm.flatMap(Realm.init) {+                    continuation.resume(with: .success(realm.freeze()))

Freezing and thawing the Realm is pretty much the least efficient way of handing it over to a different thread possible. Just opening the Realm using the passed-in config after the asyncOpen completes would be better. It also shouldn't be using .main for the callback queue since it then dispatches back to the continuation afterwards anyway.

jsflax

comment created time in 19 minutes

PullRequestReviewEvent

push eventrealm/realm-cocoa

Jason Flax

commit sha 8884243055ee1608cd8e9202f7355047d532324d

Update CHANGELOG

view details

push time in 25 minutes

push eventrealm/realm-cocoa

Jason Flax

commit sha 484a97407c5ef10b3945586b64c922784d898273

Fix bad CHANGELOG merge

view details

push time in 25 minutes

Pull request review commentrealm/realm-cocoa

Add async Realm.asyncOpen and App.login methods

 extension Realm {  /// The type of a block to run for notification purposes when the data in a Realm is modified. public typealias NotificationBlock = (_ notification: Realm.Notification, _ realm: Realm) -> Void++@available(macOS 12.0, tvOS 15.0, iOS 15.0, watchOS 8.0, *)+extension Realm {+    /**+     Asynchronously open a Realm and deliver it to a block on the given queue.++     Opening a Realm asynchronously will perform all work needed to get the Realm to+     a usable state (such as running potentially time-consuming migrations) on a+     background thread before dispatching to the given queue. In addition,+     synchronized Realms wait for all remote content available at the time the+     operation began to be downloaded and available locally.++     The Realm passed to the callback function is confined to the callback+     queue as if `Realm(configuration:queue:)` was used.++     - parameter configuration: A configuration object to use when opening the Realm.+     - parameter callbackQueue: The dispatch queue on which the callback should be run.+     - returns: An open Realm.+     */+    @discardableResult+    public static func asyncOpen(configuration: Realm.Configuration = .defaultConfiguration) async throws -> Realm {+        try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<Realm, Swift.Error>) in+            RLMRealm.asyncOpen(with: configuration.rlmConfiguration, callbackQueue: .main, callback: { rlmRealm, error in+                if let realm = rlmRealm.flatMap(Realm.init) {+                    continuation.resume(with: .success(realm.freeze()))

Before I added freeze/thaw, using the returned Realm at the call site resulted in a Realm accessed from incorrect thread error.

jsflax

comment created time in 27 minutes

PullRequestReviewEvent

Pull request review commentrealm/realm-cocoa

Add async Realm.asyncOpen and App.login methods

 extension Realm {  /// The type of a block to run for notification purposes when the data in a Realm is modified. public typealias NotificationBlock = (_ notification: Realm.Notification, _ realm: Realm) -> Void++@available(macOS 12.0, tvOS 15.0, iOS 15.0, watchOS 8.0, *)+extension Realm {+    /**+     Asynchronously open a Realm and deliver it to a block on the given queue.++     Opening a Realm asynchronously will perform all work needed to get the Realm to+     a usable state (such as running potentially time-consuming migrations) on a+     background thread before dispatching to the given queue. In addition,+     synchronized Realms wait for all remote content available at the time the+     operation began to be downloaded and available locally.++     The Realm passed to the callback function is confined to the callback+     queue as if `Realm(configuration:queue:)` was used.++     - parameter configuration: A configuration object to use when opening the Realm.+     - parameter callbackQueue: The dispatch queue on which the callback should be run.+     - returns: An open Realm.+     */+    @discardableResult+    public static func asyncOpen(configuration: Realm.Configuration = .defaultConfiguration) async throws -> Realm {+        try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<Realm, Swift.Error>) in+            RLMRealm.asyncOpen(with: configuration.rlmConfiguration, callbackQueue: .main, callback: { rlmRealm, error in+                if let realm = rlmRealm.flatMap(Realm.init) {+                    continuation.resume(with: .success(realm.freeze()))

Why is this freezing the Realm?

jsflax

comment created time in 29 minutes

PullRequestReviewEvent

Pull request review commentrealm/realm-cocoa

Update README

 x.y.z Release notes (yyyy-MM-dd) * None.  ### Fixed+* `RealmProperty<T?>` would crash when decoding a `null` json value.+  ([Cocoa #7323](https://github.com/realm/realm-cocoa/issues/7323), since v10.8.0)+* `@Persisted<T?>` would crash when decoding a `null` value.+  ([#7332](https://github.com/realm/realm-cocoa/issues/7332), since v10.10.0).

Fixed.

jsflax

comment created time in 29 minutes

PullRequestReviewEvent

push eventrealm/realm-cocoa

Jason Flax

commit sha 8a58fa9f97e72c92297841dab41d079feeb39954

Fix CHANGELOG

view details

push time in 29 minutes

PR merged realm/realm-core

Report if Realm::delete_files() actually deleted the Realm file

Our objective-c API for removing files returns true if the Realm file was deleted, and sets an error out parameter if any errors occurred. This means that even if an exception is thrown when trying to delete one of the auxiliary files we still need to know if the main file was deleted, and that awkwardly requires an out parameter.

This also refactors things to eliminate the unordered_map of auxiliary files because none of the things using it actually needed a map, and consolidates the two places where we deleted all the files into one.

+166 -213

0 comment

22 changed files

tgoyne

pr closed time in 30 minutes

push eventrealm/realm-core

Thomas Goyne

commit sha d6ed8152e2f2d6214b4ec83ae3438adfcd8211a2

Report if Realm::delete_files() actually deleted the Realm file Our objective-c API for removing files returns true if the Realm file was deleted, and sets an error out parameter if any errors occurred. This means that even if an exception is thrown when trying to delete one of the auxiliary files we still need to know if the main file was deleted, and that awkwardly requires an out parameter. This also refactors things to eliminate the unordered_map of auxiliary files because none of the things using it actually needed a map, and consolidates the two places where we deleted all the files into one.

view details

Thomas Goyne

commit sha e1a6e383defaaafbcb00211d7a8920c9fe71632b

Add a non-throwing version of Dictionary::erase()

view details

push time in 30 minutes

delete branch realm/realm-core

delete branch : tg/report-if-files-were-deleted

delete time in 30 minutes

push eventrealm/realm-core

Thomas Goyne

commit sha 53d20e049aa0fce61f7b1c297a288ee82b03c37e

Add a non-throwing version of Dictionary::erase()

view details

push time in 31 minutes

Pull request review commentrealm/realm-cocoa

Update README

 x.y.z Release notes (yyyy-MM-dd) * None.  ### Fixed+* `RealmProperty<T?>` would crash when decoding a `null` json value.+  ([Cocoa #7323](https://github.com/realm/realm-cocoa/issues/7323), since v10.8.0)+* `@Persisted<T?>` would crash when decoding a `null` value.+  ([#7332](https://github.com/realm/realm-cocoa/issues/7332), since v10.10.0).

Bad merge

jsflax

comment created time in 34 minutes

PullRequestReviewEvent

startedrealm/realm-cocoa-converter

started time in 40 minutes

push eventrealm/realm-cocoa

Colton Schlosser

commit sha bf96c808d0e588ce55c305d4cb9de807231e70ef

Fix compile error in Xcode 13 beta 4 (#7364)

view details

Diana Perez Afanador

commit sha fab9c68055408e3d32e8b229b1462362e657ed47

Create `SwiftUISyncTestHost` and `SwiftUISyncTestHostTests` target to test AutoOpen & AsyncOpen property wrapper against the test server

view details

Diana Perez Afanador

commit sha 47f6cb2481d53d90cf91a9a6be88242619a0d565

Add AsyncOpen & AutoOpen implementation

view details

Diana Perez Afanador

commit sha 470f8ceab43707defb4cf83a328f98370b988ff7

Added entitlements to `SwiftUISyncTestUITest` target for network support

view details

Diana Perez Afanador

commit sha f7e48d9ebffd10f628c867aadd8f1abbc8a5a6f2

Added implementation for some UITests

view details

Diana Perez Afanador

commit sha 267adf3a69882c53d340bb189e986ef32108ff54

Added SwiftUI server test to `build.sh` for CI flow

view details

Diana Perez Afanador

commit sha a22a7c94d103159c029912070d0b3bac2aded29b

Add documentation for the AsyncOpen and AutoOpen API

view details

Diana Perez Afanador

commit sha 3336d9a325d64bb51c596a1d9a9f8051c368455f

Add SwiftUIServerTests to current server tests

view details

Diana Perez Afanador

commit sha 4e2390638ef498a3f9199577fb2767858b205d98

Add UITests for AutoOpen & AsyncOpen property wrappers

view details

Diana Perez Afanador

commit sha f924f887e42e08bc6332f77271a8f6b6e5700cd2

Add Server tests for AutoOpen

view details

Diana Perez Afanador

commit sha d8b73c906bb451d3fb38e21ce8162267720b3abd

Fix Format issues

view details

Diana Perez Afanador

commit sha 89b1916329d364610736e0104531eb3ec765345f

Fix format issues

view details

Diana Perez Afanador

commit sha ce5000cbf18773f6aadc97b0faae7d6e90f57d9f

Fix format issues

view details

Diana Perez Afanador

commit sha cb726e7e50ee39ada7fd32468bb624558e2ffd86

Restate log level to its default value

view details

Diana Perez Afanador

commit sha c21dcec02927759a5e8dd3a854a5d74f7c40b9c8

Add documentation to `AsyncOpenState` states

view details

Diana Perez Afanador

commit sha ef240b1c89008da142a284934163fb418e2a077e

Add no connection tests to `SwiftUIServerTest`

view details

Diana Perez Afanador

commit sha 90d97e1af4a0f57b61181e924a591bb2a1680e7b

Add `timeout` to AsyncOpen API

view details

Diana Perez Afanador

commit sha 5c7b517ceaabe56e90b2ceb69891dd3e495897aa

Rename expectations in tests

view details

Diana Perez Afanador

commit sha b10c637d692df83a168618b84b36e4d6724747ba

Add no connection tests to `SwiftUIServerTest`

view details

Diana Perez Afanador

commit sha 4a7704720327c370defb79e6f7706d7d5ea0ce2a

Add UITests for AsyncOpen & AutoOpen for different states

view details

push time in an hour

push eventrealm/realm-cocoa

Diana Perez Afanador

commit sha 33cbb6a6f697b899066579a469a699d094573cf4

Resolve PR comments

view details

push time in an hour

push eventrealm/FindOurDevices-backend

LJ

commit sha c2b79d268a0309fd6b4602c5db9b40d64f867608

Move data sources to data_sources top level directory

view details

push time in an hour