Skip to content
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

Iteration4.md #227

Merged
merged 2 commits into from
Jan 13, 2024
Merged

Iteration4.md #227

merged 2 commits into from
Jan 13, 2024

Conversation

Markup of pending updates

Signed-off-by: Danie0918 <122437870+Danie0918@users.noreply.github.com>
@Danie0918 Danie0918 self-assigned this Jul 18, 2023
@Danie0918 Danie0918 added the documentation Improvements or additions to documentation label Jul 18, 2023
@Danie0918
Copy link
Contributor Author

Danie0918 commented Jul 18, 2023

【Overview】

  • Requirement Description
  1. Enhance the account concept by integrating sending and receiving into the account overview.
  2. Allow user to manage cells.

overview

  • Requirement Contents
  1. Remove the separate levels of send and receive, and adjust the interaction between receive and send in the overview so that it is hierarchically below the overview.(Add Send,Receive under Tool in the top menu bar.)
  2. Add Address Book and Cell Management portal located next to the balance.
  3. Add locked balance display, click to view to go to the Cell Management page.

@Danie0918 Danie0918 changed the title Update PRD.md Iteration4.md Jul 18, 2023
@Danie0918
Copy link
Contributor Author

Danie0918 commented Jul 18, 2023

【Receive】

  • Requirement Description:Since receive does not involve complex operations, using pop-ups will increase ease of use and reduce page jumps.

receive

  • Requirement Contents
    [General Wallet]
  1. Receive will appear as a pop-up window and apply to the asset account.
  2. Retain the original save and download QR code image function, retain the address copy and convert address format function.
  3. Move the alert text next to the headline exclamation point and only float it when the user moves into focus.

[Hardware wallet]Replace the previous popup interaction with a button morphology change.

  1. When a hardware wallet is used, a Verify Address button is provided.
  2. Clicking the Verify button connects the wallet and provides a loading animation.
  3. When the connection fails, a retry button is provided and an error message is prompted under the button.
  4. Provides an authentication loading animation when the connection is successful, and displays an authentication button when authentication is complete.

@Danie0918
Copy link
Contributor Author

Danie0918 commented Jul 18, 2023

【Address Book】

  • Requirement Description:Due to the receive adjustments, the address book as a separate function appears in the form of a pop-up window to show can effectively reduce the page jump to facilitate user operation.

address_book

  • Requirement Contents
  1. Add All/Receiving/Change type categories and show all by default.
  2. Retain the original copy address/balance and edit description interactions.
  3. Add balance and Txs sorting, click to switch to descending, ascending and restore default sorting status in turn.Click All/Receiving/Change to restore the default sorting.

@Danie0918
Copy link
Contributor Author

Danie0918 commented Jul 18, 2023

【Send】

  • Requirement Description:Support chained transactions, add transaction confirmation page.

send

  • Requirement Contents
  1. Add "Unconfirmed outputs are allowed in this transaction." switch, default off.Closing requires recalculating the available balance as well as the maximum send amount.
  2. Add transaction confirmation page.
    • Transaction Hash:Displays the transaction hash and supports copying.
    • Details:Displays the amount, number, size, cycles, and lock time of the transaction.(When not locked, the lock time is not displayed.)
    • Topology Graph:Displays the inputs and outputs of the transaction. The full address is displayed in a floating layer when the mouse is moved over the address, and the address can be copied by clicking on it.(need to distinguish whether the state of the input cell is pending or on-chain)
    • Password:Enter password and verify it when the transaction is submitted.
    • Submit Transaction:Displays loading animation and estimated time after submission, and displays results after submission is complete.
  3. After the transaction is submitted and leaves the send page, a pop-up window is required to alert the user if the chain transaction fails or is partially successful.

@Danie0918
Copy link
Contributor Author

Danie0918 commented Jul 18, 2023

【Cell Management】

  • Requirement Description:This page will display all live cells and allows users to manage them.

cell_management

  • Requirement Contents
  1. The Cell Management page displays the number and list of live cells and allows for the management of these cells.
    • List Title:Display date, type, amount and status and support sorting.
      [Type:Cell types are recognized based on the code script of the typep script, and only the types that can be recognized by the wallet natively are supported for display.]
      [Amount:Cell declared CKB capacity.]
    • Description:Mouse over under the description of the entry can choose to click on Edit, input box to fill in the description of the content and click on the Enter or other areas after saving.Description text exceeds the length of the apostrophe instead of, mouse over the floating layer to display the full description.(User-added descriptions are retained when clearing the software cache.)
    • Operation:Support view details, lock/unlock and consume cell .(Identified non-spendable types (e.g., Nervos DAO) do not provide unlock and consume functionality.)
    • Batch operation:The user can select the cells to be manipulated by clicking on the entry or select all cells for batch manipulation.
  2. Details:Popup window showing cell's outpoint hash, lock script, type script, data and capacity.The outpoint hash supports copying and opening in a browser, and capacity displays the number of occupied and declared CKBs in a progress bar.
  3. Support locking and unlocking cells, click the pop-up window to verify the password and confirm it to execute the operation and display the loading animation.
  4. The consume cell will jump to the send page and bring in the full amount (including fees).(At this point spend defaults to destroying the cell without retaining the data, and spend will retain at least the minimum CKB capacity required for the data when sending the page.)

@Danie0918
Copy link
Contributor Author

Danie0918 commented Jul 18, 2023

【Set synchronization start block 】

  • Requirement Description:In light client mode, we can set the starting point of synchronization to reduce the synchronization time.

light-client_mode_synchronization

  • Requirement Contents
    【Import Wallet】A pop-up prompts the user to set the synchronization start block.
  1. Enter the starting block number, only positive integers are supported, and numbers are separated by commas every three digits. When the entered block height is greater than the current block, synchronization will start from the current block.
  2. Locate the first transaction in the block, click to open the CKB explorer, and bring in the first receiving address.
  3. When prompted to go to the browser after entering the block number, click to open the CKB Browser and bring up the entered block number.
  4. The block synchronization menu drops down to provide an entry point for the Set synchronization start block function, click to open the pop-up window.

【Create New Wallet】The default synchronization starts from the current block at the time of creation completion.

@Danie0918
Copy link
Contributor Author

Danie0918 commented Jul 18, 2023

【Rename the built-in CKB node 】

  • Requirement Description:default node was used to denote the internal ckb node before. There're 2 problems:
  1. Name convention of default node is not classical, typically it should be capitalized as Default Node
  2. default node is not exactly what it represents, it was meant to be the built-in ckb node. But now, the default node can be modified freely.

rename_the_built-in_ckb_node

  • Requirement Contents
  1. The default node is renamed as Internal Node and cannot be modified or deleted like Light Client Testnet node.
  2. Adjust the node ordering so that the Internal Node and Light Client Testnet node are in the first two places.

【Program for upgrading older versions】

  1. Do not change the user's default node and name.
  2. When a user has modified the built-in node, a new built-in node is added and the user-modified node is retained as a custom node.

@silySuper
Copy link

silySuper commented Jul 19, 2023

1.【Overview】contains entrances of cell management/transaction details /send pageI/recevive page ,I am confused of which one has sidebar tab entrance?
2.【Address Book】,in requirement Contents No.2 whether we need to consider when balance or Txs are same ,when we click sort button ,how to sort?
3.【Send】,what is the difference between chain send、direct send and send 3 chained-TXs,what is the relationship between chain send and send 3 chained-TXs?

@Danie0918
Copy link
Contributor Author

1.【Overview】contains entrances of cell management/transaction details /send pageI/recevive page ,I am confused of which one has sidebar tab entrance?

The original send pageI/receive page, which had an entry in the sidebar, has been removed in this version.

2.【Address Book】,in requirement Contents No.2 whether we need to consider when balance or Txs are same ,when we click sort button ,how to sort?

With the same parameters, it is sorted according to the default sorting which is time descending.

3.【Send】,what is the difference between chain send、direct send and send 3 chained-TXs,what is the relationship between chain send and send 3 chained-TXs?

Chain send and direct send are two different options for sending, chain send adds the transaction to the chain and direct send send sends it directly.And send 3 chained-TXs already existing chained transactions, providing a push-button action to help submit those transactions.

@Danie0918
Copy link
Contributor Author

Adjustments have been made according to the content of the meeting:

  1. [Overview] Add additional supplement "Add Send,Receive under Tool in the top menu bar."
  2. [Address Book] add interactive description "Click All/Receiving/Change to restore the default sorting."
  3. [Send] Adjusted the chain transaction flow and some texts.
  4. [Cell Management] added some instructions and adjusted the process of consuming cells.
  5. [Set synchronization start block] added additional entries and adjusted some texts.
  6. [Rename the built-in CKB node] Removed the interaction related to setting the default node.

@Kirl70
Copy link

Kirl70 commented Aug 10, 2023

UI Design Draft:

Magickbase/visual-style-guide#31

@Danie0918
Copy link
Contributor Author

Danie0918 commented Oct 23, 2023

【Network settings optimization 】Support for light client main network and optimization of known issues.

  • Requirement Description:
  1. [Bug] Currently there is no restriction on linking users to external nodes here, need to add restrictions like light client nodes.
  2. [Feature] Support for light client main network.
  3. [Feature] Supports main/test network switching for built-in node and light client node.

network_settings_optimization

  • Requirement Contents
  1. Internal node and light client node support manual switching between main and test network by clicking to switch to the corresponding network.
  2. When the currently selected node is an internal node, a popup window is required to report an error when an external node is detected to be enabled.
  • When no external network is added, a pop-up prompt directs the user to add a network to enable the external node.
  • When external nodes have been added, a list of external nodes is displayed for the user to select, and the user can also choose to add new network nodes.
  1. Pop-up window interactions:
  • Pop-ups are only detected as alerts when the user opens the software or when switching to an internal network node.
  • Click to cancel ignoring alerts and still link internal network nodes.
  • Click Confirm only when selecting an external network node or the Add Network option.

@Danie0918
Copy link
Contributor Author

【Optimization of hot/cold combinations for wallets】

  • Requirement Description:The combination of hot/cold in the wallet is not smooth and the workflow needs to be optimized.

optimization_of_hot_cold_combinations_for_wallets

  • Requirement Contents
  1. Offline signing is not being supported to import signed transactions and to close the pop-up window when the signature is complete.
  2. Added broadcast transaction:
  • Unable to select when offline, support for watch-only account broadcasting.
  • The broadcast shows the loading status and jumps to history when finished.
  1. Pop-up window alert:
  • Import signed transaction files in Offline Signature.
  • Import unsigned transaction files in broadcast transaction.

@Danie0918
Copy link
Contributor Author

【Same wallet import optimization】

  • Requirement Description:Currently users can import the same wallet multiple times, which increases the complexity of management and needs to be optimized.

same_wallet_import_optimizationsame_wallet_import_optimization

  • Requirement Contents
  1. Importing duplicate wallets is no longer supported. When importing a duplicate wallet, the user is prompted to select an existing wallet to replace or cancel the import.
  2. For users with the same wallet, a pop-up window prompts the user after updating the software and no longer pops up after the user closes or operates it.
  • The pop-up window displays the same wallets grouped in the order of the existing wallets and provides a radio option for the user to select the wallets to be retained in each group.
  • After selecting the wallets to keep, the user clicks Confirm to delete the unselected wallets in the same group.
  • When no wallet is selected for the same grouping, no operations are performed on that group's wallets.
  • The user may choose to operate and confirm only a portion of the grouped reserved wallets, but may not click to confirm without selecting any wallets.
  1. Settings - Wallets Add option to detected duplicate wallets:
  • This option is only available if the same wallet exists.
  • Click to bring up the Detect Duplicate Wallet pop-up and proceed.

@Danie0918
Copy link
Contributor Author

Danie0918 commented Oct 23, 2023

【Optimize the setting of sync start block in light client mode】

  • Requirement Description:When the block number set by the user is after the historical transaction block number, then the historical transaction will not be synchronized, but displaying 100% synchronization can be misleading to the user.

optimize_the_setting_of_sync_start_block_in_light_client_mode

  • Requirement Contents
  1. Add a strong prompt when setting the starting block number and require 5 seconds before clicking to confirm the operation.
  2. When the set block number is larger than the latest block number, an error is reported prompting the user and making the Confirm button unavailable.
  3. Add manually set starting block in the Synchronization dropdown box to support opening the corresponding block in the Explorer.
  4. When the re-entered block number is smaller than before, the user needs to be prompted that it will be re-synchronized and provided with a 5-second confirmation.

@Danie0918
Copy link
Contributor Author

【Optimize the receive page interaction】

  • Requirement Description:There is no clear boundary between QR code and address string, so the button to copy QR code would be considered the button to copy address string.

optimize_the_receive_page_interaction

  • Requirement Contents
  1. Show actions when mouse over the QR code instead of adding a button next to it.
  2. After clicking Copy, it shows that it has been copied.

@Danie0918
Copy link
Contributor Author

Danie0918 commented Oct 23, 2023

【Show estimation of synchronization metrics on Neuron's page】

  • Requirement Description:Full node synchronization requires a large amount of disk space and a long synchronization time, so the estimated metrics data is helpful for users.

show_estimation_of_synchronization_metrics_on_neuron_s_page

  • Requirement Contents
  1. The disk space sets timed tasks to update the data each time a new version is released.
  2. Click Set Path or the Set Path popup appears when synchronizing for the first time.
  3. Add Insufficient disk space prompt:
  • 'Insufficient disk space' pop-up alert, only once per software run.
  • After setting the new disk path, you can click the Migrate Data button.
  • After clicking Migrate Data, migrate the data, close the pop-up window and restart the synchronization.
  • Click Cancel to close the pop-up and not prompt on this run.

New Requirement Contents:

  1. Add "Time Remaining" to synchronization (Display format Hours: Minutes: Seconds)
  2. Eliminate the Refresh Complete popup and add the status to the button.

@yanguoyu

This comment was marked as duplicate.

@yanguoyu

This comment was marked as duplicate.

@silySuper
Copy link

what is the meaning of this tip?
截屏2023-10-27 15 39 05

@Danie0918
Copy link
Contributor Author

what is the meaning of this tip? 截屏2023-10-27 15 39 05

This is to remind the user that setting the synchronization start block will affect the synchronization of historical data, so as to avoid the user from setting too high a block that will result in missing data for the user.

Update Iteration 4 requirements and improve documentation.

Signed-off-by: Danie0918 <122437870+Danie0918@users.noreply.github.com>
@Danie0918 Danie0918 merged commit c94fbf6 into main Jan 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

4 participants