Commit Graph

33788 Commits

Author SHA1 Message Date
Nawaz Dhandala
5e0d8b487c feat(api): register admin-dashboard auth refresh handler
Add AdminDashboard/src/Utils/API.ts to register a refreshSession handler on BaseAPI
that posts to IDENTITY_URL/refresh-session (using skipAuthRefresh). Handle HTTP error
responses and exceptions, and set a refresh-failure handler that logs and falls back
to logout. Export BaseAPI. Import the module in Index.tsx for side-effect initialization.
2025-11-06 15:01:32 +00:00
Nawaz Dhandala
c41b53dd2a feat(api): add automatic auth-refresh flow, retry handling and skip flag
- introduce RequestOptions.skipAuthRefresh and APIErrorRetryContext
- implement BaseAPI refresh handlers (setters), shouldRetryAfterError, refreshAuthSession with deduping promise and refreshFailure handler
- make API.handleError async and add default shouldRetryAfterError; extend fetchInternal with retryCount and retry after successful auth refresh
- register auth-refresh handlers for Dashboard and StatusPage and import API utils in Index entries for side-effects
- tighten StatusPage logout/refresh logic with logging and safety checks
2025-11-06 14:52:58 +00:00
Nawaz Dhandala
5fe445330b feat(statuspage): add jwtRefreshToken column migration for StatusPagePrivateUser
Add TypeORM migration 1762430566091 to add a jwtRefreshToken varchar(100) column
to StatusPagePrivateUser and register it in the migrations index.
2025-11-06 12:03:57 +00:00
Nawaz Dhandala
38c744ce8c Merge branch 'master' into refresh-sessions 2025-11-06 11:56:03 +00:00
Nawaz Dhandala
ad9771f222 Merge branch 'release' 2025-11-06 11:55:36 +00:00
Nawaz Dhandala
20a3eab3a0 fix(email): validate using RFC5322 regex and remove redundant Zod check 2025-11-06 11:55:14 +00:00
Nawaz Dhandala
fbe198f0c0 fix(nginx): ensure /var/log/nginx and logs exist; set error_log to /var/log/nginx/error.log
Create /var/log/nginx and touch access.log/error.log in run.sh so nginx -t succeeds before reloads.
Revert nginx.conf error_log to /var/log/nginx/error.log (notice).
2025-11-06 11:34:19 +00:00
Simon Larsen
b16743a669 feat(statuspage): add refreshable status-page sessions, namespaced cookies & session lifecycle
- Add CookieUtil.setStatusPageUserCookie and namespace user/refresh cookie keys by statusPageId
- Persist jwtRefreshToken on StatusPagePrivateUser (hashed session id) and update on login/refresh/logout
- Extend JsonWebToken to include statusPageId in refresh tokens and add signStatusPageUserLoginToken
- Implement tryRefreshStatusPageSession in StatusPageService to auto-refresh access tokens from valid refresh tokens (middleware-friendly)
- Update hasReadAccess to attempt automatic session refresh
- Propagate ExpressResponse through StatusPageAPI methods that perform cookie/session operations
- Improve StatusPageAuthentication: robust logout (invalidate by refresh or access token), login stores session tokens and hashed refresh token, add /refresh-session/:statuspageid endpoint to rotate session tokens
- Update tests to cover namespaced refresh token key
2025-11-06 10:07:31 +00:00
Nawaz Dhandala
bb48776e02 fix(nginx): use stderr for error_log to enable container-friendly logging 2025-11-05 21:38:59 +00:00
Nawaz Dhandala
0f92342742 fix(nginx): write error_log to /proc/self/fd/2 for container-friendly logging 2025-11-05 20:33:32 +00:00
Simon Larsen
286c639857 feat(auth): add refresh token lifecycle, session refresh endpoint, and auto-refresh middleware
- Add refresh token signing and decoding (JSONWebToken.signRefreshToken, decodeRefreshToken)
- Persist hashed refresh token on user on signup, login and SSO flows
- Invalidate persisted refresh token on logout
- Add /refresh-session endpoint to validate refresh token, rotate session, and return refreshed session
- Implement middleware tryRefreshSession to auto-refresh expired access tokens using refresh token
- Make CookieUtil.setUserCookie return session details (access/refresh tokens, sessionId, expiries) and set both cookies
- Introduce secure default cookie options (path, sameSite, secure, httpOnly) and use IsProduction for secure flag
- Add CookieName.RefreshToken constant and update tests accordingly
2025-11-05 20:28:26 +00:00
Nawaz Dhandala
6ed41b87dd fix(nginx): send error_log to /dev/stderr for container-friendly logging 2025-11-05 19:52:06 +00:00
Nawaz Dhandala
12364415aa ci(release): skip npm publish if version already published; fail on other errors 2025-11-05 19:37:45 +00:00
Nawaz Dhandala
1a3301e715 fix(monitor): normalize disk paths when matching disk metrics (handle backslashes, trailing slashes and root path) 2025-11-05 17:47:33 +00:00
Nawaz Dhandala
8be7b68faf fix(helm): move nodeSelector into e2e CronJob pod template and add per-job override 2025-11-05 16:58:07 +00:00
Nawaz Dhandala
47f9d3914e fix(queue): normalize job IDs (replace ':' with '-') when adding/removing jobs and handling repeatable keys 2025-11-05 15:14:51 +00:00
Nawaz Dhandala
8a1afbe7dc Merge branch 'master' of https://github.com/OneUptime/oneuptime 2025-11-05 13:32:12 +00:00
Simon Larsen
87ac6f3106 Merge branch 'master' of github.com:OneUptime/oneuptime 2025-11-05 13:23:25 +00:00
Simon Larsen
2df32e4cdd fix(monitor): return null for cached monitor status name instead of undefined 2025-11-05 13:23:23 +00:00
Nawaz Dhandala
2e2adffe17 fix(nginx): use findAllBy and remove LIMIT_MAX when fetching certs for disk write jobs 2025-11-05 13:11:58 +00:00
Nawaz Dhandala
2a15cf8676 fix(acme): adjust ACME challenge route to /acme-challenge/.well-known/:token 2025-11-05 13:02:02 +00:00
Nawaz Dhandala
d249579c1c fix(acme): mount .well-known/acme-challenge router on main router to expose ACME challenge endpoint 2025-11-05 12:52:42 +00:00
Nawaz Dhandala
05681b108b style(monitor): add explicit type annotations and minor formatting cleanup in EvaluationLogList 2025-11-05 12:38:50 +00:00
Nawaz Dhandala
36867a0b8c style(monitor): render criteria message using Alert component in EvaluationLogList 2025-11-05 12:27:12 +00:00
Nawaz Dhandala
0e5a832628 feat(monitor): include incident/alert numbers in evaluation events and show them in UI
- select incidentNumber/alertNumber when loading open incidents/alerts
- attach relatedIncidentNumber / relatedAlertNumber to evaluation events (created/resolved/skipped)
- add number fields to MonitorEvaluationEvent type
- decorate event title/message in EvaluationLogList to include "Incident #N" / "Alert #N"
2025-11-05 12:25:20 +00:00
Nawaz Dhandala
46f69fdde5 Merge branch 'master' of https://github.com/OneUptime/oneuptime 2025-11-05 12:14:21 +00:00
Nawaz Dhandala
70e6c0abe1 style(monitor): wrap criteria message and met notice in styled callouts with icons 2025-11-05 12:14:15 +00:00
Simon Larsen
c5938956af docs(readme,helm): add Community vs. Enterprise table to main README; expand Enterprise Edition details in Helm chart README 2025-11-05 12:12:42 +00:00
Simon Larsen
e9bfe74b5d Merge branch 'master' of github.com:OneUptime/oneuptime 2025-11-05 12:09:46 +00:00
Simon Larsen
55085a5e6c docs(helm): add Community vs. Enterprise table, document ssl.provision and image.type, remove duplicate Uninstall section 2025-11-05 12:09:42 +00:00
Nawaz Dhandala
9cb48a41e7 style(monitor): restore criteria 'not checked' notice and use ArrowCircleRight icon for events 2025-11-05 12:03:14 +00:00
Nawaz Dhandala
dd8179c0a7 refactor(monitor): remove short-circuit notice and related logic from EvaluationLogList
Remove firstMetCriteriaIndex and shouldShowShortCircuitMessage, and delete the UI block that displayed the "remaining criteria were not evaluated" short-circuit message. Simplifies criteria rendering by removing unused short-circuit handling.
2025-11-05 12:01:04 +00:00
Simon Larsen
f9f84d4104 docs(helm): note Let's Encrypt requires host reachable on ports 80 and 443 2025-11-05 11:58:54 +00:00
Simon Larsen
827663675d refactor(queue): extract BullMQAdapter array and cast to BullBoardQueues for type compatibility 2025-11-05 11:57:48 +00:00
Nawaz Dhandala
0e8d7f2d6b fix(monitor): show short-circuit notice only for first met criteria, remove unused import, and tweak spacing/styles 2025-11-05 11:56:51 +00:00
Nawaz Dhandala
0dd9dfb505 style(monitor): fix JSX conditional formatting in EvaluationLogList 2025-11-05 11:40:36 +00:00
Nawaz Dhandala
b3c68df77e refactor(monitor): centralize persistence of latest monitor payload
Extract persistLatestMonitorPayload and consolidate handling of serverMonitorResponse
and incomingMonitorRequest. Ensure monitor payload updates are saved consistently
(including when there are no steps or no matching monitor step) and before writing logs.
Also clone incomingMonitorRequest via JSON to avoid mutating the original payload and
normalize debug messages.
2025-11-05 11:38:34 +00:00
Nawaz Dhandala
06d0510667 Merge branch 'master' of https://github.com/OneUptime/oneuptime 2025-11-05 11:34:28 +00:00
Nawaz Dhandala
059b7db474 fix(nginx): narrow ACME challenge location to /.well-known/acme-challenge 2025-11-05 11:30:17 +00:00
Simon Larsen
ff17d990d1 fix(scim): make Create Group idempotent — reuse existing team and return 200 when reused
- Reuse an existing team instead of throwing BadRequest on duplicate group names.
- Create a new team when not found, setting isTeamEditable/isTeamDeleteable and allowing empty groups.
- Ensure member additions operate on the resolved target team.
- Expand team select fields and fetch the team for response; return 201 for newly created teams and 200 when reusing an existing one.
2025-11-05 11:17:28 +00:00
Nawaz Dhandala
2e6658542b delete scim readme 2025-11-05 11:12:27 +00:00
Nawaz Dhandala
04a4d6e4de fix(monitor): show short-circuit note for satisfied criteria and normalize met text color
- Add notice when a criteria is satisfied under FilterCondition.Any to indicate remaining criteria were not evaluated.
- Ensure FilterCondition is imported where used.
- Change "Criteria met" text color in Logs view from green to gray for consistent summary styling.
2025-11-05 10:52:03 +00:00
Nawaz Dhandala
2f595fe490 Merge branch 'monitor-log-summary-update' 2025-11-05 10:49:48 +00:00
Nawaz Dhandala
303554d644 refactor(monitor): group identical criteria filters in EvaluationLogList, aggregate metadata & status; use NORMAL small action buttons 2025-11-05 10:49:24 +00:00
Simon Larsen
2ca45b143d Merge pull request #2083 from OneUptime/monitor-log-summary-update
Monitor log summary update
2025-11-05 10:32:57 +00:00
Nawaz Dhandala
b5722256c5 refactor(email): replace custom RFC5322 regex with Zod email validation and add early falsy check 2025-11-05 09:41:42 +00:00
Nawaz Dhandala
0d231a6132 chore(eslint): enable no-control-regex and tidy rule formatting 2025-11-05 09:38:26 +00:00
Simon Larsen
ecc1d841e2 Merge pull request #2080 from OneUptime/snyk-upgrade-ad5a46fc6886b9d33f00f95d68951c86
[Snyk] Upgrade zod from 3.25.30 to 3.25.76
2025-11-05 09:34:42 +00:00
Simon Larsen
cddf534449 Merge pull request #2081 from OneUptime/snyk-upgrade-58044c8091e4244c9346f20e7029dcbd
[Snyk] Upgrade @opentelemetry/api-logs from 0.52.1 to 0.206.0
2025-11-05 09:34:36 +00:00
Simon Larsen
a4ba662211 Merge pull request #2078 from OneUptime/snyk-upgrade-a266987590b01e591eec631cb95143b3
[Snyk] Upgrade bullmq from 5.26.2 to 5.61.0
2025-11-05 09:34:20 +00:00