-
Notifications
You must be signed in to change notification settings - Fork 222
Closed
Labels
datastoreIssues related to the DataStore categoryIssues related to the DataStore categoryfollow upRequires follow up from maintainersRequires follow up from maintainers
Description
Describe the bug
In an App created using amplify-ios, or amplify-flutter (iOS platform), DataStore cannot receive mutation updates made from Android, Amplify Studio content management interface that are running with the same backend.
Related issues:
aws-amplify/amplify-flutter#663
aws-amplify/amplify-android#995
Condition: when model relationship is involved, and selection set is incompatible cross amplify libraries.
In iOS device, DataStore subscription receives event but the event actually is an error, e.g.
// Create a Post in Amplify Studio
// Subscription error occurred in amplify-ios backed App
{
"id": "2FD9A5DC-0721-4F08-AFA5-A63099436BDB",
"type": "data",
"payload": {
"data": {
"onCreatePost": {
"id": "d8ae7b09-b0b8-4a86-8095-42db434eae88",
"createdAt": "2022-02-23T18:31:55.785Z",
"rating": 10,
"title": "Post from Studio",
"updatedAt": "2022-02-23T18:31:55.785Z",
"blog": null,
"__typename": "Post",
"_version": 1,
"_deleted": null,
"_lastChangedAt": 1645641115815
}
},
"errors": [
{
"message": "Cannot return null for non-nullable type: 'AWSDateTime' within parent 'Blog' (/onCreatePost/blog/createdAt)",
"path": ["onCreatePost", "blog", "createdAt"]
},
{
"message": "Cannot return null for non-nullable type: 'String' within parent 'Blog' (/onCreatePost/blog/name)",
"path": ["onCreatePost", "blog", "name"]
},
{
"message": "Cannot return null for non-nullable type: 'AWSDateTime' within parent 'Blog' (/onCreatePost/blog/updatedAt)",
"path": ["onCreatePost", "blog", "updatedAt"]
},
{
"message": "Cannot return null for non-nullable type: 'Int' within parent 'Blog' (/onCreatePost/blog/_version)",
"path": ["onCreatePost", "blog", "_version"]
},
{
"message": "Cannot return null for non-nullable type: 'AWSTimestamp' within parent 'Blog' (/onCreatePost/blog/_lastChangedAt)",
"path": ["onCreatePost", "blog", "_lastChangedAt"]
}
]
}
}
// Create a Post in amplify-android backed App
// Subscription error occurred in amplify-ios backed App
{
"id": "2FD9A5DC-0721-4F08-AFA5-A63099436BDB",
"type": "data",
"payload": {
"data": {
"onCreatePost": {
"id": "114d4f13-972b-4bfc-ae30-4eb614a8c7df",
"createdAt": "2022-02-23T18:47:45.421Z",
"rating": 10,
"title": "Test Post",
"updatedAt": "2022-02-23T18:47:45.421Z",
"blog": null,
"__typename": "Post",
"_version": 1,
"_deleted": null,
"_lastChangedAt": 1645642065440
}
},
"errors": [
{
"message": "Cannot return null for non-nullable type: 'AWSDateTime' within parent 'Blog' (/onCreatePost/blog/createdAt)",
"path": ["onCreatePost", "blog", "createdAt"]
},
{
"message": "Cannot return null for non-nullable type: 'String' within parent 'Blog' (/onCreatePost/blog/name)",
"path": ["onCreatePost", "blog", "name"]
},
{
"message": "Cannot return null for non-nullable type: 'AWSDateTime' within parent 'Blog' (/onCreatePost/blog/updatedAt)",
"path": ["onCreatePost", "blog", "updatedAt"]
},
{
"message": "Cannot return null for non-nullable type: 'Int' within parent 'Blog' (/onCreatePost/blog/_version)",
"path": ["onCreatePost", "blog", "_version"]
},
{
"message": "Cannot return null for non-nullable type: 'AWSTimestamp' within parent 'Blog' (/onCreatePost/blog/_lastChangedAt)",
"path": ["onCreatePost", "blog", "_lastChangedAt"]
}
]
}
}Steps To Reproduce
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See errorExpected behavior
Mutation updates should work cross amplify libraries.
Amplify Framework Version
1.22.0
Amplify Categories
DataStore
Dependency manager
Swift PM
Swift version
5
CLI version
The latest
Xcode version
13.2.1
Relevant log output
No response
Is this a regression?
No
Regression additional context
No response
Device
iPhone 13 simulators
iOS Version
iOS 15
Specific to simulators
No response
Additional context
No response
Metadata
Metadata
Assignees
Labels
datastoreIssues related to the DataStore categoryIssues related to the DataStore categoryfollow upRequires follow up from maintainersRequires follow up from maintainers