-
Notifications
You must be signed in to change notification settings - Fork 8.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Security Solution][Detections] Better toast errors #72205
Commits on Jul 16, 2020
-
Add new hook to wrap the toasts service
When receiving error responses from our APIs, this gives us better toast messages.
Configuration menu - View commit details
-
Copy full SHA for 81e70e3 - Browse repository at this point
Copy the full SHA 81e70e3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 28095e6 - Browse repository at this point
Copy the full SHA 28095e6View commit details -
WIP: prevent infinite polling when server is unresponsive
The crux of this issue was that we had no steady state when the server returned a non-API error (!isApiError), as it would if the server was throwing 500s or just generally misbehaving. The solution, then, is to addresse these non-API errors in our underlying useListsIndex and useListsPrivileges hooks. This also refactors those hooks to: * collapse multiple error states into one (that's all we currently need) * use useAppToasts for better UI TODO: I don't think I need the changes in useListsConfig's useEffect.
Configuration menu - View commit details
-
Copy full SHA for 940c54b - Browse repository at this point
Copy the full SHA 940c54bView commit details -
Slightly more legible variables
The only task in this hook is our readPrivileges task right now, so I'm shortening the variable until we have a need to disambiguate it further.
Configuration menu - View commit details
-
Copy full SHA for beefe5b - Browse repository at this point
Copy the full SHA beefe5bView commit details -
Remove unnecessary conditions around creating our index
If the index hook has an error needsIndex will not be true.
Configuration menu - View commit details
-
Copy full SHA for 24ae1f5 - Browse repository at this point
Copy the full SHA 24ae1f5View commit details -
Better toast errors for Kibana API errors
Our isApiError predicate does not work for errors coming back from Kibana platform itself, e.g. for a request payload error. I've added a separate predicate for that case, isKibanaError, and then a wrapping isAppError predicate since most of our use cases just care about error.body.message, which is common to both.
Configuration menu - View commit details
-
Copy full SHA for f78d9bb - Browse repository at this point
Copy the full SHA f78d9bbView commit details -
Use new toasts hook on our exceptions modals
This fixes two issues: * toast appears above modal overlay * Error message from response is now presented in the toast
Configuration menu - View commit details
-
Copy full SHA for 3dd2fd4 - Browse repository at this point
Copy the full SHA 3dd2fd4View commit details -
Fix bug with toasts dependencies
Because of the way some of the exception modal's hooks are written, a change to one of its callbacks means that the request will be canceled. Because the toasts service exports instance methods, the context within the function (and thus the function itself) can change leading to a mutable ref. Because we don't want/need this behavior, we store our exported functions in refs to 'freeze' them for react. With our bound functions, we should now be able to declare e.g. `toast.addError` as a dependency, however react cannot determine that it is bound (and thus that toast.addError() is equivalent to addError()), and so we must destructure our functions in order to use them as dependencies.
Configuration menu - View commit details
-
Copy full SHA for b755361 - Browse repository at this point
Copy the full SHA b755361View commit details
Commits on Jul 17, 2020
-
Alert clipboard toasts through new Toasts service
This fixes the z-index issue between modals and toasts.
Configuration menu - View commit details
-
Copy full SHA for 59f36a9 - Browse repository at this point
Copy the full SHA 59f36a9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0800c29 - Browse repository at this point
Copy the full SHA 0800c29View commit details -
These tests now call out to the Notifications service (in a context) instead of our redux implementation.
Configuration menu - View commit details
-
Copy full SHA for 8597df7 - Browse repository at this point
Copy the full SHA 8597df7View commit details