Atlas App Services
18 results found
-
Disable Sync
A flag to enable/disable cloud sync on Fully-synchronized realms.
This would be convenient if you're offering sync as a premium feature.
8 votes -
Client Side Field-level encryption for Realm Sync
Support client-side field-level encryption in MongoDB Realm.
https://docs.mongodb.com/manual/core/security-client-side-encryption/
https://docs.mongodb.com/manual/core/security-automatic-client-side-encryption/Basically, it would be nice if we could mark fields as being "sensitive" in the schemas, and Realm Sync would make sure to encrypt the fields before they are sent from the client app to the MongoDB Atlas database.
6 votesOtso respondedHere's an example on client side encryption with Realm Kotlin SDK on Android https://github.com/realm/realm-kotlin-samples/tree/main/AppServicesUsageSamples/apps/property-encryption
-
Support of multiple partition keys
You could actually increase the awesomeness of MongoRealm, when you support multiple partition keys on one object.
Example:
We have a collection of customers in MongoDB, our App is showing the customer information to the users, but only for those users, that are "allowed" to see the customers. So the customer object has a partition key holding the userName it is assigned to:customer { _id: "12345", partition: "bob", name: "MongoDB Inc."}
customer { _id: "12346", partition: "alice", name: "Microsoft"}now we want, that alice also sees the customer "MongoDB Inc." in the App.
The solution could look something like…
6 votes -
Allow modifying Sync permissions without having to terminate it. Maybe pause instead ?
Currently only way to modify/add permissions to Sync is at the beginning or terminating it. It would great if we could modify/add them with Sync Running or at least only pause it to avoid downtime and deleting cache from sync.
4 votes -
add geojson data type!
A lot of spatial data is generated on mobile devices, but the default geospatial format (geojson) can't be synced due to nested arrays that are part of the specification. My current workaround is to save the geojson as stringified json, but this destroys our ability of using the embedded properties object and forces me to maintain a separate collection for the unpacked data, which can go out of sync. Maybe the team can just use the same simple workaround and implement the stringifying in the background and unpack transparently into just the one corresponding collection--- it would be a massive…
2 votes -
Validate permissions when saved
When changing permissions in the UI, there is no validation if the code being entered is valid. This leads to hard-to-debug runtime errors.
I.e. It is possible to enter something like this:
{ "foo": "bar" }
With no kind of warning.
2 votes -
Allow to create and store templates for Realm's 'Sync Permissions'
Please allow to create, store and use custom templates for 'Permissions' for a partition-based 'Sync Permission' setup. This is under the area named "Define Permissions". There are pre-built ones but no custom ones. Makes you have to keep adding in each time you make changes.
2 votes -
Sync Permission at Object / Document Level
Please allow Read & Write Sync Permissions to be per object (aka: Document) being processed, rather than at partition-level. Thereby allowing to use '%%root' as a Function's parameter to access the Document to allow permission for read or write per request. Also the permission would carry (deep) through for nested / embedded objects & List<>s. Further, please expose (if not available via '%%root') the Schema (at minimum the "title" property to access Object type).
2 votes -
Inheritance / Polymorphism
Support for polymorphism would be a huge plus. In particular, being able to define a class structure and then query for a base class (or interface?) to get a list of all the various concrete classes.
Related GitHub Issue: https://github.com/realm/realm-java/issues/761
2 votes -
Custom Conflict Resolution
Possibility to add a function to an app, which can handle conflict resolution.
For example, you may want to handle conflicts differently for strings.
Say a field has a value:
Ducks
GeesePerson A makes a change:
Ducks
Geese
OrangesPerson B later makes a change from the original to
Ducks
Geese
BananasYou may want to instead just append Bananas to Person A's change rather than replace it. Resulting to:
Ducks
Geese
Oranges
BananasInstead of the behaviour now which would just give:
Ducks
Geese
Bananas1 vote -
Device Sync for serverless instance
For an application that is using Device Sync on a shared cluster, it would be awesome to upgrade without having to make the jump all the way to a dedicated server. Serverless would be the typical next step for most projects.
1 vote -
Do NOT automatically enable Anonymous Authentication
It's insanely annoying that enabling developer mode automatically turns on anonymous authentication. If I wanted that on, I would turn it on myself! I frequently use developer mode to deploy non-breaking schema updates by connecting with a new version of my app.
Moreover, it's just bad form and spaghetti-code to have an option on one panel automatically change options on an entirely different, non-visible panel. LET THE DEVELOPER decide if they want anonymous authentication enabled—I assure you, they know better than you do.
1 vote -
Customizable Device Sync alerts
Currently, when Device Sync is stopped, only one alert is sent out. Other Atlas alerts allow for greater customization, such as resending the alert if the condition persists for a specified amount of time. Because downtime with Device Sync can be disruptive, it would be ideal for the alerts to be repeated.
1 vote -
Add error code to SyncException (or a specific Exception for refresh token expired)
SyncException, inside sync error handler, contains only a string message as public property. In order to identify a specific problem, e.g. refresh token expired, one would need to match a string. In order to avoid that, and make it more robust, it would be great to have a specific error code alongside the message, so one could check the error code and respond accordingly.
1 vote -
Allow mutliple device-sync apps on a single Cluster/Instance
Currently it is not allowed/possible to create multiple device-sync apps on one cluster. It would be great if that would be possible. Since the cluster database size does double for a connected device-sync app, maybe it would also be great to decouple the sync database from the cluster database.
1 vote -
Support for Int32
Right now only Int64 (long) is supported. For applications with large number of documents and/or collections, this can unnecessarily increase both storage size and network cost. It will be great if Int32 can be supported as well.
1 vote -
Realm sessions
Could you please add a "remember me" or option for longer sessions on the Realm / Atlas Web UI?
Besides the annoying factor of daily/24h re-sign-in, a couple of times I lost function changes when working in a tab that was left open overnight and a save would fail due to a stale session.1 vote -
Selective Realm Reset
We are running Realm Sync from an iOS app (RealmSwift 10.7.2). We have a problem where the data related to one Realm partition is giving is a BAD CHANGESET error in production due to a data
issue. My suggestion is, can we cancel Realm Sync operations for a particular partition as opposed to terminating the sync for the entire app (all partitions) which would force all of our users to reinstall their apps so a fresh local copy of the Realmfile is built)? We don't want to be resetting across all partitions because it impacts all production users and in…1 vote
- Don't see your idea?