🛠️ fix: Custom Endpoint issues, Improve SSE Response Handling (#1510)

* fix(custom): prevent presets using removed custom endpoints from causing frontend errors

* refactor(abortMiddleware): send 204 status when abortController is not found/active, set expected header `application/json` when not set

* fix(useSSE): general improvements:
- Add endpointType to fetch URL in useSSE hook
- use EndpointURLs enum
- handle 204 response by setting `data` to initiated response
- add better error handling UX, make clear when there is an explicit error
This commit is contained in:
Danny Avila 2024-01-07 13:49:59 -05:00 committed by GitHub
parent 84892b5b98
commit bebfffb2d9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 62 additions and 14 deletions

View file

@ -23,6 +23,7 @@ export default function Landing({ Header }: { Header?: ReactNode }) {
const endpointType = getEndpointField(endpointsConfig, endpoint, 'type');
const iconURL = getEndpointField(endpointsConfig, endpoint, 'iconURL');
const iconKey = endpointType ? 'unknown' : endpoint ?? 'unknown';
const Icon = icons[iconKey];
return (
<div className="relative h-full">
@ -31,7 +32,8 @@ export default function Landing({ Header }: { Header?: ReactNode }) {
<div className="mb-3 h-[72px] w-[72px]">
<div className="gizmo-shadow-stroke relative flex h-full items-center justify-center rounded-full bg-white text-black">
{endpoint &&
icons[iconKey]({
Icon &&
Icon({
size: 41,
context: 'landing',
className: 'h-2/3 w-2/3',