1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-11-29 07:16:36 +01:00
Commit Graph

9724 Commits

Author SHA1 Message Date
Erik Marks
2ec844e019 Fix batch transaction UX (#7473)
* order transactions from oldest to newest in UI

* update json-rpc-engine, eth-json-rpc-middleware

* update e2e and integration tests
2020-01-10 11:10:35 -04:00
Dan J Miller
7b8e87e32a Fix gas estimate for tokens (#7753)
* Make gas estimate update on debounced token amount change, not just on blur after change

* Updated tests

* Ensure `updateGas` is bound early

Co-authored-by: Mark Stacey <markjstacey@gmail.com>
2020-01-10 11:03:59 -04:00
MetaMask Bot
77b42c4f4b Version v7.7.2 2020-01-10 14:57:42 +00:00
Dan Finlay
70bbb689d0
Merge pull request #7635 from MetaMask/Version-v7.7.1
Version v7.7.1 RC
2019-12-09 10:22:45 -08:00
Mark Stacey
6ce3bd8372 Update changelog for v7.7.1
This includes the changelog for v7.7.0, which is included with the
label `[WITHDRAWN]` to denote that it was rolled back.
2019-12-05 16:27:08 -04:00
MetaMask Bot
28ecc6c349 Version v7.7.1 2019-12-05 16:27:08 -04:00
Whymarrh Whitby
d605fa57ce Use localized messages for NotificationModal buttons (#7558) 2019-12-05 16:27:08 -04:00
Mark Stacey
cb472edfe4 Fix a typo made comparing previous prop (#7628)
The prop `prevIsAccountMenuOpen` was referenced in `prevProps`, despite
it not existing. It seems clear from the context that the intention
was to check the `isAccountMenuOpen` prop from `prevProps`, and name
the local variable `prevIsAccountMenuOpen`.
2019-12-05 16:27:08 -04:00
Xavier Maysonnave
f72070ae0d Process URL fragment for ens-ipfs redirects (#7604)
Also use app.ens.domains instead of manager.ens.domains
2019-12-05 16:27:08 -04:00
Mark Stacey
77449923c3 Prevent redux state mutation (#7598)
The `txParams` property of a transaction in Redux state was being
mutated. The mutation is now prevented with a shallow clone.
2019-12-05 16:27:08 -04:00
Dan J Miller
ff6b254a9b Ensures the tx controller + state-manager orders transactions as received (#7484)
* Ensures the tx controller + tx-state-manager orders transactions in the order they are received

* Handle transaction ordering in cases where tx ids are off by more than 1 in tx-state-manager

* Add comment to addUnapprovedTransaction explaining calling _determineTransactionCategory after generateTxMeta

* Sort txes by timestamp of creation instead of id
2019-12-05 16:27:08 -04:00
Whymarrh Whitby
ddcf8f9de7 Construct AppStateController with the persisted initial state 2019-12-05 16:27:08 -04:00
Whymarrh Whitby
9e6d401c2f Don't overwrite state when setting inactive timeout
Using `#putState` here was clearing the other fields in the store.
2019-12-05 16:27:08 -04:00
Whymarrh Whitby
c6259f6eb5 Fix accessibility of first-time-flow terms checkboxes (#7501) 2019-12-05 16:27:08 -04:00
ryanml
e673bfb25c Fixing hardware connect error display (#7519) 2019-12-05 16:27:08 -04:00
Bruno Barbieri
5798a9e5f1 Fix chainId for non standard networks (#7502) 2019-12-05 16:27:08 -04:00
Whymarrh Whitby
4190b397d1 Remove unused onClick prop from Dropdown component (#7500) 2019-12-05 16:27:08 -04:00
Thomas
767f8ec52f Finish test description 2019-12-05 16:27:08 -04:00
Thomas
42813508bc Update Gas when asset is changed 2019-12-05 16:27:08 -04:00
Thomas
9295155620 Change component props from string to object and associated tests to mimic actual in-use component
Add test to updateGas when asset is changed
2019-12-05 16:27:08 -04:00
ricky
aeafc1e8bc Add overflow hidden (#7488) 2019-12-05 16:27:08 -04:00
Mark Stacey
466ece4588 Revert "Merge pull request #7599 from MetaMask/Version-v7.7.0" (#7648)
This reverts commit 1110287fe1, reversing
changes made to 72eb233ee9.
2019-12-05 10:23:43 -10:00
Dan Finlay
1110287fe1
Merge pull request #7599 from MetaMask/Version-v7.7.0
Version v7.7.0 RC
2019-12-03 10:22:40 -08:00
Dan Miller
4100c1c104 Update changelog for v7.7.0 2019-12-03 13:39:25 -04:00
MetaMask Bot
ff85173329 Version v7.7.0 2019-12-03 13:39:25 -04:00
Dan Finlay
76b1699621 Connect distinct accounts per site (#7004)
* add PermissionsController

remove provider approval controller
integrate rpc-cap
create PermissionsController
move provider approval functionality to permissions controller
add permissions approval ui, settings page
add permissions activity and history
move some functionality to metamask-inpage-provider
rename siteMetadata -> domainMetadata

add accountsChange notification to inpage provider
move functionality to inpage provider
update inpage provider
Remove 'Connections' settings page (#7369)
add hooks for exposing accounts in settings
rename unused messages in non-English locales

Add external extension id to metadata (#7396)

update inpage provider, rpc-cap
add eth_requestAccounts handling to background
prevent notifying connections if extension is locked
update inpage provider
Fix lint errors
add migration
review fixes
transaction controller review updates
removed unused messages

* Login Per Site UI (#7368)

* LoginPerSite original UI changes to keep

* First commit

* Get necessary connected tab info for redirect and icon display for permissioned sites

* Fix up designs and add missing features

* Some lint fixes

* More lint fixes

* Ensures the tx controller + tx-state-manager orders transactions in the order they are received

* Code cleanup for LoginPerSite-ui

* Update e2e tests to use new connection flow

* Fix display of connect screen and app header after login when connect request present

* Update metamask-responsive-ui.spec for new item in accounts dropdown

* Fix approve container by replacing approvedOrigins with domainMetaData

* Adds test/e2e/permissions.spec.js

* Correctly handle cancellation of a permissions request

* Redirect to home after disconnecting all sites / cancelling all permissions

* Fix display of site icons in menu

* Fix height of permissions page container

* Remove unused locale messages

* Set default values for openExternalTabs and tabIdOrigins in account-menu.container

* More code cleanup for LoginPerSite-ui

* Use extensions api to close tab in permissions-connect

* Remove unnecessary change in domIsReady() in contentscript

* Remove unnecessary private function markers and class methods (for background tab info) in metamask-controller.

* Adds getOriginOfCurrentTab selector

* Adds IconWithFallback component and substitutes for appropriate cases

* Add and utilize font mixins

* Remove unused  method in disconnect-all.container.js

* Simplify buttonSizeLarge code in page-container-footer.component.js

* Add and utilize getAccountsWithLabels selector

* Remove console.log in ui/app/store/actions.js

* Change last connected time format to yyyy-M-d

* Fix css associated with IconWithFallback change

* Ensure tracked openNonMetamaskTabsIDs are correctly set to inactive on tab changes

* Code cleanup for LoginPerSite-ui

* Use reusable function for modifying openNonMetamaskTabsIDs in background.js

* Enables automatic switching to connected account when connected domain is open

* Prevent exploit of tabIdOriginMap in background.js

* Remove unneeded code from contentscript.js

* Simplify current tab origin and window opener logic using remotePort listener tabs.queryTabs

* Design and styling fixes for LoginPerSite-ui

* Fix permissionHistory and permission logging for eth_requestAccounts and eth_accounts

* Front end changes to support display of lastConnected time in connected and permissions screens

* Fix lint errors

* Refactor structure of permissionsHistory

* Fix default values and object modifications for domain and permissionsHistory related data

* Fix connecting to new accounts from modal

* Replace retweet.svg with connect-white.svg

* Fix signature-request.spec

* Update metamask-inpage-provider version

* Fix permissions e2e tests

* Remove unneeded delay from test/e2e/signature-request.spec.js

* Add delay before attempting to retrieve network id in dapp in ethereum-on=.spec

* Use requestAccountTabIds strategy for determining tab id that opened a given window

* Improve default values for permissions requests

* Add some message descriptions to app/_locales/en/messages.json

* Code clean up in permission controller

* Stopped deep cloning object in mapObjectValues

* Bump metamask-inpage-provider version

* Add missing description in app/_locales/en/messages.json

* Return promises from queryTabs and switchToTab of extension.js

* Remove unused getAllPermissions function

* Use default props in icon-with-fallback.component.js

* Stop passing  to permissions controller

* Delete no longer used clear-approved-origins modal code

* Remove duplicate imports in ui/app/components/app/index.scss

* Use URL instead of regex in getOriginFromUrl()

* Add runtime error checking to platform, promise based extension.tab methods

* Support permission requests from external extensions

* Improve font size and colour of the domain origin on the permission confirmation screen

* Add support for toggling permissions

* Ensure getRenderablePermissionsDomains only returns domains with exposedAccount caveat permissions

* Remove unused code from LoginPerSite-ui branch

* Ensure modal closes on Enter press for new-account-modal.component.js

* Lint fix

* fixup! Login Per Site UI (#7368)

* Some code cleanup for LoginPerSite

* Adds UX for connecting to dapps via the connected sites screen (#7593)

* Adds UX for connecting to dapps via the connected sites screen

* Use openMetaMaskTabIds from background.js to determine if current active tab is MetaMask

* Delete unused permissions controller methods

* Fixes two small bugs in the LoginPerSite ui (#7595)

* Restore `providerRequest` message translations (#7600)

This message was removed, but it was replaced with a very similar
message called `likeToConnect`. The only difference is that the new
message has "MetaMask" in it. Preserving these messages without
"MetaMask" is probably better than deleting them, so these messages
have all been restored and renamed to `likeToConnect`.

* Login per site no sitemetadata fix (#7610)

* Support connected sites for which we have no site metadata.

* Change property containing subtitle info often populated by origin to a more accurate of purpose name

* Lint fix

* Improve disconnection modal messages (#7612)

* Improve disconnectAccountModalDescription and disconnectAllModalDescription messages

* Update disconnectAccountModalDescription app/_locales/en/messages.json

Co-Authored-By: Mark Stacey <markjstacey@gmail.com>

* Improve disconnectAccount modal message clarity

* Adds cancel button to the account selection screen of the permissions request flow (#7613)

* Fix eth_accounts permission language & selectability (#7614)

* fix eth_accounts language & selectability

* fix MetaMask capitalization in all messages

* Close sidebar when opening connected sites (#7611)

The 'Connected Sites' button in the accounts details now closes the
sidebar, if it is open. This was accomplished by pulling the click
handler for that button up to the wallet view component, where another
button already followed a similar pattern of closing the sidebar.

It seemed confusing to me that one handler was in the `AccountsDetails`
container component, and one was handed down from above, so I added
PropTypes to the container component.

I'm not sure that the WalletView component is the best place for this
logic, but I've put it there for now to be consistent with the add
token button.

* Reject permissions request upon tab close (#7618)

Permissions requests are now rejected when the page is closed. This
only applies to the full-screen view, as that is the view permission
requests should be handled in. The case where the user deals with the
request through a different view is handled in #7617

* Handle tab update failure (#7619)

`extension.tabs.update` can sometimes fail if the user interacts with
the tabs directly around the same time. The redirect flow has been
updated to ensure that the permissions tab is still closed in that
case. The user is on their own to find the dapp tab again in that case.

* Login per site tab popup fixes (#7617)

* Handle redirect in response to state update in permissions-connect

* Ensure origin is available to permissions-connect subcomponents during redirect

* Hide app bar whenever on redirect route

* Improvements to handling of redirects in permissions-connect

* Ensure permission request id change handling only happens when page is not null

* Lint fix

* Decouple confirm transaction screen from the selected address (#7622)

* Avoid race condtion that could prevent contextual account switching (#7623)

There was a race condition in the logic responsible for switching the
selected account based upon the active tab. It was asynchronously
querying the active tab, then assuming it had been retrieved later.

The active tab info itself was already in the redux store in another
spot, one that is guaranteed to be set before the UI renders. The
race condition was avoided by deleting the duplicate state, and using
the other active tab state.

* Only redirect back to dapp if current tab is active (#7621)

The "redirect back to dapp" behaviour can be disruptive when the
permissions connect tab is not active. The purpose of the redirect was
to maintain context between the dapp and the permissions request, but
if the user has already moved to another tab, that no longer applies.

* Fix JSX style lint errors

* Remove unused state
2019-12-03 13:39:25 -04:00
Whymarrh Whitby
bb4c4189fb eslint: Enable more react/jsx-* rules (#7592) 2019-12-03 13:39:25 -04:00
Whymarrh Whitby
718f0010a4 Enable react/no-unused-state rule for ESLint (#7609)
* eslint: Enable react/no-unused-state rule
* Fix unused state issues
* Remove now unused validFileImport localized message
2019-12-03 13:39:25 -04:00
Whymarrh Whitby
04064d5d19 Enable no-var rule for ESLint (#7590)
* eslint: Enable no-var rule
* yarn lint --fix
2019-12-03 13:39:25 -04:00
Erik Marks
c7f320b087 add locale fix script (#7580) 2019-12-03 13:39:25 -04:00
Whymarrh Whitby
f61b068bd2
Drop eslint-disable and TODO comments from Modal component (#7589) 2019-11-28 13:38:31 -03:30
Whymarrh Whitby
13a1de061d
Allow translation keys to be in single- or double-quotes (#7588) 2019-11-27 18:50:00 -03:30
Whymarrh Whitby
cfd041b364
Convert modals to use JSX (#7566) 2019-11-27 18:49:48 -03:30
Whymarrh Whitby
867dcc48ee
Clean up Item JSX (#7584) 2019-11-27 15:49:38 -03:30
Whymarrh Whitby
359be03db8
Split DepositEtherModal into container and component files (#7565) 2019-11-27 12:44:02 -03:30
Whymarrh Whitby
926c8848f1
Enable default-case rule for ESLint (#7572)
* eslint: Enable default-case rule

* Fix missing default cases

* Fix tests failing due to incorrect assumptions
2019-11-27 12:38:35 -03:30
Whymarrh Whitby
629e5501a1
Mark onClick prop as not required for DraggableSeed (#7583) 2019-11-27 12:37:41 -03:30
Whymarrh Whitby
9a1c7e3864
Convert Network component to use JSX (#7564) 2019-11-27 11:37:06 -03:30
Whymarrh Whitby
baa5313d21
Convert NetworkDropdown component to use JSX (#7562) 2019-11-27 11:36:46 -03:30
Whymarrh Whitby
f0e5ab6c12
Split ExportPrivateKeyModal into container and component files (#7561) 2019-11-27 11:36:31 -03:30
Whymarrh Whitby
00060d787a
Split TokenCell into container and component files (#7560) 2019-11-27 11:36:12 -03:30
Dan J Miller
724bd42e2c
Ensures the tx controller + state-manager orders transactions as received (#7484)
* Ensures the tx controller + tx-state-manager orders transactions in the order they are received

* Handle transaction ordering in cases where tx ids are off by more than 1 in tx-state-manager

* Add comment to addUnapprovedTransaction explaining calling _determineTransactionCategory after generateTxMeta

* Sort txes by timestamp of creation instead of id
2019-11-27 09:28:03 -03:30
ricky
4a59fb432f
Fix backButtonAction proptype (#7578)
* Fix backButtonAction proptype

* Fix missing trailing comma

* Remove no-op
2019-11-26 17:44:33 -05:00
Thomas Huang
cd9ef4ced4
Merge pull request #7581 from whymarrh/fix-app-state-controller
Construct AppStateController with the persisted initial state
2019-11-26 14:00:21 -08:00
Thomas Huang
5e34eeff96
Merge pull request #7579 from whymarrh/fix-dai-notification
Don't overwrite state when setting inactive timeout
2019-11-26 13:47:55 -08:00
Whymarrh Whitby
c3a1a35f7d Construct AppStateController with the persisted initial state 2019-11-26 17:55:12 -03:30
Whymarrh Whitby
c044400a7e Don't overwrite state when setting inactive timeout
Using `#putState` here was clearing the other fields in the store.
2019-11-26 17:25:01 -03:30
ricky
e39485cb1c
Fix loading prop type (#7563) 2019-11-25 13:15:12 -05:00
Whymarrh Whitby
e2d6798673
Split EthBalance into container and component files (#7557)
Co-Authored-By: Mark Stacey <markjstacey@gmail.com>
2019-11-25 11:58:21 -03:30
Whymarrh Whitby
921134bad1
Convert ConfirmTxScreen component to use JSX (#7559) 2019-11-25 10:03:30 -03:30