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: 7.33.0 #11616

Open
wants to merge 36 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
22e44c2
7.33.0
metamaskbot Oct 4, 2024
f178cd0
chore: chore/7.33.0-Changelog (#11617)
github-actions[bot] Oct 4, 2024
22d1a59
chore: merge 7.32.0 in 7.33.0 and bump build (#11677)
NicolasMassart Oct 8, 2024
06cf1b6
chore: cherry-pick #11595 (#11683)
github-actions[bot] Oct 8, 2024
8bc683c
chore: cherry-pick #11603 (#11682)
github-actions[bot] Oct 8, 2024
57d3a57
chore: cherry-pick #11592 (#11684)
github-actions[bot] Oct 8, 2024
58d08f1
chore: cherry-pick #11631 (#11702)
sahar-fehri Oct 9, 2024
c132256
chore: bump to version 1454 (#11738)
NicolasMassart Oct 10, 2024
db2d2c6
chore: cherry-pick #11718 (#11739)
NicolasMassart Oct 10, 2024
c774787
Bump version to 1456 for 7.33.0 RC-4 (#11784)
NicolasMassart Oct 14, 2024
3e564e1
chore(runway): cherry-pick chore(ramp): upgrade sdk to 1.28.5 (#11790)
runway-github[bot] Oct 14, 2024
93ec320
chore: cherry pick 6db794f7dc4799918dc83c97211db25d5a6542e2 (#11791)
sethkfman Oct 14, 2024
edba913
chore: cherry-pick #11760 (#11773)
github-actions[bot] Oct 14, 2024
e7ae695
bump version 1458
sethkfman Oct 14, 2024
165846c
chore(runway): cherry-pick chore: Update Sentry Performance Sampling …
runway-github[bot] Oct 16, 2024
8581bbc
chore(runway): cherry-pick fix: persist token and phishing list (#11807)
runway-github[bot] Oct 16, 2024
0556903
chore: cherry pick 9ac1488 (#11822)
sethkfman Oct 16, 2024
97d4640
chore: cherry pick tags for custom instrumentation (#11826)
tommasini Oct 16, 2024
9d54b08
Bump build version 1459 RC - 6
sethkfman Oct 16, 2024
392f8d0
chore: Revert custom span (#11839)
tommasini Oct 17, 2024
498e8a2
chore: revert tags commit (#11838)
tommasini Oct 17, 2024
3481ea8
bump build number 1460 RC-7
sethkfman Oct 17, 2024
f895d7a
chore(runway): cherry-pick chore: bump ruby version to 3.1.6 (#11848)
runway-github[bot] Oct 17, 2024
801d609
chore: merge main 7.33.0 (#11850)
sethkfman Oct 18, 2024
a8400fa
chore: 7.33.0 sync main (#11877)
sethkfman Oct 18, 2024
2e183a5
Merge branch 'main' into release/7.33.0
sethkfman Oct 18, 2024
4a4820e
remove unused asset patch
sethkfman Oct 18, 2024
b015ffe
Merge branch 'main' into release/7.33.0
sethkfman Oct 18, 2024
7efd38d
fix login conflict
sethkfman Oct 18, 2024
2657bc2
remove merge conflict
sethkfman Oct 18, 2024
0aa74df
remove merge conflict
sethkfman Oct 18, 2024
9441d12
fix conflicts for cherry pick e168bcc3b83cc1fb06547184855be08ff45d589f
tommasini Oct 18, 2024
b81dc51
resolve conflicts
sethkfman Oct 18, 2024
c61f6e7
updated snapshot with main
sethkfman Oct 18, 2024
cad4d4f
update podfile lock (#11913)
NicolasMassart Oct 21, 2024
5d66db4
chore: update attributions (#11922)
NicolasMassart Oct 22, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .depcheckrc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
ignores:
- '@metamask/oss-attribution-generator'
- 'webpack-cli'
- '@react-native-community/datetimepicker'
- '@react-native-community/slider'
- 'patch-package'
- '@lavamoat/allow-scripts'
Expand Down
106 changes: 105 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,112 @@

## Current Main Branch

## 7.32.0 - Oct 7, 2024
## 7.33.0 - Oct 17, 2024
### Added
- [#11507](https://github.com/MetaMask/metamask-mobile/pull/11507): feat: 10550 Re-introduce test for measuring cold app start + JS bundle load time (#11507)
- [#11318](https://github.com/MetaMask/metamask-mobile/pull/11318): feat: app event manager and attribution id parameters (#11318)
- [#11445](https://github.com/MetaMask/metamask-mobile/pull/11445): feat: add the abilty to hide the disconnect all button as well as showing and hiding the accounts row when necessary (#11445)
- [#11386](https://github.com/MetaMask/metamask-mobile/pull/11386): feat(3299): add tracking to network switching and confirmation (#11386)
- [#11239](https://github.com/MetaMask/metamask-mobile/pull/11239): feat(2739): permission summary view gets the ability to disconnect all (#11239)
- [#11497](https://github.com/MetaMask/metamask-mobile/pull/11497): feat: simple key-> value component for text value type (#11497)
- [#11478](https://github.com/MetaMask/metamask-mobile/pull/11478): feat: adding title to confirmation page (#11478)
- [#11477](https://github.com/MetaMask/metamask-mobile/pull/11477): feat: adding footer section to confirmation page (#11477)
- [#11454](https://github.com/MetaMask/metamask-mobile/pull/11454): feat: adding very basic confirmation page hidden behind env var (#11454)
- [#11083](https://github.com/MetaMask/metamask-mobile/pull/11083): feat: bundle size check (#11083)
- [#11452](https://github.com/MetaMask/metamask-mobile/pull/11452): feat(ds): add ListItem top and bottom accessories (#11452)
- [#11387](https://github.com/MetaMask/metamask-mobile/pull/11387): feat: 10550 Re-introduce test for measuring cold app start + JS bundle load time (#11387)
- [#11464](https://github.com/MetaMask/metamask-mobile/pull/11464): feat: STAKE-804: build pooled staking empty state component (#11464)
- [#11399](https://github.com/MetaMask/metamask-mobile/pull/11399): feat: add learn more modal component for staking (#11399)
- [#11261](https://github.com/MetaMask/metamask-mobile/pull/11261): feat: STAKE-822 build your balance component (#11261)
- [#11294](https://github.com/MetaMask/metamask-mobile/pull/11294): feat: added KeyValueRow to component-library/components-temp (#11294)
- [#11185](https://github.com/MetaMask/metamask-mobile/pull/11185): feat: display ""Snaps (Beta)"" decorator tag in accounts list (#11185)
- [#10829](https://github.com/MetaMask/metamask-mobile/pull/10829): feat: Eth snap keyring (#10829)
- [#11455](https://github.com/MetaMask/metamask-mobile/pull/11455): feat: bootstrap a reset notifications feat (#11455)
- [#11466](https://github.com/MetaMask/metamask-mobile/pull/11466): feat: add support for external links (#11466)
- [#11429](https://github.com/MetaMask/metamask-mobile/pull/11429): feat: add timeout handler (#11429)
- [#11427](https://github.com/MetaMask/metamask-mobile/pull/11427): feat: add feature announcements channel for android (#11427)
- [#11069](https://github.com/MetaMask/metamask-mobile/pull/11069): feat: react native fast crypto for notifications (#11069)

### Changed
- [#11379](https://github.com/MetaMask/metamask-mobile/pull/11379): refactor: rename the feature flag since it had a typo (#11379)
- [#11615](https://github.com/MetaMask/metamask-mobile/pull/11615): chore: exclude temporarily sentry SDK advisory (#11615)
- [#11577](https://github.com/MetaMask/metamask-mobile/pull/11577): ci: disable swaps e2e workflow (#11577)
- [#11350](https://github.com/MetaMask/metamask-mobile/pull/11350): chore: replace Segment patch by plugin (#11350)
- [#11287](https://github.com/MetaMask/metamask-mobile/pull/11287): chore: remove unused events (#11287)
- [#11517](https://github.com/MetaMask/metamask-mobile/pull/11517): chore: delete swaps token charts test (#11517)
- [#11515](https://github.com/MetaMask/metamask-mobile/pull/11515): test: disable swaps token charts regression tests (#11515)
- [#11504](https://github.com/MetaMask/metamask-mobile/pull/11504): chore: revert measuring with react native performance (#11504)
- [#11458](https://github.com/MetaMask/metamask-mobile/pull/11458): test: Merge Import Token flow methods and ids in just one folder and files (#11458)
- [#11492](https://github.com/MetaMask/metamask-mobile/pull/11492): chore(revert): Prevent redundant Sentry sourcemap uploads (#11492)
- [#11469](https://github.com/MetaMask/metamask-mobile/pull/11469): test: Remove E2E Tests for Features No Longer Present in the App (#11469)
- [#11425](https://github.com/MetaMask/metamask-mobile/pull/11425): chore: Add skip label to bypass sonarcloud (#11425)
- [#11275](https://github.com/MetaMask/metamask-mobile/pull/11275): chore(js-ts): Convert app/util/bytes.js to TypeScript (#11275)
- [#11418](https://github.com/MetaMask/metamask-mobile/pull/11418): chore: revert chore(js-ts): Migrate 37 0-error js files (#11418)
- [#10880](https://github.com/MetaMask/metamask-mobile/pull/10880): chore: Enable linting Pods and re-organize setup.mjs file (#10880)
- [#11311](https://github.com/MetaMask/metamask-mobile/pull/11311): chore(js-ts): Convert app/components/UI/Swaps/components/Ratio.js to TypeScript (#11311)
- [#11357](https://github.com/MetaMask/metamask-mobile/pull/11357): chore(js-ts): Convert app/components/Views/PickComponent/index.js to TypeScript (#11357)
- [#11446](https://github.com/MetaMask/metamask-mobile/pull/11446): chore(js-ts): Convert app/components/Views/MediaPlayer/Loader.js to TypeScript (#11446)
- [#11473](https://github.com/MetaMask/metamask-mobile/pull/11473): chore(js-ts): Convert app/components/Base/ModalHandler.js to TypeScript (#11473)
- [#11601](https://github.com/MetaMask/metamask-mobile/pull/11601): chore(js-ts): Convert app/components/Base/ListItem.js to TypeScript (#11601)
- [#11407](https://github.com/MetaMask/metamask-mobile/pull/11407): chore(js-ts): Convert app/util/jsonRpcRequest.js to TypeScript (#11407)
- [#11594](https://github.com/MetaMask/metamask-mobile/pull/11594): chore(js-ts): Convert app/component-library/components/Icons/Icon/scripts/generate-assets.js to TypeScript (#11594)
- [#11523](https://github.com/MetaMask/metamask-mobile/pull/11523): chore(js-ts): Convert app/components/UI/GenericButton/index.ios.js to TypeScript (#11523)
- [#11472](https://github.com/MetaMask/metamask-mobile/pull/11472): chore(js-ts): Convert app/components/UI/FadeView/index.js to TypeScript (#11472)
- [#11476](https://github.com/MetaMask/metamask-mobile/pull/11476): chore(js-ts): Convert app/components/UI/OnboardingProgress/index.js to TypeScript (#11476)
- [#11405](https://github.com/MetaMask/metamask-mobile/pull/11405): chore(js-ts): Convert app/util/browserScripts.js to TypeScript (#11405)
- [#11214](https://github.com/MetaMask/metamask-mobile/pull/11214): chore(js-ts): Migrate 37 0-error js files (#11214)
- [#11271](https://github.com/MetaMask/metamask-mobile/pull/11271): chore(js-ts): Convert app/components/UI/ComponentErrorBoundary/index.js to TypeScript (#11271)
- [#11299](https://github.com/MetaMask/metamask-mobile/pull/11299): chore(js-ts): Convert app/util/validators/index.js to TypeScript (#11299)
- [#11303](https://github.com/MetaMask/metamask-mobile/pull/11303): chore(js-ts): Convert app/components/Base/SelectorButton.js to TypeScript (#11303)
- [#11280](https://github.com/MetaMask/metamask-mobile/pull/11280): chore(js-ts): Convert app/components/UI/GenericButton/index.android.js to TypeScript (#11280)
- [#11273](https://github.com/MetaMask/metamask-mobile/pull/11273): chore(js-ts): Convert app/components/UI/OnboardingScreenWithBg/index.js to TypeScript (#11273)
- [#11272](https://github.com/MetaMask/metamask-mobile/pull/11272): chore(js-ts): Convert app/components/Base/ModalDragger.js to TypeScript (#11272)
- [#11308](https://github.com/MetaMask/metamask-mobile/pull/11308): chore(js-ts): Convert app/components/UI/BlockingActionModal/index.js to TypeScript (#11308)
- [#11305](https://github.com/MetaMask/metamask-mobile/pull/11305): chore(js-ts): Convert app/components/Base/Summary.js to TypeScript (#11305)
- [#11274](https://github.com/MetaMask/metamask-mobile/pull/11274): chore(js-ts): Convert app/components/UI/ConnectHeader/index.js to TypeScript (#11274)
- [#11334](https://github.com/MetaMask/metamask-mobile/pull/11334): chore: chore/7.32.0-Changelog (#11334)
- [#11483](https://github.com/MetaMask/metamask-mobile/pull/11483): chore: refactor e2e (#11483)
- [#11491](https://github.com/MetaMask/metamask-mobile/pull/11491): chore: Add UX CodeOwners responsibilities (#11491)
- [#11364](https://github.com/MetaMask/metamask-mobile/pull/11364): refactor(1702-2): auto detect nft component (#11364)
- [#11363](https://github.com/MetaMask/metamask-mobile/pull/11363): refactor(1702-1): auto detect tokens component (#11363)
- [#11329](https://github.com/MetaMask/metamask-mobile/pull/11329): chore: Add `@MetaMask/metamask-assets` to `CODEOWNERS` (#11329)
- [#10449](https://github.com/MetaMask/metamask-mobile/pull/10449): chore: remove installation of redundant detox-cli in bitrise (#10449)
- [#11111](https://github.com/MetaMask/metamask-mobile/pull/11111): chore(deps): Bump `@metamask/phishing-controller` from `^9.0.0` to `^12.0.1` (#11111)
- [#11375](https://github.com/MetaMask/metamask-mobile/pull/11375): chore(deps): Bump `@metamask/controller-utils` from `^10.0.0` to `^11.3.0` (#11375)
- [#11140](https://github.com/MetaMask/metamask-mobile/pull/11140): chore(deps): Bump `@metamask/smart-transactions-controller` from `11.0.0` to `^13.0.0` (#11140)
- [#11351](https://github.com/MetaMask/metamask-mobile/pull/11351): chore(deps): Bump `@metamask/keyring-controller` from `^16.1.0` to `^17.2.1` (#11351)
- [#11104](https://github.com/MetaMask/metamask-mobile/pull/11104): chore(deps): Bump `@metamask/address-book-controller` from `^4.0.1` to `^6.0.1` (#11104)
- [#10917](https://github.com/MetaMask/metamask-mobile/pull/10917): chore(ci): split out ci scripts and devDeps into separate project (#10917)
- [#11081](https://github.com/MetaMask/metamask-mobile/pull/11081): chore: Prevent redundant Sentry sourcemap uploads (#11081)
- [#11470](https://github.com/MetaMask/metamask-mobile/pull/11470): chore: [Design quality] Update token details (#11470)
- [#11439](https://github.com/MetaMask/metamask-mobile/pull/11439): chore: cherry-pick fix: ""chore(deps): Bump @metamask/base-controller from ^6.0.0 to ^7.0.0 (#11207)"" (#11439)
- [#11169](https://github.com/MetaMask/metamask-mobile/pull/11169): chore(deps): Bump `@metamask/signature-controller` from `^17.0.0` to `^19.1.0`
- [#11352](https://github.com/MetaMask/metamask-mobile/pull/11352): chore(deps): Bump `@metamask/accounts-controller` to `^18.2.1`

### Fixed
- [#11512](https://github.com/MetaMask/metamask-mobile/pull/11512): fix: android firebase docs template (#11512)
- [#11430](https://github.com/MetaMask/metamask-mobile/pull/11430): fix: refactor Logger usage (#11430)
- [#11250](https://github.com/MetaMask/metamask-mobile/pull/11250): fix: push notifications (#11250)
- [#11581](https://github.com/MetaMask/metamask-mobile/pull/11581): fix: Fix invalid browser url crash (#11581)
- [#11467](https://github.com/MetaMask/metamask-mobile/pull/11467): fix: Reorder prep_environment (#11467)
- [#11367](https://github.com/MetaMask/metamask-mobile/pull/11367): fix: Update steps of the methods that are no longer valid (#11367)
- [#11400](https://github.com/MetaMask/metamask-mobile/pull/11400): fix: Stop crowdin action from creating branches (#11400)
- [#11348](https://github.com/MetaMask/metamask-mobile/pull/11348): fix: splash screen image on android (#11348)
- [#11346](https://github.com/MetaMask/metamask-mobile/pull/11346): fix: splash screen image on android (#11346)
- [#11554](https://github.com/MetaMask/metamask-mobile/pull/11554): fix: Fix/use portfolio home page (#11554)
- [#11443](https://github.com/MetaMask/metamask-mobile/pull/11443): fix: react native quick crypto ios build bug (#11443)
- [#11325](https://github.com/MetaMask/metamask-mobile/pull/11325): fix: loader can display on top of login screen (#11325)
- [#11372](https://github.com/MetaMask/metamask-mobile/pull/11372): fix: origin spoofing vulnerability in signature prompts on iOS (#11372)
- [#11076](https://github.com/MetaMask/metamask-mobile/pull/11076): fix(2453): adjust UI details for account cell on wallet screen (#11076)
- [#11524](https://github.com/MetaMask/metamask-mobile/pull/11524): fix: fix duplicated network select (#11524)
- [#11411](https://github.com/MetaMask/metamask-mobile/pull/11411): fix: fix fixture builder network state (#11411)
- [#11380](https://github.com/MetaMask/metamask-mobile/pull/11380): fix: Unreadable Asset options (#11380)
- [#11321](https://github.com/MetaMask/metamask-mobile/pull/11321): fix: fix detect tokens performance (#11321)
- [#11401](https://github.com/MetaMask/metamask-mobile/pull/11401): fix: replace decomissioned cloudflare-ipfs.com with gateway.pinata.cloud (#11401)
- [#11552](https://github.com/MetaMask/metamask-mobile/pull/11552): fix(11481): android system alert respects dark mode themes (#11552)
- [#11518](https://github.com/MetaMask/metamask-mobile/pull/11518): fix(11482): incorrect QR code error (#11518)

## 7.32.0 - Oct 7, 2024
### Added

- [#10294](https://github.com/MetaMask/metamask-mobile/pull/10294): feat: create redux slice for featureFlags (#10294)
Expand Down
4 changes: 2 additions & 2 deletions android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -173,8 +173,8 @@ android {
applicationId "io.metamask"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 1450
versionName "7.32.0"
versionName "7.33.0"
versionCode 1460
testBuildType System.getProperty('testBuildType', 'debug')
missingDimensionStrategy 'react-native-camera', 'general'
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
import { StyleSheet } from 'react-native';

import { Theme } from '../../../../../../../../util/theme/models';
import { fontStyles } from '../../../../../../../../styles/common';

const styleSheet = (params: { theme: Theme }) => {
const { theme } = params;

return StyleSheet.create({
container: {
display: 'flex',
flexDirection: 'row',
alignItems: 'center',
},
value: {
color: theme.colors.text.default,
...fontStyles.normal,
fontSize: 14,
marginTop: 8,
},
warningContainer: {
display: 'flex',
flexDirection: 'row',
alignItems: 'center',
marginRight: 8,
marginTop: 8,
paddingVertical: 2,
paddingHorizontal: 4,
backgroundColor: theme.colors.error.muted,
borderRadius: 4,
},
warningText: {
color: theme.colors.error.default,
marginLeft: 4,
},
});
};

export default styleSheet;
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import React from 'react';
import { render } from '@testing-library/react-native';

import InfoURL from './InfoURL';

describe('InfoURL', () => {
it('should display url as expected', async () => {
const container = render(<InfoURL url="https://google.com" />);
expect(container).toMatchSnapshot();
});

it('should show warning if protocol is HTTP', async () => {
const { getByText } = render(<InfoURL url="http://google.com" />);
expect(getByText('HTTP')).toBeDefined();
});
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
import React from 'react';
import { Text, View } from 'react-native';

import Icon, {
IconColor,
IconName,
IconSize,
} from '../../../../../../../../component-library/components/Icons/Icon';
import Logger from '../../../../../../../../util/Logger';
import { useStyles } from '../../../../../../../../component-library/hooks';
import styleSheet from './InfoURL.styles';

interface InfoURLProps {
url: string;
}

const InfoURL = ({ url }: InfoURLProps) => {
let urlObject;

try {
urlObject = new URL(url);
} catch (e) {
// eslint-disable-next-line no-console
Logger.error(e as Error, `InfoURL: new URL(url) cannot parse ${url}`);
}

const isHTTP = urlObject?.protocol === 'http:';

const urlWithoutProtocol = url?.replace(/https?:\/\//u, '');

const { styles } = useStyles(styleSheet, {});

return (
<View style={styles.container}>
{isHTTP && (
<View style={styles.warningContainer}>
<Icon
color={IconColor.Warning}
size={IconSize.Md}
name={IconName.Danger}
/>
<Text style={styles.warningText}>HTTP</Text>
</View>
)}
<Text style={styles.value}>{urlWithoutProtocol}</Text>
</View>
);
};

export default InfoURL;
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP

exports[`InfoURL should display url as expected 1`] = `
<View
style={
{
"alignItems": "center",
"display": "flex",
"flexDirection": "row",
}
}
>
<Text
style={
{
"color": "#141618",
"fontFamily": "EuclidCircularB-Regular",
"fontSize": 14,
"fontWeight": "400",
"marginTop": 8,
}
}
>
google.com
</Text>
</View>
`;
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export { default } from './InfoURL';
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
import { StyleSheet } from 'react-native';

import { Colors } from '../../../../../../../../util/theme/models';
import { fontStyles } from '../../../../../../../../styles/common';

const createStyles = (colors: Colors) =>
StyleSheet.create({
container: {
display: 'flex',
flexDirection: 'row',
alignItems: 'center',
},
value: {
color: colors.text.default,
...fontStyles.normal,
fontSize: 14,
marginTop: 8,
},
warningContainer: {
display: 'flex',
flexDirection: 'row',
alignItems: 'center',
marginRight: 8,
marginTop: 8,
paddingVertical: 2,
paddingHorizontal: 4,
backgroundColor: colors.error.muted,
borderRadius: 4,
},
warningText: {
color: colors.error.default,
marginLeft: 4,
},
});

export default createStyles;
2 changes: 1 addition & 1 deletion app/util/sentry/utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -500,7 +500,7 @@ export function setupSentry() {
metricsOptIn === AGREED
? [
...integrations,
new Sentry.ReactNativeTracing({
new Sentry.reactNativeTracingIntegration({
routingInstrumentation,
}),
]
Expand Down
Loading
Loading