Closed southerneer closed 4 years ago
I saw this with bypass user 222 but not with 111
I've found more details:
"message":"Cannot return null for non-nullable field","path":["notifications","edges",7,"node","data","shareTypes","from"]}]},"status":"ok"}
Looks like LocationShareNotification is broken for some users (i.e. shareTypes is null), could we fix it? @toland @bernardd
2020-02-20 15:21:03.205 [info][tid:com.facebook.react.JavaScript] 2020-02-20T12:21:03.203Z | socket(0):push | __absinthe__:control doc (9, 24) | {"query":"query notifications($first: Int, $last: Int, $beforeId: AInt, $afterId: AInt, $ownUsername: String!, $types: [NotificationType]) {\n notifications(first: $first, last: $last, beforeId: $beforeId, afterId: $afterId, types: $types) {\n totalCount\n edges {\n node {\n ... on NotificationUpdate {\n ... on NotificationDeleted {\n deletedId: id\n __typename\n }\n ... on Notification {\n id\n createdAt\n data {\n __typename\n ... on LocationShareNearbyStartNotification {\n user {\n id\n firstName\n lastName\n handle\n media {\n urls {\n type\n url\n __typename\n }\n trosUrl\n __typename\n }\n bots(first: 0, relationship: OWNED) {\n totalCount\n __typename\n }\n presence {\n status\n updatedAt\n __typename\n }\n __typename\n }\n __typename\n }\n ... on LocationShareNearbyEndNotification {\n user {\n id\n firstName\n lastName\n handle\n media {\n urls {\n type\n url\n __typename\n }\n trosUrl\n __typename\n }\n bots(first: 0, relationship: OWNED) {\n totalCount\n __typename\n }\n presence {\n status\n updatedAt\n __typename\n }\n __typename\n }\n __typename\n }\n ... on LocationShareEndNotification {\n user {\n id\n firstName\n lastName\n handle\n media {\n urls {\n type\n url\n __typename\n }\n trosUrl\n __typename\n }\n bots(first: 0, relationship: OWNED) {\n totalCount\n __typename\n }\n presence {\n status\n updatedAt\n __typename\n }\n __typename\n }\n __typename\n }\n ... on LocationShareNotification {\n user {\n id\n firstName\n lastName\n handle\n media {\n urls {\n type\n url\n __typename\n }\n trosUrl\n __typename\n }\n bots(first: 0, relationship: OWNED) {\n totalCount\n __typename\n }\n presence {\n status\n updatedAt\n __typename\n }\n __typename\n }\n shareTypes {\n from\n to\n __typename\n }\n __typename\n }\n ... on UserInvitationNotification {\n shareType\n user {\n id\n firstName\n lastName\n handle\n media {\n urls {\n type\n url\n __typename\n }\n trosUrl\n __typename\n }\n bots(first: 0, relationship: OWNED) {\n totalCount\n __typename\n }\n presence {\n status\n updatedAt\n __typename\n }\n __typename\n }\n __typename\n }\n ... on UserBefriendNotification {\n user {\n id\n firstName\n lastName\n handle\n media {\n urls {\n type\n url\n __typename\n }\n trosUrl\n __typename\n }\n bots(first: 0, relationship: OWNED) {\n totalCount\n __typename\n }\n presence {\n status\n updatedAt\n __typename\n }\n __typename\n }\n __typename\n }\n ... on BotInvitationNotification {\n bot {\n id\n icon\n title\n address\n addressData\n description\n radius\n media {\n urls {\n type\n url\n __typename\n }\n trosUrl\n __typename\n }\n lat\n lon\n owner {\n id\n firstName\n lastName\n handle\n media {\n urls {\n type\n url\n __typename\n }\n trosUrl\n __typename\n }\n bots(first: 0, relationship: OWNED) {\n totalCount\n __typename\n }\n presence {\n status\n updatedAt\n __typename\n }\n __typename\n }\n items(first: 0) {\n totalCount\n __typename\n }\n visitorCount: subscribers(first: 0, type: VISITOR) {\n totalCount\n __typename\n }\n subscriberCount: subscribers(first: 0, type: SUBSCRIBER) {\n totalCount\n __typename\n }\n subscribers(first: 1, id: $ownUsername) {\n edges {\n relationships\n __typename\n }\n __typename\n }\n __typename\n }\n invitation {\n accepted\n id\n __typename\n }\n user {\n id\n firstName\n lastName\n handle\n media {\n urls {\n type\n url\n __typename\n }\n trosUrl\n __typename\n }\n bots(first: 0, relationship: OWNED) {\n totalCount\n __typename\n }\n presence {\n status\n updatedAt\n __typename\n }\n __typename\n }\n __typename\n }\n ... on BotInvitationResponseNotification {\n accepted\n invitation {\n id\n accepted\n __typename\n }\n bot {\n id\n icon\n title\n address\n addressData\n description\n radius\n media {\n urls {\n type\n url\n __typename\n }\n trosUrl\n __typename\n }\n lat\n lon\n owner {\n id\n firstName\n lastName\n handle\n media {\n urls {\n type\n url\n __typename\n }\n trosUrl\n __typename\n }\n bots(first: 0, relationship: OWNED) {\n totalCount\n __typename\n }\n presence {\n status\n updatedAt\n __typename\n }\n __typename\n }\n items(first: 0) {\n totalCount\n __typename\n }\n visitorCount: subscribers(first: 0, type: VISITOR) {\n totalCount\n __typename\n }\n subscriberCount: subscribers(first: 0, type: SUBSCRIBER) {\n totalCount\n __typename\n }\n subscribers(first: 1, id: $ownUsername) {\n edges {\n relationships\n __typename\n }\n __typename\n }\n __typename\n }\n user {\n id\n firstName\n lastName\n handle\n media {\n urls {\n type\n url\n __typename\n }\n trosUrl\n __typename\n }\n bots(first: 0, relationship: OWNED) {\n totalCount\n __typename\n }\n presence {\n status\n updatedAt\n __typename\n }\n __typename\n }\n __typename\n }\n ... on BotItemNotification {\n bot {\n id\n icon\n title\n address\n addressData\n description\n radius\n media {\n urls {\n type\n url\n __typename\n }\n trosUrl\n __typename\n }\n lat\n lon\n owner {\n id\n firstName\n lastName\n handle\n media {\n urls {\n type\n url\n __typename\n }\n trosUrl\n __typename\n }\n bots(first: 0, relationship: OWNED) {\n totalCount\n __typename\n }\n presence {\n status\n updatedAt\n __typename\n }\n __typename\n }\n items(first: 0) {\n totalCount\n __typename\n }\n visitorCount: subscribers(first: 0, type: VISITOR) {\n totalCount\n __typename\n }\n subscriberCount: subscribers(first: 0, type: SUBSCRIBER) {\n totalCount\n __typename\n }\n subscribers(first: 1, id: $ownUsername) {\n edges {\n relationships\n __typename\n }\n __typename\n }\n __typename\n }\n botItem {\n id\n content\n createdAt\n updatedAt\n media {\n urls {\n type\n url\n __typename\n }\n trosUrl\n __typename\n }\n owner {\n id\n firstName\n lastName\n handle\n media {\n urls {\n type\n url\n __typename\n }\n trosUrl\n __typename\n }\n bots(first: 0, relationship: OWNED) {\n totalCount\n __typename\n }\n presence {\n status\n updatedAt\n __typename\n }\n __typename\n }\n __typename\n }\n __typename\n }\n ... on GeofenceEventNotification {\n bot {\n id\n icon\n title\n address\n addressData\n description\n radius\n media {\n urls {\n type\n url\n __typename\n }\n trosUrl\n __typename\n }\n lat\n lon\n owner {\n id\n firstName\n lastName\n handle\n media {\n urls {\n type\n url\n __typename\n }\n trosUrl\n __typename\n }\n bots(first: 0, relationship: OWNED) {\n totalCount\n __typename\n }\n presence {\n status\n updatedAt\n __typename\n }\n __typename\n }\n items(first: 0) {\n totalCount\n __typename\n }\n visitorCount: subscribers(first: 0, type: VISITOR) {\n totalCount\n __typename\n }\n subscriberCount: subscribers(first: 0, type: SUBSCRIBER) {\n totalCount\n __typename\n }\n subscribers(first: 1, id: $ownUsername) {\n edges {\n relationships\n __typename\n }\n __typename\n }\n __typename\n }\n user {\n id\n firstName\n lastName\n handle\n media {\n urls {\n type\n url\n __typename\n }\n trosUrl\n __typename\n }\n bots(first: 0, relationship: OWNED) {\n totalCount\n __typename\n }\n presence {\n status\n updatedAt\n __typename\n }\n __typename\n }\n event\n __typename\n }\n }\n __typename\n }\n __typename\n }\n __typename\n }\n __typename\n }\n __typename\n }\n}\n","variables":{"beforeId":"85274","first":20,"ownUsername":"8dd4404e-d699-11e8-8cf2-6bee717d6096","types":["BOT_ITEM_NOTIFICATION","GEOFENCE_EVENT_NOTIFICATION","BOT_INVITATION_RESPONSE_NOTIFICATION","LOCATION_SHARE_NOTIFICATION","USER_BEFRIEND_NOTIFICATION"]}}
This is due to old notifications in the database which don't have share type information. I'll have to think about how we can handle this case.
PR pending: https://github.com/hippware/wocky/pull/3123
I guess this is a no-op and we'll test again after the back-end PR is merged.
I merged it 3 hours ago.
Works well, closing
I started seeing this this morning
I assume this is related to recent back-end API changes(?) cc @aksonov