-
-
Notifications
You must be signed in to change notification settings - Fork 288
Next/4 pre alpha #588
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Next/4 pre alpha #588
Changes from 1 commit
Commits
Show all changes
108 commits
Select commit
Hold shift + click to select a range
0d31187
clean repo for overhaul
rajnandan1 0149b3e
first commit for version 4, very unstable
rajnandan1 6b88cf1
changes
0709111
Refactor monitoring data retrieval and caching mechanisms; enhance mo…
rajnandan1 d6b68e3
Refactor monitoring components and enhance latency handling; update U…
rajnandan1 9f2ab70
changes
2dce981
changes
rajnandan1 b51fc19
changes
rajnandan1 4608b03
alerting new set up done
rajnandan1 b4aeb51
Update seed function to insert all alert templates when no templates …
rajnandan1 c4f0945
subs v1
rajnandan1 d0d8e60
changes
rajnandan1 af829fa
changes
rajnandan1 28bfd8c
refactor: simplify SubscribeMenu props and integrate subscription set…
rajnandan1 b7023b7
changes
rajnandan1 e714fe8
changes
rajnandan1 2abb266
changes
463d1c8
changes
rajnandan1 8a0e1e7
changes
rajnandan1 93f91ab
changes
c77985f
i18n
rajnandan1 8f187aa
Implement sub-menu options configuration and localization updates
rajnandan1 accdd76
changes
rajnandan1 3165567
added few apis
rajnandan1 8bd26cc
delete trigger
rajnandan1 6c15d48
new api spec
rajnandan1 d851610
Implement theme configuration and user preferences for status page
rajnandan1 00511da
changes
24872d2
changes
98c723c
changes
045ce12
Implement monitor management components including DangerZoneCard, Gen…
rajnandan1 34605fe
Remove email customization feature and related API endpoints from the…
rajnandan1 3295b7b
docs
rajnandan1 601186d
good docs
331cd5b
Refactor documentation structure and enhance monitor features with ne…
rajnandan1 e92c8a0
added docs might get modified for api monitors
4d0e135
changes
52c76fc
clean up
rajnandan1 08f72e5
Enhance monitoring functionality with new uptime calculations and ale…
rajnandan1 2d7d6a3
fixes
rajnandan1 9a0ca6c
Create alert configuration and logs pages with functionality for mana…
rajnandan1 96fd8d0
Create maintenance documentation for impact on monitoring, overview, …
rajnandan1 ba41c6f
Implement password reset functionality with email template and API en…
rajnandan1 6ed95ed
Implement user invitation system with password setup and validation
rajnandan1 6aa43fa
Implement URL resolver functions for client and server, update naviga…
rajnandan1 038c52a
base path adding
845132f
base path adding
a20125a
changes
rajnandan1 1c05e2d
style: Update LanguageSelector and ThemePlus components for improved …
rajnandan1 baa9449
refactor: Update components for improved styling and theme handling
rajnandan1 47c00c2
refactor: Replace IsLoggedInSession with GetLoggedInSession and updat…
rajnandan1 cdc0de9
refactor: Update SMTP configuration handling and improve email setup …
rajnandan1 be0745f
Initial plan
Claude 4ff1604
feat: Add documentation-writer Claude skill
Claude 7f32802
Merge pull request #575 from rajnandan1/claude/create-documentation-s…
rajnandan1 7392b96
cvcc
rajnandan1 c759ade
file clean up
rajnandan1 72a28ca
changes
rajnandan1 9e8b096
changes
rajnandan1 ee1adf8
vv
rajnandan1 228808a
stable
eed71d3
added group
8a498e9
refactor: update tooltip styles and improve component structure acros…
rajnandan1 9b99bec
Create Dockerfile and Docker Compose configurations for Kener v4 appl…
rajnandan1 c58530c
cleanup 1
rajnandan1 5f86ca2
analystic 101
rajnandan1 3208105
track: implement event tracking for user interactions across multiple…
rajnandan1 2377a4f
changes
17ed56c
changes
rajnandan1 1f370b3
changes
rajnandan1 290113d
refactor: update layout and styling for MinuteGrid and MonitorDayDeta…
rajnandan1 d99da14
sas
21f06a4
hb
rajnandan1 366c2c0
refactor: update heartbeat handling and monitoring logic, enhance UI …
rajnandan1 8fd8aa4
refactor: implement CloneMonitor functionality and enhance monitor lo…
rajnandan1 6ea045d
refactor: implement site announcement feature with management UI and …
rajnandan1 09afbbd
refactor: optimize npm installation step by removing cache mount
rajnandan1 552bdc0
refactor: enhance ping and tcp monitoring logic, improve error handli…
rajnandan1 275c9d7
changes
d1eb926
changes
444fe58
ui revamp
rajnandan1 d04ee0a
changes
rajnandan1 d170ba6
refactor: enhance documentation and improve page titles with site name
rajnandan1 5a95c81
refactor: restrict role updates in user data modification
rajnandan1 e6424b1
refactor: integrate @humanspeak/svelte-purify for enhanced HTML sanit…
rajnandan1 d758de0
refactor: enhance image upload ID generation with file extension
rajnandan1 7b3afa4
so many
rajnandan1 5989e5b
refactor: improve error handling and logging in GamedigCall, SqlCall,…
rajnandan1 14d46cb
Merge main into next/4-pre-alpha (keep overhaul changes)
rajnandan1 b088a79
refactor: update logging in analyticsEvent function and improve laten…
rajnandan1 9129e96
changes
88072b7
changes
rajnandan1 58f0e9f
refactor: remove copy current page link option and implement sharing …
rajnandan1 3aedb9b
refactor: restructure authentication flow and remove obsolete API end…
rajnandan1 9a8bf84
changes
1c485ac
go live
rajnandan1 c9c675d
changes
4b23e72
changes
rajnandan1 e5e244e
refactor: enhance MonitorBar component with layout options and improv…
rajnandan1 bf126e7
refactor: implement event display settings for incidents and maintena…
rajnandan1 1c6bed1
changes
rajnandan1 cbc48d2
docs updates
rajnandan1 585db91
refactor: enhance layout and site data handling with social preview i…
rajnandan1 339d653
delete static files
rajnandan1 50482aa
changes
rajnandan1 78bad84
refactor: update workflow to publish nightly Docker images with impro…
rajnandan1 3363e90
chore(locales): Update translations for multiple languages and add ne…
rajnandan1 9199b80
chore: Update environment variables and documentation for ORIGIN requ…
rajnandan1 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
changes
- Loading branch information
commit 2dce9814ac1c474a545667c1ba527d6172f96564
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,13 @@ | ||
| import type { Knex } from "knex"; | ||
|
|
||
| export async function up(knex: Knex): Promise<void> { | ||
| await knex.schema.alterTable("maintenance_monitors", (table) => { | ||
| table.string("monitor_impact").defaultTo("MAINTENANCE").notNullable(); | ||
| }); | ||
| } | ||
|
|
||
| export async function down(knex: Knex): Promise<void> { | ||
| await knex.schema.alterTable("maintenance_monitors", (table) => { | ||
| table.dropColumn("monitor_impact"); | ||
| }); | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -32,7 +32,32 @@ | |
|
|
||
| let { maintenance, class: className = "", hideMonitors = false }: Props = $props(); | ||
|
|
||
| const Icon = STATUS_ICON.MAINTENANCE; | ||
| const STATUS_STROKE = { | ||
| UP: "stroke-up", | ||
| DOWN: "stroke-down", | ||
| DEGRADED: "stroke-degraded", | ||
| MAINTENANCE: "stroke-maintenance", | ||
| NO_DATA: "stroke-muted-foreground" | ||
| } as const; | ||
|
|
||
| const STATUS_BORDER = { | ||
| UP: "border-up", | ||
| DOWN: "border-down", | ||
| DEGRADED: "border-degraded", | ||
| MAINTENANCE: "border-maintenance", | ||
| NO_DATA: "border-muted-foreground" | ||
| } as const; | ||
|
|
||
| // Get the highest severity impact from monitors array | ||
| function getHighestImpact(monitors: MaintenanceMonitorImpact[]): keyof typeof STATUS_ICON { | ||
| const priority: (keyof typeof STATUS_ICON)[] = ["DOWN", "DEGRADED", "MAINTENANCE"]; | ||
| for (const impact of priority) { | ||
| if (monitors.some((m) => m.monitor_impact === impact)) { | ||
| return impact; | ||
| } | ||
| } | ||
| return (monitors[0]?.monitor_impact as keyof typeof STATUS_ICON) || "MAINTENANCE"; | ||
| } | ||
|
|
||
| // Get initials from monitor name for avatar fallback | ||
| function getInitials(name: string): string { | ||
|
|
@@ -44,6 +69,12 @@ | |
| .slice(0, 2); | ||
| } | ||
|
|
||
| const highestImpact = $derived(getHighestImpact(maintenance.monitors)); | ||
| const Icon = $derived(STATUS_ICON[highestImpact]); | ||
| const strokeClass = $derived(STATUS_STROKE[highestImpact as keyof typeof STATUS_STROKE] || "stroke-maintenance"); | ||
| const borderClass = $derived(STATUS_BORDER[highestImpact as keyof typeof STATUS_BORDER] || "border-maintenance"); | ||
| const textClass = $derived("text-" + highestImpact.toLowerCase()); | ||
|
|
||
| // Check if maintenance is ongoing (current time is between start and end) | ||
| const isOngoing = $derived(() => { | ||
| const now = Date.now() / 1000; | ||
|
|
@@ -67,7 +98,7 @@ | |
|
|
||
| <Item.Root class="p-0 {className}"> | ||
| <Item.Media> | ||
| <Icon class="stroke-maintenance size-6" /> | ||
| <Icon class="size-6 {strokeClass}" /> | ||
| </Item.Media> | ||
| <Item.Content> | ||
| <div class="flex items-center gap-2"> | ||
|
|
@@ -89,7 +120,7 @@ | |
| <Popover.Root> | ||
| <Popover.Trigger> | ||
| <Avatar.Root | ||
| class="bg-background border-maintenance size-8 cursor-pointer border-2 transition-transform duration-100 ease-in-out hover:scale-[1.1] hover:border" | ||
| class="bg-background border-{monitor.monitor_impact.toLowerCase()} size-8 cursor-pointer border-2 transition-transform duration-100 ease-in-out hover:scale-[1.1] hover:border" | ||
| > | ||
| {#if monitor.monitor_image} | ||
| <Avatar.Image src={monitor.monitor_image} alt={monitor.monitor_name} class="object-cover" /> | ||
|
|
@@ -112,10 +143,11 @@ | |
| </div> | ||
| </div> | ||
| <div class="flex items-center justify-between"> | ||
| <Badge variant="outline" class="text-maintenance">MAINTENANCE</Badge> | ||
| <Button variant="outline" size="sm" href="/monitors/{monitor.monitor_tag}"> | ||
| View Monitor | ||
| <ArrowRight class="ml-1 size-3" /> | ||
| <Badge variant="outline" class="text-{monitor.monitor_impact.toLowerCase()}"> | ||
|
||
| {monitor.monitor_impact} | ||
| </Badge> | ||
| <Button variant="outline" class="rounded-btn" size="icon-sm" href="/monitors/{monitor.monitor_tag}"> | ||
| <ArrowRight class="size-3" /> | ||
| </Button> | ||
| </div> | ||
| </div> | ||
|
|
@@ -131,8 +163,8 @@ | |
| {format(new Date(maintenance.start_date_time * 1000), "PPp")} | ||
| </div> | ||
| <div class="relative flex-1 text-center"> | ||
| <div class="border-maintenance absolute top-1/2 right-0 left-0 border-t border-dashed"></div> | ||
| <span class="bg-background relative z-10 px-2 py-1">{duration()}</span> | ||
| <div class="absolute top-1/2 right-0 left-0 border-t border-solid"></div> | ||
| <span class="bg-background relative z-10 px-2 py-1 font-medium">{duration()}</span> | ||
| </div> | ||
| <div class="rounded-full border px-3 py-2"> | ||
| {format(new Date(maintenance.end_date_time * 1000), "PPp")} | ||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Svelte does not interpolate
{...}inside a quotedclass="..."string, so these will render literally asborder-{...}/text-{...}and Tailwind styles won’t apply. Useclass={...}with string concatenation (orcn(...)) to buildborder-${...}/text-${...}safely.