{"action":"created","issue":{"url":"https://api.github.com/repos/metasfresh/metasfresh-webui-frontend/issues/2009","repository_url":"https://api.github.com/repos/metasfresh/metasfresh-webui-frontend","labels_url":"https://api.github.com/repos/metasfresh/metasfresh-webui-frontend/issues/2009/labels{/name}","comments_url":"https://api.github.com/repos/metasfresh/metasfresh-webui-frontend/issues/2009/comments","events_url":"https://api.github.com/repos/metasfresh/metasfresh-webui-frontend/issues/2009/events","html_url":"https://github.com/metasfresh/metasfresh-webui-frontend/issues/2009","id":370692488,"node_id":"MDU6SXNzdWUzNzA2OTI0ODg=","number":2009,"title":"Views: Automatically remove view rows if GET /byIds it's not returning the row(s) frontend asked for","user":{"login":"teosarca","id":1244701,"node_id":"MDQ6VXNlcjEyNDQ3MDE=","avatar_url":"https://avatars2.githubusercontent.com/u/1244701?v=4","gravatar_id":"","url":"https://api.github.com/users/teosarca","html_url":"https://github.com/teosarca","followers_url":"https://api.github.com/users/teosarca/followers","following_url":"https://api.github.com/users/teosarca/following{/other_user}","gists_url":"https://api.github.com/users/teosarca/gists{/gist_id}","starred_url":"https://api.github.com/users/teosarca/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/teosarca/subscriptions","organizations_url":"https://api.github.com/users/teosarca/orgs","repos_url":"https://api.github.com/users/teosarca/repos","events_url":"https://api.github.com/users/teosarca/events{/privacy}","received_events_url":"https://api.github.com/users/teosarca/received_events","type":"User","site_admin":false},"labels":[{"id":520869039,"node_id":"MDU6TGFiZWw1MjA4NjkwMzk=","url":"https://api.github.com/repos/metasfresh/metasfresh-webui-frontend/labels/priority:high","name":"priority:high","color":"d93f0b","default":false}],"state":"open","locked":false,"assignee":{"login":"siemiatj","id":513460,"node_id":"MDQ6VXNlcjUxMzQ2MA==","avatar_url":"https://avatars1.githubusercontent.com/u/513460?v=4","gravatar_id":"","url":"https://api.github.com/users/siemiatj","html_url":"https://github.com/siemiatj","followers_url":"https://api.github.com/users/siemiatj/followers","following_url":"https://api.github.com/users/siemiatj/following{/other_user}","gists_url":"https://api.github.com/users/siemiatj/gists{/gist_id}","starred_url":"https://api.github.com/users/siemiatj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/siemiatj/subscriptions","organizations_url":"https://api.github.com/users/siemiatj/orgs","repos_url":"https://api.github.com/users/siemiatj/repos","events_url":"https://api.github.com/users/siemiatj/events{/privacy}","received_events_url":"https://api.github.com/users/siemiatj/received_events","type":"User","site_admin":false},"assignees":[{"login":"siemiatj","id":513460,"node_id":"MDQ6VXNlcjUxMzQ2MA==","avatar_url":"https://avatars1.githubusercontent.com/u/513460?v=4","gravatar_id":"","url":"https://api.github.com/users/siemiatj","html_url":"https://github.com/siemiatj","followers_url":"https://api.github.com/users/siemiatj/followers","following_url":"https://api.github.com/users/siemiatj/following{/other_user}","gists_url":"https://api.github.com/users/siemiatj/gists{/gist_id}","starred_url":"https://api.github.com/users/siemiatj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/siemiatj/subscriptions","organizations_url":"https://api.github.com/users/siemiatj/orgs","repos_url":"https://api.github.com/users/siemiatj/repos","events_url":"https://api.github.com/users/siemiatj/events{/privacy}","received_events_url":"https://api.github.com/users/siemiatj/received_events","type":"User","site_admin":false}],"milestone":null,"comments":0,"created_at":"2018-10-16T16:20:02Z","updated_at":"2018-10-17T22:56:36Z","closed_at":null,"author_association":"MEMBER","body":"### Is this a bug or feature request?\r\nFR\r\n\r\nrequired for https://github.com/metasfresh/metasfresh/issues/4577\r\n\r\n### What is the current behavior?\r\nIn some cases, the backend is sending websocket events about which view rows where changed.\r\nOn it's turn, the frontend is calling [GET /rest/api/documentView/{windowId}/{viewId}/byIds](http://w101.metasfresh.com:8080/swagger-ui.html#!/view-rest-controller/getByIdsUsingGET) to fetch then.\r\nThe result is an array of all rows which were found for given IDs.\r\nIf, for some reason, some of the rows are missing they won't be returned.\r\n\r\nIn that case, at the moment, the frontend is simply ignore that and keeps those missing rows in current view page.\r\n\r\n#### Which are the steps to reproduce?\r\nOne of the easiest ways to do it is to simulate it using http://w101.metasfresh.com:8080/swagger-ui.html#/debug-rest-controller tools.\r\n\r\nThere you shall have `POST /rest/api/debug/view/{viewId}/deleteRows` which is deleting rows from a view. After it's deleting them, it is sending a websocket notification.\r\n\r\ne.g.\r\n```\r\ncurl -X POST --header 'Content-Type: application/json' --header 'Accept: text/plain' 'http://localhost:8080/rest/api/debug/view/123-B/deleteRows?ids=2156426'\r\n```\r\n\r\n### What is the expected or desired behavior?\r\nIf some rows were not returned by `GET /byIds` then the frontend shall remove them from current view page.\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/metasfresh/metasfresh-webui-frontend/issues/comments/430817634","html_url":"https://github.com/metasfresh/metasfresh-webui-frontend/issues/2009#issuecomment-430817634","issue_url":"https://api.github.com/repos/metasfresh/metasfresh-webui-frontend/issues/2009","id":430817634,"node_id":"MDEyOklzc3VlQ29tbWVudDQzMDgxNzYzNA==","user":{"login":"siemiatj","id":513460,"node_id":"MDQ6VXNlcjUxMzQ2MA==","avatar_url":"https://avatars1.githubusercontent.com/u/513460?v=4","gravatar_id":"","url":"https://api.github.com/users/siemiatj","html_url":"https://github.com/siemiatj","followers_url":"https://api.github.com/users/siemiatj/followers","following_url":"https://api.github.com/users/siemiatj/following{/other_user}","gists_url":"https://api.github.com/users/siemiatj/gists{/gist_id}","starred_url":"https://api.github.com/users/siemiatj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/siemiatj/subscriptions","organizations_url":"https://api.github.com/users/siemiatj/orgs","repos_url":"https://api.github.com/users/siemiatj/repos","events_url":"https://api.github.com/users/siemiatj/events{/privacy}","received_events_url":"https://api.github.com/users/siemiatj/received_events","type":"User","site_admin":false},"created_at":"2018-10-17T22:56:36Z","updated_at":"2018-10-17T22:56:36Z","author_association":"CONTRIBUTOR","body":"I think we need a flag on the websocket message to differentiate between events that updated rows and removed them. Otherwise I won't know if the row should be removed or merged with existing data.\r\n\r\n![screen shot 2018-10-18 at 00 53 59](https://user-images.githubusercontent.com/513460/47120868-a61eb300-d270-11e8-83ee-e026e223405a.png)\r\n"}}
{"actor":{"display_login":"siemiatj"}}