| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
| |
Support defaulting any monitor option at group level:
- expected_content, body (HTTP/HTTPS)
- ping_count (ICMP)
- dns_server, record_type (DNS)
- graphql_query, graphql_variables (GraphQL)
- db_type (Database)
Only name, type, target, link, reset_on_next_check, expected_ips,
and expected_cname remain monitor-specific (not defaultable).
|
| |
|
|
|
|
|
|
|
| |
Add support for setting these options at group level:
- hide_ssl_days, hide_ping, round_response_time, round_uptime
- method, user_agent, headers, expected_status
This allows configuring common settings once per group instead of
repeating them on every monitor.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
- Default to dark mode by setting class="dark" on html element
- Move theme CSS before external stylesheet to prevent flash
- Only remove dark class if light mode is explicitly preferred
- Add !important to theme variable overrides for precedence
|
| |
|
|
|
|
|
| |
Move theme detection script to the very top of <head>, before any
stylesheets load. This ensures the 'dark' class is added to <html>
before the browser starts rendering with CSS, eliminating the flash
of unstyled/wrong-theme content.
|
| |
|
|
|
|
|
|
| |
Match the same selectors used in GenerateCSS():
- Light mode: :root, :root.light
- Dark mode: :root.dark
This ensures the override specificity matches the theme variable definitions.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of trying to override individual Tailwind classes (which was
fragile and incomplete), now properly override Kaze's root CSS variables
(--bg-primary, --status-ok, etc.) to use OpenCode theme values.
This works because style.css already maps all Tailwind classes to these
CSS variables, so overriding the variables automatically themes everything.
The theme flow is now:
1. OpenCode theme defines: --theme-background, --theme-success, etc.
2. Override CSS redefines: --bg-primary = var(--theme-background), etc.
3. style.css classes use: background: var(--bg-primary), etc.
This approach is much cleaner and ensures complete, consistent theming.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Rewrite Tailwind class overrides to be much more comprehensive and accurate:
- Page backgrounds (main, panels, cards, badges)
- All text colors (primary, muted, status-specific)
- Border colors and dividers
- Status colors for all states (up, degraded, down, unknown)
- Status banners with proper color-mixed backgrounds
- Interactive hover states (group headers, monitor cards)
- SVG icon colors
- Tooltip styling with theme colors
- Status indicator dots with proper colors
Uses color-mix() for subtle background tints on status banners.
Targets exact Tailwind classes used in the actual HTML output.
|
| |
|
|
|
|
|
|
|
| |
Update theme parser to handle both OpenCode theme formats:
1. Dual-mode: {"dark": "color", "light": "color"} - opencode.json
2. Single-color: "color" - ayu.json and other dark-only themes
When a single color is provided, use it for both light and dark modes.
Fixes parsing error when loading themes like ayu.json.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add support for loading and applying OpenCode-compatible themes via URL.
Fetches theme JSON, resolves color references, generates CSS variables
and Tailwind class overrides to apply the theme seamlessly.
Features:
- Add theme_url config field under site section
- Fetch and parse OpenCode theme.json format
- Generate CSS custom properties (--theme-*) for all theme colors
- Generate Tailwind class overrides to apply theme colors
- Support both light and dark modes
- Template.CSS type for safe CSS injection
Example usage:
site:
theme_url: "https://raw.githubusercontent.com/anomalyco/opencode/.../opencode.json"
Theme schema: https://opencode.ai/theme.json
|
| |
|
|
|
|
|
|
|
|
| |
Previously, monitors with the same name in different groups would fail
validation. This restriction has been removed to allow duplicate names
across groups, restoring the original behavior.
Note: Monitors with duplicate names will share the same data in the
database since MonitorName is used as the identifier. A future
enhancement could use group+name as a composite key.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add three new monitor types with full support:
- ICMP: Ping monitoring with configurable packet count, tracks packet
loss and average RTT. Marks degraded on partial packet loss.
- DNS: DNS resolution monitoring supporting A, AAAA, CNAME, MX, and TXT
records. Optional custom DNS server and validation of expected IPs/CNAME.
- GraphQL: GraphQL endpoint monitoring with query execution, variable
support, error detection, and content validation.
All new monitors include retry support, response time tracking, and
integrate with existing display options (round_response_time, etc).
GraphQL monitors also support SSL certificate tracking.
|
| |
|
|
|
|
| |
Add monitor-level option to disable hover tooltips on individual ping bars.
Can be set at group defaults or per-monitor. When enabled, visual appearance
remains unchanged but tooltips no longer appear on hover.
|
| |
|
|
|
|
| |
Use line-based approach instead of YAML unmarshal/marshal to prevent
config file rewriting with zero values. This ensures monitors that omit
fields like interval and timeout continue to inherit from group defaults.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
hide/round options
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|