System Activity #12
Closed
elusiveshiba
started this conversation in
Feature Idea
Replies: 3 comments
-
|
Chatting through with @SomeoneWeird and @patowens the consensus was to adjust as follows:
|
Beta Was this translation helpful? Give feedback.
0 replies
-
|
Removing the notifications side of this, can be implemented later as part of a larger notification system. |
Beta Was this translation helpful? Give feedback.
0 replies
-
|
Frontend - Dogebox-WG/dpanel#156 |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Dogebox system activity
Implementations
Frontend - Dogebox-WG/dpanel#156
Backend - Dogebox-WG/dogeboxd#152
Problem
Some critical jobs running on Dogebox can be 'lost' through a page refresh or otherwise. It can be unclear to a user that something important is in progress.
Solution
Display system jobs and other activity that's occurring in the background.
What should be included
The scope of this activity section is anything that triggers a nix rebuild, displayed in its contextual task format. For example:
Features
Role
This feature is a presenter for jobs that are already managed by the existing backend. It has no responsibility for job queue management or controlling what can run when.
Job Indicator (Navigation)
Activity Page
Mockups
Lightweight component in nav bar:

Activity page:

APIs
Endpoints
WebSocket
Job object
idstartedfinisheddisplayNameprogressstatusqueued,in_progress,completed,failed, orcancelledsummaryMessageerrorMessagelogspupIDFlow
sequenceDiagram participant DP as dpanel client participant DBX as dogeboxd server participant JM as JobManager participant WS as WebSocket participant DB as SQLite Note over DP,DBX: user initiates SSH enable DP->>DBX: EnableSSH request Note over DBX,JM: job creation DBX->>JM: Create job for SSH enable JM->>JM: assign unique jobId JM->>DB: persist job to storage JM->>WS: Emit job:created event WS-->>DP: notify new job via websocket Note over DBX,DB: perform SSH configuration DBX->>JM: Update job progress JM->>JM: update job record JM->>DB: persist job update JM->>WS: Emit job:updated event WS-->>DP: notify status changed via websocket DBX->>DBX: update nixos configuration enable SSH DBX->>DBX: trigger rebuild alt rebuild success DBX-->>DBX: rebuild success DBX->>JM: Complete job (success) JM->>JM: update job status to completed JM->>DB: persist job completion JM->>WS: Emit job:completed event WS-->>DP: notify completion via websocket else rebuild error DBX-->>DBX: rebuild failed with error DBX->>JM: Complete job (failed) JM->>JM: update job status to failed with error message JM->>DB: persist job failure JM->>WS: Emit job:failed event WS-->>DP: notify failure via websocket endDown the track
Beta Was this translation helpful? Give feedback.
All reactions