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

Group transactions by nonce #5886

Merged
merged 1 commit into from
Dec 9, 2018
Merged

Conversation

alextsg
Copy link
Contributor

@alextsg alextsg commented Dec 5, 2018

Fixes #5544
Fixes #5732
Fixes #5809

image
image
image

@bdresser
Copy link
Contributor

bdresser commented Dec 6, 2018

yessss @alextsg this looks awesome!!!!

@cjeria re-looking at these - kinda seems like there are 4 transactions confirmed or 3 transactions failed when really we mean four attempts, and one finally confirmed. Maybe it'd make sense to take the count/number outside the status pill so they seem less linked? (sry in advance Alex, we can also do this as a follow-up if that's a pain.)

@alextsg
Copy link
Contributor Author

alextsg commented Dec 6, 2018

@bdresser np, that won't be a huge change if we decide to do that.

@bdresser
Copy link
Contributor

bdresser commented Dec 6, 2018

Notes from kyo sync:

  • Current Etherscan button pops open the most recent tx – how do we link to Etherscan for the previous transactions? We can use the tiny little up arrow, could even link the whole line.
  • Remove the transaction counter

@cjeria
Copy link
Contributor

cjeria commented Dec 6, 2018

@alextsg @bdresser Here's an option for repositioning the attempts counter outside of the pill and adding a bit more copy for context. Thoughts?

image

@alextsg
Copy link
Contributor Author

alextsg commented Dec 6, 2018

@cjeria I'm not too sure about the "No attempts made" option because we'd have a clickable link within a clickable container, and if that can be a confusing interaction for users. Also, I kind of see Cancel being grouped together with Speed Up in terms of functionality. Would it make sense to keep them together as they were before?

@alextsg alextsg force-pushed the group-tx-by-nonce branch 2 times, most recently from 9a27ebf to d0ac065 Compare December 7, 2018 05:19
@alextsg
Copy link
Contributor Author

alextsg commented Dec 7, 2018

image
Updated to remove the transaction counter and link each activity in the activity log to Etherscan.

@cjeria
Copy link
Contributor

cjeria commented Dec 7, 2018

@alextsg

I'm not too sure about the "No attempts made" option because we'd have a clickable link within a clickable container

I agree. This was an attempt at surfacing the speed up button to address some complaints we've recently received from support tickets that some users don't see or know that they can speed up the transaction. Let's keep it as you have it for now and we'll iterate on this some more. Maybe @bahnju can take a pass at some other options for surfacing up the speed up label per tx?

Re: the clickable activity link to etherscan - is the blue highlighted activity in your screenshot a hover state? If so, I'd suggest we make the hover state solid black on hover and use a lighter grey (same color as activity icons #9B9B9B) for the default state of all activity lines and cursor:pointer to indicate it's also a link.

Also, can we lighten up the details container bg color to #FAFBFC like the designs?

image

Sorry for the nitpicks!

@alextsg
Copy link
Contributor Author

alextsg commented Dec 7, 2018

@cjeria Yeah the blue was a hover state, and sure I'll make those color changes. I welcome the nitpicks!

@alextsg
Copy link
Contributor Author

alextsg commented Dec 7, 2018

Updated:
image

Copy link
Contributor

@whymarrh whymarrh left a comment

Choose a reason for hiding this comment

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

A few small nitpicks. Some general feedback:

  • It might be good to document the new functions added to ui/app/selectors/transactions.js from now while it's still fresh
  • I skipped reading the CSS

@alextsg
Copy link
Contributor Author

alextsg commented Dec 8, 2018

Updated PR

@whymarrh
Copy link
Contributor

whymarrh commented Dec 8, 2018

LGTM

@alextsg alextsg merged commit d8ab9cc into MetaMask:develop Dec 9, 2018
@alextsg alextsg deleted the group-tx-by-nonce branch December 9, 2018 20:48
danfinlay pushed a commit that referenced this pull request Dec 11, 2018
* Adds new gas customization modal container (without content)

* Adds the content of the advanced tab - w/o chart or dynamic content - to gas customize modal.

* Use correct message key in gas-modal-page-container.component.js

* Use BEM for css in gas-modal-page-container

* Split advanced-tab-content.component.js  render() method into smaller pieces; add translations to the same file.

* Remove gas slider from advance-tab-content.component

* Add tests for advanced-tab-component.js and subcomponents.

* Improve styling of advanced-tab-content gasInput row

* Adds basic tab content to gas customizer, with styled button group (static, for now).

* Connect the gas-button-group component to redux and a live api.

* Improvements to propdefaults in button-group.component and basic-tab-content.component

* Styling fixes for gas customization advanced tab content.

* Adds gas-duck.test.js tests.

* Connects remained of the gas customization component to redux.

* Integrate gas buttons with the send screen.

* Test updates and additions for button integration with send screen.

* Adds redesign for the customize gas advanced tab.

* Adds not yet functional gas price chart.

* Gas price chart improvements, redesign, bug fixes, and set up to receive external data

* Read only connection of gas price chart to redux

* Clean up for advanced gas tab customization changes.

* Complete integration of gas chart with redux.

* Add control arrows to advanced gas tab inputs.

* Lint and unit test fixes.

* Clean up gas chart code.

* Update tests, plus some lint fixes, for gas-price-chart

* Improve data management and tests for gas-modal-page-container price estimates.

* Clean up for mmui-i11-custom-gas-price-chart branch

* Redesign of gas customization basic tab.

* Adds createSpeedUpTransaction to txController

* Connect gas price chart to gas station api.

* Adds speed up slide-in gas customization sidebar

* Update e2e tests for new gas customization modal.

* Fixes for components that break e2e gas customization tests, plus unit test updates.

* Remove gas customization integration tests (in favour of e2e tests)

* Add gas data to integration test json data set.

* Add c3 and d3 to the separate dependencies bundle.

* Make gas customization modal responsive.

* Fix "fastest" translation message; change to sentence case

* Uses more reliable api on main send screen; caches basic api results in modal

* Add loading spinners when waiting for APIs in the gas customization modal

* Modify results of API data to better fit gas chart: remove outliers, pad data

* Clear custom gas data on hiding of gas customization modal.

* Improve responsiveness of customize speed up slider.

* Final gas customization fixes

* Fix styling of send screen in extension view when hex data on.

* Replace height: 100% rule with workaround for flexbox quirks

* Fill in more Polish message translations

* Update lockfile to fix errors

npm has informed me that the lockfile has "errors":

    npm ERR! code ELOCKVERIFY
    npm ERR! Errors were found in your package-lock.json, run  npm install  to fix them.
    npm ERR!     Missing: c3@^0.6.7
    npm ERR!     Invalid: lock file's [email protected] does not satisfy d3@^5.7.0

* circleci: Disable npm audit when installing packages

Auditing packages when installing here doesn't help anyone as the summary
isn't visible and vulnerabilities don't produce a non-zero exit code. We
will have `npm audit` as an extra CI job.

* npm audit fix

* circleci: Replace nsp with npm audit

Refs #4751

* Remove beefy dependency and its usages

Refs #4768
Refs #5389

This changeset removes the beefy package that:

1. Was last published 2 yrs ago
2. Brought with it 1 moderate and 1 critical vulnerability
3. Was only used in scripts that no longer work

* npm uninstall open

* Update ganache-core to mitigate vuln

                       === npm audit security report ===

> # Run  npm install --save-dev [email protected]  to resolve 1 vulnerability
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ Moderate      │ Memory Exposure                                              │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ bl                                                           │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ ganache-core [dev]                                           │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ ganache-core > level-sublevel > levelup > bl                 │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://nodesecurity.io/advisories/596                       │
└───────────────┴──────────────────────────────────────────────────────────────┘

* Deduplicate package.json file

From `npm install`:

> npm WARN The package css-loader is included as both a dev and production dependency.
> npm WARN The package eslint-plugin-react is included as both a dev and production dependency.
> npm WARN The package file-loader is included as both a dev and production dependency.
> npm WARN The package gulp is included as both a dev and production dependency.

It's also worth noting that the Gulp version we were using was inconsistent and there is
a published v4 release on GitHub.

* Fix race condition in network controller lookup() method.

* Group transactions by nonce (#5886)

* fix formatting of 32-byte strings in personal_sign (#5878)

* Bump json-rpc-engine to v4.0.0

* Bump package lock, mostly to https links

* Improve ux for low gas price set (#5862)

* Show user warning if they set gas price below safelow minimum, error if 0.

* Properly cache basic price estimate data.

* Default retry price to recommended price if original price was 0x0

* Use mock fetch in send-new-ui integration tests.

* Show Failed transaction in the browser notification for on-chain failures (#5904)

* Changelog and version bump for 5.2.0
Gudahtt added a commit that referenced this pull request Apr 23, 2020
This state hasn't been used since #5886. The nonce we display in our UI
is now from the background, rather than queried directly from the
front-end.

This also means we save making this network call each time a pending
transaction is added, and each time the transaction list is mounted.
Gudahtt added a commit that referenced this pull request Apr 23, 2020
This state hasn't been used since #5886. The nonce we display in our UI
is now from the background, rather than queried directly from the
front-end.

This also means we save making this network call each time a pending
transaction is added, and each time the transaction list is mounted.
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.

5 participants