realm/realm-cocoa 14537
Realm is a mobile database: a replacement for Core Data & SQLite
realm/jazzy 6967
Soulful docs for Swift & Objective-C
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.
Generate Gantt Charts From Github Issues!
A template conference app, featuring real-time schedule and data changes & running on Realm 🚀
Components that simplifies using Realm with React
ToDo demo app using Realm and Realm Object Server to synchronize tasks.
push eventrealm/realm-cocoa
commit sha eebd2df9c5b1d61cc779ab941e5dbda9a3c04beb
Update README (#7339)
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()))
Fixed now.
comment created time in 3 minutes
push eventrealm/realm-cocoa
commit sha 81635c48957d12292307c9e311aa9a5f8b6a0677
Replace freeze/thaw in favor of opening the Realm from the continuation using the configuration
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.
comment created time in 18 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()))
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.
comment created time in 19 minutes
push eventrealm/realm-cocoa
commit sha 8884243055ee1608cd8e9202f7355047d532324d
Update CHANGELOG
push time in 25 minutes
push eventrealm/realm-cocoa
commit sha 484a97407c5ef10b3945586b64c922784d898273
Fix bad CHANGELOG merge
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.
comment created time in 27 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()))
Why is this freezing the Realm?
comment created time in 29 minutes
Pull request review commentrealm/realm-cocoa
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.
comment created time in 29 minutes
push eventrealm/realm-cocoa
commit sha 8a58fa9f97e72c92297841dab41d079feeb39954
Fix CHANGELOG
push time in 29 minutes
PR merged realm/realm-core
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.
pr closed time in 30 minutes
push eventrealm/realm-core
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.
commit sha e1a6e383defaaafbcb00211d7a8920c9fe71632b
Add a non-throwing version of Dictionary::erase()
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
commit sha 53d20e049aa0fce61f7b1c297a288ee82b03c37e
Add a non-throwing version of Dictionary::erase()
push time in 31 minutes
Pull request review commentrealm/realm-cocoa
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
comment created time in 34 minutes
startedrealm/realm-cocoa-converter
started time in 40 minutes
push eventrealm/realm-cocoa
commit sha bf96c808d0e588ce55c305d4cb9de807231e70ef
Fix compile error in Xcode 13 beta 4 (#7364)
commit sha fab9c68055408e3d32e8b229b1462362e657ed47
Create `SwiftUISyncTestHost` and `SwiftUISyncTestHostTests` target to test AutoOpen & AsyncOpen property wrapper against the test server
commit sha 47f6cb2481d53d90cf91a9a6be88242619a0d565
Add AsyncOpen & AutoOpen implementation
commit sha 470f8ceab43707defb4cf83a328f98370b988ff7
Added entitlements to `SwiftUISyncTestUITest` target for network support
commit sha f7e48d9ebffd10f628c867aadd8f1abbc8a5a6f2
Added implementation for some UITests
commit sha 267adf3a69882c53d340bb189e986ef32108ff54
Added SwiftUI server test to `build.sh` for CI flow
commit sha a22a7c94d103159c029912070d0b3bac2aded29b
Add documentation for the AsyncOpen and AutoOpen API
commit sha 3336d9a325d64bb51c596a1d9a9f8051c368455f
Add SwiftUIServerTests to current server tests
commit sha 4e2390638ef498a3f9199577fb2767858b205d98
Add UITests for AutoOpen & AsyncOpen property wrappers
commit sha f924f887e42e08bc6332f77271a8f6b6e5700cd2
Add Server tests for AutoOpen
commit sha d8b73c906bb451d3fb38e21ce8162267720b3abd
Fix Format issues
commit sha 89b1916329d364610736e0104531eb3ec765345f
Fix format issues
commit sha ce5000cbf18773f6aadc97b0faae7d6e90f57d9f
Fix format issues
commit sha cb726e7e50ee39ada7fd32468bb624558e2ffd86
Restate log level to its default value
commit sha c21dcec02927759a5e8dd3a854a5d74f7c40b9c8
Add documentation to `AsyncOpenState` states
commit sha ef240b1c89008da142a284934163fb418e2a077e
Add no connection tests to `SwiftUIServerTest`
commit sha 90d97e1af4a0f57b61181e924a591bb2a1680e7b
Add `timeout` to AsyncOpen API
commit sha 5c7b517ceaabe56e90b2ceb69891dd3e495897aa
Rename expectations in tests
commit sha b10c637d692df83a168618b84b36e4d6724747ba
Add no connection tests to `SwiftUIServerTest`
commit sha 4a7704720327c370defb79e6f7706d7d5ea0ce2a
Add UITests for AsyncOpen & AutoOpen for different states
push time in an hour
push eventrealm/realm-cocoa
commit sha 33cbb6a6f697b899066579a469a699d094573cf4
Resolve PR comments
push time in an hour
push eventrealm/FindOurDevices-backend
commit sha c2b79d268a0309fd6b4602c5db9b40d64f867608
Move data sources to data_sources top level directory
push time in an hour