Openstatus www.openstatus.dev
6
fork

Configure Feed

Select the types of activity you want to include in your feed.

fix: small stuff (#1511)

authored by

Maximilian Kaske and committed by
GitHub
eb9d4948 02cb4893

+16 -11
+13 -5
apps/docs/src/content/docs/concept/uptime-calculation-and-values.mdx
··· 42 42 43 43 In simple terms: `uptime = (total time - incident duration) / total time` 44 44 45 - This means uptime is based on how long something was down, not how many checks failed. Only incident durations are included in the calculation. Temporary single-region ping failures (e.g., one location failing once) are not propagated to users - because these often don’t represent a real outage. That’s also why we recommend at least three locations per monitor for redundancy. The proportional colors in the status bar are drawn from these duration values. Hovering over a day shows both incidents and status reports, so users can explore what happened. 45 + This means uptime is based on how long something was down, not how many checks failed. Only incident durations are included in the calculation. 46 + 47 + Temporary single-region ping failures (e.g., one location failing once, sometimes this just happens) are not propagated to users - because these often don’t represent a real outage. That’s also why we recommend at least three locations per monitor for redundancy. 48 + 49 + The proportional colors in the status bar are drawn from these duration values. Hovering over a day shows both incidents and status reports, so users can explore what happened. 46 50 47 51 --- 48 52 ··· 52 56 53 57 In simple terms: `uptime = (success + degraded - error) / total requests` 54 58 55 - This is the current default mode for most openstatus users. It’s simple, data-driven, and updates immediately as new results come in. Like with duration, hover cards display incidents and status reports, giving your users a quick overview of recent events. 59 + This is the current default mode for most openstatus users. It’s simple, data-driven, and updates immediately as new results come in. 60 + 61 + Like with duration, hover cards display incidents and status reports, giving your users a quick overview of recent events. 56 62 57 63 --- 58 64 59 65 ## Manual Type 60 66 61 67 The manual type is for teams who want to **fully control what’s shown** on your status page, without relying on automatic checks. 62 - By default, your monitor is marked operational. You can then manually create and publish status reports whenever you want to reflect changes — independent of any monitoring data. 68 + By default, your monitor is marked operational. You can then manually create status reports whenever you want to reflect changes — independent of any monitoring data. 63 69 64 70 This is ideal if: 65 71 - you don’t have synthetic monitoring set up yet, 66 72 - or you’re sharing updates that aren’t tied to uptime (e.g., service degradation due to external dependencies). 67 73 68 - In this mode, all displayed uptime values and statuses come from your shared data, not from active pings. 74 + In this mode, all displayed uptime values and statuses come from your shared report data, not from active pings. 75 + 76 + In simple terms: `uptime = (total duration - status report duration) / total duration` 69 77 70 - > **Note**: the values you are defining are attached to a status page. You cannot change the per monitor. 78 + > **Note**: the values you are defining are attached to a status page. You cannot change them per monitor (for now).
+1 -1
apps/status-page/src/app/(public)/client.tsx
··· 107 107 </div> 108 108 </div> 109 109 <div className="flex gap-3"> 110 - <ThemeSelect /> 110 + <ThemeSelect className="min-w-[110px] max-w-[110px]" /> 111 111 <Input 112 112 placeholder={`Search from ${THEME_KEYS.length} themes`} 113 113 value={q ?? ""}
+1 -1
apps/status-page/src/components/status-page/floating-button.tsx
··· 260 260 </div> 261 261 <div className="space-y-2"> 262 262 <Label htmlFor="theme">Theme</Label> 263 - <ThemeSelect id="theme" className="w-full" /> 263 + <ThemeSelect id="theme" className="max-w-full" /> 264 264 </div> 265 265 <div className="space-y-2"> 266 266 <Label htmlFor="community-theme">Community Theme</Label>
+1 -4
apps/status-page/src/components/themes/theme-select.tsx
··· 33 33 34 34 return ( 35 35 <Select value={theme} onValueChange={setTheme}> 36 - <SelectTrigger 37 - className={cn("min-w-[110px] max-w-[110px]", className)} 38 - {...props} 39 - > 36 + <SelectTrigger className={cn("w-full", className)} {...props}> 40 37 <SelectValue 41 38 className="w-full" 42 39 defaultValue={theme}