10160 Commits
Author SHA1 Message Date
Alex Holliday fd33b903ed email provider 2026-01-19 19:30:46 +00:00
gorkem-bwl ab25531758 docs: fix OpenAPI spec accuracy and warnings
## Changes

### Route Corrections
- Remove non-existent `/auth/refresh` endpoint
- Add missing `/auth/users/{userId}/password` PUT endpoint
- Fix `/notifications` GET -> `/notifications/team` GET (correct path)

### OpenAPI 3.1.0 Compliance
- Fix `nullable` warnings by using `type: ["string", "null"]` syntax
- Updated Incident schema nullable fields (endTime, message, statusCode, etc.)
- Updated QueueJob schema nullable fields (processedOn, finishedOn)
- Updated Check schema nullable field (ackAt)

### Verified Against Codebase
- Audited all 76 API endpoints across 12 route files
- Confirmed DELETE /checks/team and DELETE /checks/{monitorId} exist
- All routes now match actual codebase implementation

## Validation
- Passes `swagger-cli validate`
- Only remaining warnings are cosmetic `example` deprecations
2026-01-19 14:13:18 -05:00
Alex Holliday f7f764fd68 providers 2026-01-19 18:58:17 +00:00
gorkem-bwl 3b0326457f docs: update OpenAPI specification to match current API
## Changes

### New Endpoints Added
- `/incidents/team` - Get incidents by team with filtering
- `/incidents/team/summary` - Get incident summary statistics
- `/incidents/{incidentId}` - Get incident by ID
- `/incidents/{incidentId}/resolve` - Manually resolve incident
- `/queue/jobs` (GET) - List queue jobs (admin only)
- `/queue/jobs` (POST) - Add job to queue (admin only)
- `/queue/metrics` - Get queue metrics (admin only)
- `/monitors/team/groups` - Get monitor groups by team
- `/monitors/pagespeed/details/{monitorId}` - Get PageSpeed details
- `/checks/{action}` - Acknowledge all checks for all monitors
- `/checks/{action}/{monitorId}` - Acknowledge checks for specific monitor

### Endpoints Fixed
- `/monitors/export` changed to `/monitors/export/json` (matches actual route)
- Removed non-existent `/monitors/stats/{monitorId}` endpoint
- Removed non-existent `/monitors/team/summary` endpoint
- Split optional path parameter into two valid endpoints for checks

### New Schemas Added
- `Incident` - Complete incident model
- `IncidentSummary` - Incident statistics summary
- `QueueJob` - Queue job information
- `QueueMetrics` - Queue metrics data
- `Check` - Complete check result model
- `CheckTimings` - HTTP timing information
- `CheckCpuInfo` - CPU metrics for infrastructure checks
- `CheckMemoryInfo` - Memory metrics for infrastructure checks
- `CheckDiskInfo` - Disk metrics for infrastructure checks
- `CheckHostInfo` - Host information for infrastructure checks
- `CheckErrorInfo` - Error information from checks
- `CheckCaptureInfo` - Capture agent information
- `CheckNetworkInfo` - Network interface metrics
- `CheckAudits` - PageSpeed audit results
- `LighthouseAudit` - Individual Lighthouse audit result

### Responses Added
- `BadRequest` - 400 error response

### Other Fixes
- Simplified server variables to fix OpenAPI 3.1.0 validation
- Added request body to `/checks/check/{checkId}` endpoint
- Added "incidents" tag to tags array

## Benefits
- OpenAPI specification now accurately reflects the actual API
- All endpoints have proper request/response schemas
- Validation passes with swagger-cli
- Better API documentation for consumers
2026-01-19 13:49:08 -05:00
Alex Holliday 7d6bc4b2dc notificaitons provider 2026-01-19 00:48:20 +00:00
Alex Holliday c2487f0134 alerts 2026-01-18 23:54:42 +00:00
Alex Holliday a86588f080 refactoring notifications 2026-01-18 23:38:40 +00:00
Alex Holliday 4e9839e2e5 notificationsService 2026-01-18 22:52:59 +00:00
gorkem-bwl 487f6b222d refactor: extract sidebar width logic into useSidebar hook
Create shared useSidebar hook to centralize sidebar width and transition
logic, addressing code review feedback about duplicated logic between
Sidebar and HomeLayout components.

Changes:
- Add useSidebar hook with collapsed state, width, and transition values
- Update Sidebar to use the hook instead of inline selectors and values
- Update HomeLayout to use the hook for spacer element styling

This ensures sidebar width logic is defined in one place and stays in sync.
2026-01-18 14:11:05 -05:00
Alex Holliday 391f42ee53 add webhook provider and utils 2026-01-18 16:59:38 +00:00
Alex Holliday cff5508614 notification provider 2026-01-18 16:34:20 +00:00
Alex Holliday a0ebf7d224 initial commit 2026-01-18 06:02:07 +00:00
Alexander Holliday ec9c79fc94 Merge pull request #3150 from bluewave-labs/feat/invite-repo
feat: invite-service to TS
2026-01-17 21:43:11 -08:00
Alex Holliday 3e8d4cb49b convert to ts 2026-01-18 05:38:50 +00:00
Alexander Holliday 288ac08cd6 Merge pull request #3149 from bluewave-labs/feat/user-service-ts
feat/user service ts
2026-01-17 11:09:29 -08:00
Alex Holliday ba35230919 remove db references from userService 2026-01-17 19:08:12 +00:00
Alex Holliday 048e53ea15 setting service 2026-01-17 18:29:42 +00:00
Alex Holliday e498bd60b1 team panel fix 2026-01-17 05:41:52 +00:00
gorkem-bwl a4cf53ee15 Set html/body background to black and disable overscroll bounce
- Added background-color: #000000 to prevent white flash on overscroll
- Added overscroll-behavior: none to disable elastic bounce effect
2026-01-16 22:59:25 -05:00
gorkem-bwl 3a77c6d7fa Fix sidebar gap when scrolling on pages with tall content
The sidebar was showing a visible gap at the bottom when scrolling on
pages with tall tables (e.g., /checks). This occurred because the
parent container's overflow-x: hidden was breaking sticky positioning.

Changes:
- Changed sidebar from position: sticky to position: fixed
- Added a spacer Box element to maintain layout spacing
- Moved border and background styles to the sidebar component
- Cleaned up unused CSS selectors
2026-01-16 22:26:43 -05:00
Alex Holliday b47f3710fe refactor user-service 2026-01-16 22:41:12 +00:00
Alex Holliday 9c92542653 recovery 2026-01-16 22:03:35 +00:00
Alexander Holliday 173a4e17d2 Merge pull request #3138 from bluewave-labs/fix/password-special-chars
fix: remove <> from allowed password characters and display allowed special chars
2026-01-16 13:17:12 -08:00
Alexander Holliday 70b197675e Merge pull request #3146 from bluewave-labs/fix/pagespeed-snapshot
remove pagespeed from snapshot array, full check list required
2026-01-16 13:16:37 -08:00
Alex Holliday 11dcccc085 remove pagespeed from snapshot array, full check list required 2026-01-16 21:16:05 +00:00
Alexander Holliday e3e08da259 Merge pull request #3145 from bluewave-labs/fix/pagespeed-stats
fix: stats fixes
2026-01-16 13:06:49 -08:00
Alex Holliday 6447c315ce stats fixes 2026-01-16 21:04:41 +00:00
Alex Holliday cb5b8e0673 update user refactor 2026-01-16 20:29:54 +00:00
Gorkem Cetin (BWL) f1a6afb860 Merge pull request #3133 from bluewave-labs/fix/ui-improvements-logs-incidents
Improve UI consistency for Logs and Incidents pages
2026-01-16 14:47:21 -05:00
gorkem-bwl 5c52a208b9 Fix build errors and formatting
- Replace CheckIcon SVG import with Lucide Icon component in
  LatestIncidentsPanel/index.jsx
- Format IncidentItem.jsx and StatisticsPanel.jsx with Prettier
2026-01-16 14:44:28 -05:00
gorkem-bwl 4fdc0bde5c Merge develop into fix/ui-improvements-logs-incidents
Resolve conflicts in IncidentItem.jsx and StatisticsPanel.jsx by
keeping the UI improvements from this branch while adopting the
new Lucide Icon component from develop (replacing old SVG imports).
2026-01-16 14:42:29 -05:00
Alexander Holliday 3d4ebe9588 Merge pull request #3143 from bluewave-labs/fix/responsive-layout-overflow
Fix horizontal overflow causing white space on narrow screens
2026-01-16 11:18:02 -08:00
Alex Holliday 88bb8ef2d3 Merge branch 'fix/responsive-layout-overflow' into feat/user-service-ts 2026-01-16 19:15:24 +00:00
Alex Holliday 64dc381e0f separate user from token 2026-01-16 19:14:03 +00:00
Alex Holliday af82dec2ad separate user from token 2026-01-16 19:12:21 +00:00
gorkem-bwl 62ea7b0e5b Fix horizontal overflow causing white space on narrow screens
Add overflow-x: hidden and width: 100% to .home-layout to prevent
horizontal scrollbar. Add min-width: 0 to .home-content-wrapper to
allow flexbox child to shrink below content size at narrow widths.
2026-01-16 14:09:37 -05:00
Alexander Holliday 8747c38f40 Merge pull request #3142 from bluewave-labs/fix/infra-config
infra fix
2026-01-16 10:38:57 -08:00
Alex Holliday d633fc5ccb infra fix 2026-01-16 18:37:14 +00:00
Alexander Holliday 0d7a35367f Merge pull request #3141 from bluewave-labs/feat/job-queue-ts
feat/job queue ts
2026-01-16 10:25:40 -08:00
Alex Holliday af141ec772 build fix 2026-01-16 18:25:28 +00:00
Alex Holliday 5784fec3d1 format 2026-01-16 18:17:55 +00:00
gorkem-bwl 7436c2b5df fix: remove unnecessary dateRange param now that backend defaults it 2026-01-16 13:12:00 -05:00
gorkem-bwl 2055943876 fix: make dateRange optional for hardware details endpoint
The Joi validation marks dateRange as optional, but the controller was using
requireString() which throws a 400 error when dateRange is missing.

Changed to optionalString() with "recent" as the default value, matching
the behavior of other similar endpoints and the Joi validation schema.
2026-01-16 13:11:41 -05:00
Alex Holliday 95cd33ac06 queue and buffer refactor 2026-01-16 18:11:04 +00:00
Gorkem Cetin (BWL) 2a591ee503 Merge pull request #3139 from bluewave-labs/feat/lucide-icon-migration
Migrate icons from custom SVGs and MUI to Lucide React
2026-01-16 12:50:21 -05:00
gorkem-bwl f5aa24d77e fix: rename Image import to ImageIcon to avoid conflicts 2026-01-16 07:34:03 -05:00
gorkem-bwl 7874439e4c fix: address PR review feedback for icon migration
- Use AlertCircle for error and AlertTriangle for warning icons
- Use Icon color prop instead of CSS fill for Lucide stroke-based icons
- Replace wildcard import with explicit named imports for tree-shaking
- Replace sx prop with style prop on Icon components
- Add Trash2 to Icon component imports
2026-01-16 07:31:23 -05:00
gorkem-bwl 7140d436a5 style: apply Prettier formatting 2026-01-15 23:39:26 -05:00
gorkem-bwl ba0c89fc6c feat: migrate icons from custom SVGs and MUI to Lucide React
Replace custom SVG icons and @mui/icons-material with lucide-react for consistent,
lightweight icon management across the application.

## Changes
- Add lucide-react package and remove @mui/icons-material
- Create theme-aware Icon wrapper component with color resolution
- Create iconMap.js for legacy icon name mappings
- Migrate 64 components to use new Icon component
- Remove 74 unused SVG files from assets/icons/

## Benefits
- Consistent icon API across the application
- Smaller bundle size with tree-shakeable imports
- Theme-aware color support via MUI theme paths
- Simpler maintenance with single icon library
2026-01-15 23:37:50 -05:00
gorkem-bwl d91e87f484 fix: remove <> from allowed password characters and display allowed special chars
## Changes
- Remove < and > from password regex pattern in joi.js (these chars are
  stripped by DOMPurify sanitization which caused confusing validation errors)
- Update locale strings to display the list of allowed special characters
  in password tooltip, error messages, and PasswordPanel requirements

## Benefits
- Users now see exactly which special characters are allowed when setting passwords
- Eliminates confusing "password cannot be empty" errors when using < or >
- Regex now accurately reflects the characters that actually work

Fixes #3010
2026-01-15 22:50:29 -05:00