Comments (3)
After having talked with you guys extensively, I decided to change a lot of things.
To not cram this issue too much and having drastically changed my design after the talk, I will edit my past comment with a new outline of the process. Additionally I would like to revisit some of it as soon as we start work on #268 with some first-hand experience using it myself - I have an idea to lessen the visual load a little, if this problem should come up. We can only test and adapt however.
So lets get into it.
First of all, we have to differentiate 3 different cases of updates
- Launcher Updates - requires a restart of the launcher / Stereum application
- Node Updates - requires a restart of all services the node is running
- Services / Plug-In updates - requires a restart of the service
These three different types elements can than be further classified into:
- can be done BEFORE LOGIN -> LAUNCHER UPDATE
- can only be done AFTER LOGIN -> NODE & SERVICE UPDATES
INITIATION
To outline my basic thinking according to this: For clarity there should be a space that features all updates to conveniently access. This is what I call the Update Tab, which can be accessed by clicking the arrow button on the top bar. The arrow button will be greyed if there is no update available.
Pressing the button opens up this tab, which is separated into three different columns.
The segments feature a SEARCH FOR UPDATE button (which manually queues a search for updates) and a download button (which will be grey if no download is available). The Service section features a "download all" button specifically. The AUTO update settings (regarding potentially #286) can be changed in the settings tab.
Pressing the download button leads to a confirmation dialog stating WHAT IS updated from WHICH VERSION to WHAT VERSION and this information is presented to the user. The user is reminded what the consequence of initiating the update (Service / Launcher restart, etc.) will be after pressing confirm, which queues a task in the task manager.
-> CONSIDER SPECIAL CASE: BEFORE LOGIN LAUNCHER UPDATE and SERVICE SINGLE UPDATE addressed in the next section
NOTIFICATIONs
#General
If any update is applicable the arrow button on the right side of the top bar goes from green to red.
#Launcher Updates
BEFORE LOGIN
The user will be notified of Launcher Updates at the start up of the launcher. I will get together with @maxbehzadi82 to speak about what this could look like. I would go for something simply in one of the corners, states being "Loading Updates" / "Update available" / "No Updates available"
AFTER LOGIN
For the incredible case that user doesn't want to update the Launcher before finishing logging in, he will be reminded on the bottom with a nice message, that a Launcher upgrade is available. Additionally to the red arrow button.
#Node Updates
As seen in the image under the service update section, the user is notified of node updates via the left menu above the service updates.
This will be the main section I will return to with #268.
#Service Updates
SPECIAL QoL ENHANCEMENT FOR SERVICES: -> ### regarding INITIATION. If the user could initiate updates themselves via pressing the buttons on the services this would give him additional convenience. On top of this, services updates should be the least problematic from a steps to meltdown standpoint.
SETTINGS
Also, when we are wrapping up the first full release version, I would like to state for later reference that the Settings page should feature a block where the willing user can set the STEREUM UPDATE TRIFECTA into testing mode, potentially even restricting them from outside of testnet versions only to keep them from jumping the shark.
In the settings tab the updates could be accessed in addition to the update tab to improve navigability. I have made basic outline for this as well.
from ethereum-node.
Please review if this usable with the solution in #367
from ethereum-node.
Updated - reduced complexity for #561
Pressing the Update Button on the top....
....opens up the Update Module
As you can see Stereum Application Updates, as well as client & service updates are handled.
Pressing the button initiates the task.
from ethereum-node.
Related Issues (20)
- [FR]: Add support for more languages HOT 2
- [Improvement]: Network Selection Prompt thrown on Edit Node after accessing it too fast after load in
- [Improvement]: Client/Service Setting Page UI Improvements
- [Improvement]: Improve "Open Server Updates" button in Stereum Update Panel
- [FR]: Eigenlayer Integration
- [Improvement]: Supported Operating Systems
- [Improvement]: Estimated Time to Activation for Pending Keys HOT 1
- [Bug]: Language Switching Failure: UI Does Not Reflect Updated Locale Settings
- [Bug]: Trapped in Login Animation on Login with no Server Name
- [Bug]: Add Error Message/Resolution on Installation with invalid path
- [Bug]: SSV Network Modal - Wrong Network Displayed HOT 1
- [Bug]: SSH Key List doesn't refresh after adding new key via UI HOT 1
- [Bug]: "Don't Start Up After Installation" option broken
- [Enhancement]: Audio Test Button in Stereum Settings
- [Bug]: Persisting Value in Key Filter in Staking Page
- [Bug]: Fix Service Version Display in Logs
- [Enhancement]: Validator Client - Graffiti Display
- [Enhancement]: Validator Key Password File Visualisation in Staking Page
- [Enhancement]: Sudoless Password Config Setup Automation
- [Bug]: Suggested Fee Recipient via Input Adds Unnecessary Quotations Marks
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ethereum-node.