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

feat: indicator for unsigned transactions within a group #1512

Open
wants to merge 28 commits into
base: main
Choose a base branch
from

Conversation

icoxxx
Copy link
Contributor

@icoxxx icoxxx commented Jan 31, 2025

Description:
Implemented logic to handle notifications for unsigned transactions within a group. Added a visual indicator displaying the number of transactions awaiting signatures in the ReadyToSign and InProgress components, along with an indicator (exclamation mark) in the TransactionGroupDetails page.

Related issue(s):
#1458

@icoxxx icoxxx self-assigned this Jan 31, 2025
@icoxxx icoxxx requested review from SvetBorislavov, yiliev0 and a team as code owners January 31, 2025 14:10
@icoxxx icoxxx requested a review from jbair06 January 31, 2025 14:10
@icoxxx icoxxx linked an issue Jan 31, 2025 that may be closed by this pull request
Copy link

codecov bot commented Jan 31, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 99.07%. Comparing base (d503ab2) to head (3b9d331).

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##             main    #1512   +/-   ##
=======================================
  Coverage   99.07%   99.07%           
=======================================
  Files         159      159           
  Lines        5954     5954           
  Branches     1094     1094           
=======================================
  Hits         5899     5899           
- Misses         52       55    +3     
+ Partials        3        0    -3     

see 3 files with indirect coverage changes

Impacted file tree graph

@icoxxx icoxxx changed the title feat: notifications for unsigned transactions within a group feat: indicator for unsigned transactions within a group Jan 31, 2025
Copy link
Member

@jbair06 jbair06 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like this, overall. I also like the counter in the 'Ready to Sign' and 'In Progress' pages indicating how many need to be signed. Good idea.

Having played with it for a bit, I think it should be slightly adjusted. Maybe we can make it a bit more subtle. How would it look if the buttons were given a red border if unsigned instead of the '!'?

And for the number indicator for how many need to be signed, move it from the far left and put it in the button like where the '!' is.

@icoxxx
Copy link
Contributor Author

icoxxx commented Feb 1, 2025

I like this, overall. I also like the counter in the 'Ready to Sign' and 'In Progress' pages indicating how many need to be signed. Good idea.

Having played with it for a bit, I think it should be slightly adjusted. Maybe we can make it a bit more subtle. How would it look if the buttons were given a red border if unsigned instead of the '!'?

And for the number indicator for how many need to be signed, move it from the far left and put it in the button like where the '!' is.

Yep, that looks better in terms of both design and code. Do you want the buttons displaying the count of unsigned transactions to have a red border as well, or only on the page showing transactions from the group (as it is now)?

@icoxxx icoxxx requested a review from jbair06 February 1, 2025 14:42
@icoxxx icoxxx force-pushed the 1458-transactions-in-a-group-need-a-visual-indication-of-sign-status branch from 01d0ca9 to 4695626 Compare February 1, 2025 14:47
@jbair06
Copy link
Member

jbair06 commented Feb 3, 2025

Yep, that looks better in terms of both design and code. Do you want the buttons displaying the count of unsigned transactions to have a red border as well, or only on the page showing transactions from the group (as it is now)?

Can you provide a screen shot of both? I think as it is now would be good, but it would be helpful to see.

@icoxxx
Copy link
Contributor Author

icoxxx commented Feb 4, 2025

Yep, that looks better in terms of both design and code. Do you want the buttons displaying the count of unsigned transactions to have a red border as well, or only on the page showing transactions from the group (as it is now)?

Can you provide a screen shot of both? I think as it is now would be good, but it would be helpful to see.

1 2

@jbair06
Copy link
Member

jbair06 commented Feb 4, 2025

I showed this to others, to get more eyes. The feedback I got was that the red is more concerning than informative.

After further discussion, the direction we want to try is undo these changes and instead separate the signed and unsigned transactions in some manner. This could be done using tabs, or some filtering method.

Another reason for this approach is to make the information we're trying to convey to be more intuitive, and not rely on documentation to explain the feature.

This also includes the number badge indicator, it won't be required, even as helpful as it is.

@icoxxx
Copy link
Contributor Author

icoxxx commented Feb 5, 2025

I showed this to others, to get more eyes. The feedback I got was that the red is more concerning than informative.

After further discussion, the direction we want to try is undo these changes and instead separate the signed and unsigned transactions in some manner. This could be done using tabs, or some filtering method.

Another reason for this approach is to make the information we're trying to convey to be more intuitive, and not rely on documentation to explain the feature.

This also includes the number badge indicator, it won't be required, even as helpful as it is.

@jbair06
Okay, I kept the design simple and added a filter for unsigned transactions, or a notification instead if all transactions are unsigned. At first, I thought about using a dropdown, but then I wondered—if i were the user would I really need one when there are only two or three (with all transactions) options

1 2 3

@jbair06
Copy link
Member

jbair06 commented Feb 6, 2025

I like this idea. Much cleaner! Let's see if we can make it even simpler: If the details page is viewed from the 'Ready to Sign' or 'In Progress' it should show only the unsigned transactions by default. the check box should then say 'Show All' and by default be unchecked. If the details page is viewed from 'History' or 'Ready to Execute', then it should just show all transactions and not have the check box.

This means you can also remove the 'All transactions are unsigned' bit. What do you think?

@icoxxx icoxxx force-pushed the 1458-transactions-in-a-group-need-a-visual-indication-of-sign-status branch from 24542c7 to 640850e Compare February 6, 2025 16:27
@icoxxx
Copy link
Contributor Author

icoxxx commented Feb 6, 2025

I like this idea. Much cleaner! Let's see if we can make it even simpler: If the details page is viewed from the 'Ready to Sign' or 'In Progress' it should show only the unsigned transactions by default. the check box should then say 'Show All' and by default be unchecked. If the details page is viewed from 'History' or 'Ready to Execute', then it should just show all transactions and not have the check box.

This means you can also remove the 'All transactions are unsigned' bit. What do you think?

@jbair06
As far as I know, TransactionGroupDetails can't be viewed from 'History' or 'Ready to Execute' they rather open the single transaction details...? Am I wrong? If that's the case, we don't need to track the previous route.
I've included the changes, and now it shows unsigned transactions by default.

@jbair06
Copy link
Member

jbair06 commented Feb 6, 2025

You are correct about 'History' and 'Ready to execute'. We may want to revisit how the transaction groups show up in 'Ready to Execute' though. If a group is 'atomic' or 'sequential', then they should only be 'ready to execute' once all are signed, and so should probably show up as a group. I'll add this to the 'atomic' transaction group issue.

@icoxxx icoxxx force-pushed the 1458-transactions-in-a-group-need-a-visual-indication-of-sign-status branch 2 times, most recently from 7df0d71 to 703f1f0 Compare February 11, 2025 09:12
@icoxxx icoxxx force-pushed the 1458-transactions-in-a-group-need-a-visual-indication-of-sign-status branch 2 times, most recently from a316fe5 to 33dbdec Compare February 12, 2025 14:55
@jbair06
Copy link
Member

jbair06 commented Feb 13, 2025

I played around with this a bit. I noticed an issue. When, as the creator, I go to the 'in progress' section, and open a transaction group, I see what appears to be all transactions are checked off as being signed ONLY if they have received ALL signatures. This includes transactions that have thresholds set up in such a way that not all signatures are actually required. Then, I clicked into a transaction, any transaction, and clicked back and was then able to see all transactions that have valid signatures now checked off.

Screen Recording 2025-02-13 at 3 03 17 PM

Signed-off-by: Hristiyan <hristiyan.valkov@limechain.tech>
Signed-off-by: Hristiyan <hristiyan.valkov@limechain.tech>
Signed-off-by: Hristiyan <hristiyan.valkov@limechain.tech>
Signed-off-by: Hristiyan <hristiyan.valkov@limechain.tech>
Signed-off-by: Hristiyan <hristiyan.valkov@limechain.tech>
Signed-off-by: Hristiyan <hristiyan.valkov@limechain.tech>
Signed-off-by: Hristiyan <hristiyan.valkov@limechain.tech>
Signed-off-by: Hristiyan <hristiyan.valkov@limechain.tech>
Signed-off-by: Hristiyan <hristiyan.valkov@limechain.tech>
Signed-off-by: Hristiyan <hristiyan.valkov@limechain.tech>
Signed-off-by: Hristiyan <hristiyan.valkov@limechain.tech>
Signed-off-by: Hristiyan <hristiyan.valkov@limechain.tech>
Signed-off-by: Hristiyan <hristiyan.valkov@limechain.tech>
Signed-off-by: Hristiyan <hristiyan.valkov@limechain.tech>
…ctionDetails

Signed-off-by: Hristiyan <hristiyan.valkov@limechain.tech>
Signed-off-by: Hristiyan <hristiyan.valkov@limechain.tech>
Signed-off-by: Hristiyan <hristiyan.valkov@limechain.tech>
Signed-off-by: Hristiyan <hristiyan.valkov@limechain.tech>
Signed-off-by: Hristiyan <hristiyan.valkov@limechain.tech>
Signed-off-by: Hristiyan <hristiyan.valkov@limechain.tech>
Signed-off-by: Hristiyan <hristiyan.valkov@limechain.tech>
Signed-off-by: Hristiyan <hristiyan.valkov@limechain.tech>
Signed-off-by: Hristiyan <hristiyan.valkov@limechain.tech>
Signed-off-by: Hristiyan <hristiyan.valkov@limechain.tech>
Signed-off-by: Hristiyan <hristiyan.valkov@limechain.tech>
Signed-off-by: Hristiyan <hristiyan.valkov@limechain.tech>
Signed-off-by: Hristiyan <hristiyan.valkov@limechain.tech>
Signed-off-by: Hristiyan <hristiyan.valkov@limechain.tech>
@icoxxx icoxxx force-pushed the 1458-transactions-in-a-group-need-a-visual-indication-of-sign-status branch from 0d5c65a to 3b9d331 Compare February 14, 2025 15:22
@icoxxx
Copy link
Contributor Author

icoxxx commented Feb 14, 2025

I played around with this a bit. I noticed an issue. When, as the creator, I go to the 'in progress' section, and open a transaction group, I see what appears to be all transactions are checked off as being signed ONLY if they have received ALL signatures. This includes transactions that have thresholds set up in such a way that not all signatures are actually required. Then, I clicked into a transaction, any transaction, and clicked back and was then able to see all transactions that have valid signatures now checked off.

Fixed and synced with main

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Transactions in a group need a visual indication of sign status
3 participants