Commit Graph
9478 Commits
Author SHA1 Message Date
Arnaud GRIMBERT 969d24e369 Merge branch 'develop' into feat/customcss-status-page 2026-06-24 20:27:57 +02:00
Buco7854 52b95ad121 fix: keep the admin status page preview iframe same-origin
The preview framed the page public URL, which for a custom domain is cross
origin and blocked by the admin document CSP frame-src. Point the iframe at the
same-origin public path while the frame chrome still shows the public URL.
2026-06-24 18:21:40 +00:00
Buco7854 ea23610b3a fix: mirror server custom CSS validation on the client
The form only enforced the length cap, so CSS with an external url() or @import
passed client validation and was rejected by the server. Add the same tokenizer
based check with the same error message so it is caught inline before submit.
2026-06-24 18:21:27 +00:00
Buco7854 a4cc322a55 feat: apply status page CSP to custom domains
Detect custom domains by comparing the request host to the app host and apply
the tightened CSP there too, not just on the public path. Run the middleware
before express.static so static-served root documents get the header, and keep
helmet after static so its default-src does not block custom domain API calls.
2026-06-24 18:21:16 +00:00
Alexander Holliday 2b9ff52f6b Merge pull request #3738 from bluewave-labs/feat/clean-worker-split
feat: clean worker split
2026-06-24 11:02:14 -07:00
Alex Holliday 0f230c4d70 update tests 2026-06-24 10:53:13 -07:00
Alex Holliday 74783fd738 clean up logger 2026-06-24 10:53:03 -07:00
Alex Holliday 71d3e789ff split services to api, worker, and shared 2026-06-24 10:30:21 -07:00
Alex Holliday f59a7c3113 extract shared services 2026-06-23 12:26:42 -07:00
Buco7854 ffbf223288 feat: tighten CSP on the public status page document
Layer a stricter Content-Security-Policy on the /status/public document so
custom CSS cannot load external images, fonts, or stylesheets. Browsers
enforce the intersection of all CSP headers, so this only narrows the public
status page and never loosens the global policy, while keeping the app's
Google Fonts. Browser-enforced backstop behind the validator.
2026-06-23 19:25:40 +00:00
Buco7854 96021b7479 refactor: detect external CSS references with the CSS Syntax tokenizer
Replace the regex/escape-normalizer with @csstools/css-tokenizer (already
present transitively). Tokenizing resolves comments, hex escapes, and line
continuations into the real value before scanning, so obfuscated forms (a
scheme split by a line continuation or hex escape) cannot slip past. Scan
url-tokens and string-tokens to cover url(), quoted @import, and string-form
image functions. Add regression tests for the bypasses.
2026-06-23 19:25:18 +00:00
Alex Holliday f0a5974eaf update tests 2026-06-23 11:31:35 -07:00
Alex Holliday c9b8f434cd split worker into a scheduler and worker 2026-06-23 11:22:37 -07:00
Buco7854 3685e0c476 feat: reject custom CSS that references external resources
Reject status page custom CSS containing @import or a url() / image-set()
/ image() / cross-fade() whose target is http(s) or protocol-relative,
while allowing data: and relative URLs. The check normalizes comments and
CSS escapes first so obfuscated forms cannot slip past. Enforced in the
create/update body validation.
2026-06-22 23:49:58 +00:00
Alexander Holliday d6f9fca907 Merge pull request #3737 from bluewave-labs/feat/head-request-fe
feat: head request front end
2026-06-22 11:36:02 -07:00
Alex Holliday ba943e90c2 add form UI 2026-06-22 11:24:35 -07:00
Alex Holliday dead97169f add default GET 2026-06-22 11:24:03 -07:00
Alexander Holliday eb1d307932 Merge pull request #3736 from bluewave-labs/feat/head-request-be
feat: head request back end
2026-06-22 11:19:34 -07:00
Alex Holliday a31dd2f19e update montior form hook to load method 2026-06-22 11:07:56 -07:00
Alex Holliday d84fc7e299 add method to validation 2026-06-22 10:48:39 -07:00
Alex Holliday 8afd67a06d add method to monitor type 2026-06-22 10:43:30 -07:00
Alex Holliday 71a4fddffd add tests 2026-06-22 10:38:15 -07:00
Alex Holliday 3489ee000d add super refine to reject method HEAD and advanced matching/json path 2026-06-22 10:31:13 -07:00
Alex Holliday 93b9c5033a add http metod option, add monitor.method guard to buildResponse 2026-06-22 10:26:10 -07:00
Alex Holliday 32ec909bf7 add default GET for imported monitors 2026-06-22 10:25:27 -07:00
Alex Holliday 8e5757beb1 add a method field to model, add enums and validation for http methods 2026-06-22 10:15:14 -07:00
Alexander Holliday 8e5a337f3e Merge pull request #3735 from bluewave-labs/fix/diagnostic-stats
fix: diagnostic stats
2026-06-22 10:01:25 -07:00
Alex Holliday 9db4e557b3 record last finished timestamp for failures 2026-06-22 09:58:11 -07:00
Alex Holliday 10174da4f0 update locales 2026-06-22 09:54:58 -07:00
Alex Holliday 99ded83bd5 remove dead fields from table, add correct fields 2026-06-22 09:54:49 -07:00
Alex Holliday dffa49ae9d remove dead fields 2026-06-22 09:54:17 -07:00
Alex Holliday 89c86a7628 remove dead fields from WorkerSummary 2026-06-22 09:53:50 -07:00
Alexander Holliday 09446c9fc1 Merge pull request #3733 from bluewave-labs/fix/excess-polling
Fix/excess polling
2026-06-22 09:26:36 -07:00
Alex Holliday 755134ee7f add poll backoff tests 2026-06-22 09:15:39 -07:00
Alex Holliday 3b919044e6 wake worker on job change 2026-06-19 10:25:59 -07:00
Alex Holliday 08e9c02a3a update tests 2026-06-19 10:02:06 -07:00
Alex Holliday 85f674ee08 resovle merge conflict 2026-06-19 09:55:52 -07:00
Alexander Holliday 16036f421b Merge pull request #3734 from bluewave-labs/fix/maintenance-window-exit
fix: change status on exit maintenance window
2026-06-19 09:54:05 -07:00
Alex Holliday 7fe7b79103 update server tests 2026-06-19 09:51:25 -07:00
Alex Holliday a058c0518c change status on exit maintenance window 2026-06-19 09:37:24 -07:00
Alex Holliday 5ed9ab780a update tests, add check producer tests 2026-06-18 11:06:57 -07:00
Alex Holliday e32590425b remove unsed from constructor 2026-06-18 11:06:43 -07:00
Alex Holliday 190a3b47da add findByIdLean for workers 2026-06-18 11:06:19 -07:00
Alex Holliday f740eef0fa thread prefetched worker, remove dead code 2026-06-18 11:05:57 -07:00
Alex Holliday 5efd64d44d thread prefetched monitor trough status service 2026-06-18 11:05:17 -07:00
Alexander Holliday b28c84436e Merge pull request #3718 from harsh-aghara/feat/accept-status-codes-frontend
Add customUpCodes support for HTTP monitors (Frontend)
2026-06-18 10:51:03 -07:00
harsh-aghara 9082cf0826 test(server): add comprehensive edge-case tests for customUpCodes validation 2026-06-18 22:51:21 +05:30
Alex Holliday 9d453bdb0b Merge branch 'develop' into fix/excess-polling 2026-06-18 10:19:57 -07:00
Alexander Holliday 39d92fb067 Merge pull request #3732 from bluewave-labs/fix/maintenance-rearm-jobs
rearm jobs on maintenance window pause/delete
2026-06-18 10:19:40 -07:00
Alex Holliday a54fdd89ab rearm jobs on maintenance window pause/delete 2026-06-18 10:17:33 -07:00