firegex/frontend
Domingo Dirutigliano ba2703d4bf
Stop a non-string filter code from crashing the nfproxy page
`genericapi` ran every response body through `JSON.parse`, falling back to
the raw text only when that threw. The nfproxy filter source is served as a
PlainTextResponse, so a filter file that happens to be valid JSON came back
as a number/array/object. Mantine's CodeHighlight then calls `code.trim()`
on it, which throws and takes the whole page down with it. `42`, `"abc"`,
`[1,2]` and `{"a":1}` are all both valid JSON and valid Python, so they
pass the upload validation and leave the service page unreachable.

Responses declaring text/plain are no longer parsed, and the render site
type-checks the code before handing it to CodeHighlight.
2026-09-03 18:42:28 +02:00
..
public add: frontend update 2024-10-13 01:50:52 +02:00
src Stop a non-string filter code from crashing the nfproxy page 2026-09-03 18:42:28 +02:00
.env.demo Publish a browsable demo on GitHub Pages 2026-09-03 09:36:37 +02:00
bun.lock Update frontend dependencies to latest 2026-09-03 10:22:19 +02:00
index.html mantine update + passed to vite 2023-06-05 00:57:54 +02:00
package.json Update frontend dependencies to latest 2026-09-03 10:22:19 +02:00
README.md docs: update 2023-10-01 02:21:07 +02:00
tsconfig.json mantine update 2026-06-21 11:49:53 +02:00
vite.config.ts integrated and refactore docs + minor changes 2026-07-23 16:53:09 +02:00

Firegex Frontend

Firegex Frontend

The frontend of firegex is written using vite. The routing of the pages is managed by react-router 6 and the graphics is mainly managed by the framework Mantine and icons provided by React Icons. The style of the page is written with sass.

The page is auto-updated by a global timeout and also thanks to socket.io that raise an event triggering all parts of the app that requires fetch updated data from the backend, the update of these data.

GO BACK