* Build beta with mv3 enabled
* Ensure firefox manifest is an mv2 version
* Revert "Ensure firefox manifest is an mv2 version"
This reverts commit fed74792b0fec33c3a85f2229eb560559d37afe5.
* Only create beta builds for the chrome platform
* Stop linting firefox for beta
* feat: add yaml feature management
Add yaml feature file per build type.
Also add method to parse yaml and set
enabled features env to true. The build
process will then replace any process.env[feature]
that exists on the config by its value
* chore: add example for desktop
* Added initial draft of build features
* [TMP] Sync between computers
* Is able to succesfully build stable extension with snaps feature
* Removing var context from builds.yml
* Add asssets to builds.yml
* Minor bug fixes and removing debug logs
* [WIP] Test changes
* Removed TODOs
* Fix regession bug
Also
* remove debug logs
* merge Variables.set and Variables.setMany with an overload
* Fix build, lint and a bunch of issues
* Update LavaMoat policies
* Re-add desktop build type
* Fix some tests
* Fix desktop build
* Define some env variables used by MV3
* Fix lint
* Fix remove-fenced-code tests
* Fix README typo
* Move new code
* Fix missing asset copy
* Move Jest env setup
* Fix path for test after rebase
* Fix code fences
* Fix fencing and LavaMoat policies
* Fix MMI code-fencing after rebase
* Fix MMI code fencing after merge
* Fix more MMI code fencing
---------
Co-authored-by: cryptotavares <joao.tavares@consensys.net>
Co-authored-by: Frederik Bolding <frederik.bolding@gmail.com>
Co-authored-by: Brad Decker <bhdecker84@gmail.com>
The mobile sync feature has been removed. It has been disabled for
years. When we enable sync again, it will be using a different
implementation. This has already been removed on the mobile side.
Sentry console logs were failing with the error "Error: TypeError:
Cannot read properties of undefined (reading 'log')". This error has
been fixed; now Sentry can log errors to the console.
Co-authored-by: legobeat <109787230+legobeat@users.noreply.github.com>
* UX: Multichain: Account Menu List
* Move to using stylesheet
* Add hover state
* Implement George's suggestions
* Add connected site avatar
* Add hardware tag
* Create story for selected hardware item
* Progress on the AccountListItemMenu
* Add story for AccountListItemMenu
* Better position the account menu
* Fix AvatarFavicon missing name prop
* Update menu options label to be account specific
* Update text of 'View on Explorer'
* Add AccountListMenu component
* Move all items to multichain directory
* Fix paths
* Fix linting, use AvatarIcon
* Add title and close button to account menu
* Center the popover title
* Add search functionality
* Implementation WIP
* Add MULTICHAIN feature flag
* Add MULTICHAIN feature flag, add actions for menu items
* Properly dispatch events
* Fix search box padding
* Fix sizing of menu item text
* Fix isRequired
* Fix alignment of the popover
* Update label for hardware wallet items, add text for no search results
* Update keyring retreival to remove account and add label
* Fix storybook
* Fix double link click issue, prevent wrapping of values
* Use labelProps for tag variant
* Restructure item menu story
* Empower storybooks for all new components
* Allow only 3 decimals for currencies
* Avoid inline styles
* Prefix classes with multichain, fix account-list-menu storybook
* Close the accounts menu when account details is clicked
* Restore tag.js
* Create global file for multichain css
* Add index file for multichain js
* Update file paths
* Ensure the block domain is present in menu
* Add AccountListItem test
* Add AccountListItemMenu tests
* Show account connect to current dapp
* Improve tests
* Make avatar smaller
* Add tooltip for account menu
* Align icon better
* Update snapshot
* Rename files to DS standard
* Add index files for export
* Export all multichain components
* Update snapshot
* Remove embedded style in popover
* Add comments for props, cleanup storybook
* Improve test coverage
* Improve test code quality
* Remove border form avatar
* Switch to using the ButtonLink iconName prop
* Only show tooltip if character limit is reached
* Restore prior search settings
* Add test for tooltip
* NFTs: Remove feature flag for release
* Update security tab jest test
* Fix broken test
* Update snapshot
* Update test
* Fix test
* Remove last usages of flag
* Update CI jobs
* Fix jest tests
* feat(17494): test separate commit triggered build
* feat(17493): keep consistent commit message
* feat(17493): use trim to get rid of white space in branch name
* feat(17493): bring back some pipelines
* Version v10.25.0-beta.0
* ERC1155 Import & Dapp interaction E2E tests (#17885)
* feat(17494): test separate commit triggered build
* feat(17493): remove testing beta commit in package.json
---------
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
* MMI adds all mmi images, build type and manifest files
* build-for-all-custodians
* fix remove-fenced-code test
* no need for axios
* runs prettier
* linter
* MMI moving file out of codebase
* MMI adds locale appNameMmi
* MMI adds locale appNameMmi to verify-locale-strings
Use DesktopManager in background script to redirect internal and external connections to the desktop app.
Include DesktopController in the MetaMask controller.
Support desktop keyrings in MetaMask controller via the overrides object.
Create middleware handler to connect to the desktop app while UI code is pending.
Add build system support for desktop specific configuration variables.
Support has been restored for Chromium v78. Previously the extension
would crash upon startup.
The main incompatibility was the use of ES2020 operators (the optional
chain and nullish coalesce operators) in the libraries
`@ethereumjs/util` and `superstruct`. This was resolved by transpiling
those libraries.
After fixing that, the extension no longer crashed but the UI refused
to connect. This was because the UI process was not being identified as
an internal process, because the code responsible for checking that was
relying on the `origin` property of `MessageSender` [1] which wasn't
added until Chromium v80. The check has been updated to use the `url`
property instead, which existed in older versions of Chrome.
Lastly, the content security policy was updated to include the default
content security policy alongside the intended modification. Newer
versions of Chrome will merge the configired CSP with the default, but
older versions required it to be explicitly specified. This should not
result in any functional change.
[1]: https://developer.chrome.com/docs/extensions/reference/runtime/#type-MessageSender
The `brave` and `opera` builds are obsolete; in practice we have been
using the Chrome build for those browsers, because they are based upon
Chromium and are compatible with the Chrome extension API.
We now use the `latest` tag for the phishing warning page, we now use
the version that matches what we have in our manifest. This ensures
that our phishing warning e2e tests match the behaviour of the
production build, and it ensures that breaking changes to the phishing
warning page don't impact users in production.
Environment variables are now considered as higher-precedence than
configuration by our build system. This means that if the same value is
set in `.metamaskrc` and in an environment variable, the environment
variable is what will be used. Previously the reverse was true, the
configuration would take precedence.
It is conventional for CLI tools to consider environment variables as
higher precedence than configuration. This makes our build system less
surprising for most people.
The portfolio URL added in #15407 was meant to be configurable via
environment variable or the `.metamaskrc` file, but that configuration
was broken. Instead the default value was always used.
That configuration has been fixed. The portfolio URL can be set either
by environment variable or configuration file.