Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
e59542c
feat(braze): add BrazeBanner component with banner refresh on sign-in
samir-acle Apr 14, 2026
c4b7bb2
implement BrazeBanner wip
samir-acle Apr 22, 2026
c364283
feat(braze): simplify BrazeBanner to use self-managing BrazeBannerView
samir-acle Apr 22, 2026
5b799af
feat: add custom Braze banner WebView support with dismissal
samir-acle Apr 23, 2026
955bc37
feat(braze-banner): switch to headless banner architecture
samir-acle Apr 24, 2026
ff04238
fix: clear lastDismissedBrazeBanner when fresh banner received
samir-acle Apr 24, 2026
3186f72
refactor(braze-banner): extract BANNER_HEIGHT constant and fix layout
samir-acle Apr 24, 2026
04a20b2
chore: cleanup test
samir-acle Apr 24, 2026
ba43810
chore: wire up actual banner dismissal and impression events
samir-acle Apr 27, 2026
4e11417
chore: handle test events
samir-acle Apr 27, 2026
d653326
fix: update banner_name property to campaign_name
samir-acle Apr 27, 2026
c356206
chore: remove loading skeleton and logs
samir-acle Apr 27, 2026
e488b67
chore: cleanup deeplink handling and fix tests
samir-acle Apr 27, 2026
d759013
fix: clear lastDismissedBanner on next mount
samir-acle Apr 28, 2026
0a7b8e9
fix: remove empty loading state
samir-acle Apr 28, 2026
10e9521
chore: remove dismissable prop
samir-acle Apr 29, 2026
a949de7
refactor(braze-banner): cleanup and minor refactors
samir-acle May 2, 2026
87aaa74
fix: banner grows when text content is longer
samir-acle May 2, 2026
141d667
chore: update braze flag name
samir-acle May 2, 2026
f6d6780
chore: bump redux migration and update feature flag registry
samir-acle May 5, 2026
d35bd56
fix: lint
samir-acle May 5, 2026
00b8995
fix: bugbot issues
samir-acle May 5, 2026
6833a0a
fix: lint
samir-acle May 5, 2026
8550c1b
refactor: update BrazeBanner logic to prevent swapping visible banners
samir-acle May 5, 2026
024a2d1
feat: refresh banners (cache) on appstate change to active
samir-acle May 5, 2026
cbd20c0
fix: lint
samir-acle May 5, 2026
c185192
fix: add missing test mock
samir-acle May 7, 2026
094608e
chore: refactor home banner
samir-acle May 7, 2026
c97c468
chore: update BrazeBanner README
samir-acle May 7, 2026
b2ec160
fix: test
samir-acle May 7, 2026
a08da91
chore: add migration 136 duplicate
samir-acle May 8, 2026
7a242b5
chore: move Braze identity hook
samir-acle May 8, 2026
a4bcef4
chore: route Braze codeowners to notifications
samir-acle May 8, 2026
5bb4faa
test: update Braze banner hook tests for React 19
samir-acle May 8, 2026
3c69237
Merge branch 'main' into feat/braze-banner
samir-acle May 11, 2026
788b31d
Merge branch 'main' into feat/braze-banner
samir-acle May 11, 2026
9b08a64
Merge branch 'main' into feat/braze-banner
samir-acle May 12, 2026
6269ad9
Merge branch 'main' into feat/braze-banner
samir-acle May 12, 2026
cfbcaa1
Merge branch 'main' into feat/braze-banner
samir-acle May 12, 2026
81bf8f7
Merge branch 'main' into feat/braze-banner
samir-acle May 12, 2026
b131bea
Merge branch 'main' into feat/braze-banner
samir-acle May 12, 2026
d27615b
Merge branch 'main' into feat/braze-banner
samir-acle May 12, 2026
770c3a8
chore: add migration 137 for Braze banner state
samir-acle May 12, 2026
b5372e1
chore: update notification codeowners to engagement
samir-acle May 12, 2026
e679324
Merge branch 'main' into feat/braze-banner
samir-acle May 12, 2026
46a33cf
Merge branch 'main' into feat/braze-banner
samir-acle May 13, 2026
90a6395
Merge branch 'main' into feat/braze-banner
samir-acle May 13, 2026
37d1e6a
Merge branch 'main' into feat/braze-banner
samir-acle May 14, 2026
4fffd7a
Merge branch 'main' into feat/braze-banner
samir-acle May 14, 2026
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
16 changes: 10 additions & 6 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -146,12 +146,16 @@ app/core/Engine/controllers/bridge-controller @MetaMask/swaps-enginee
app/core/Engine/controllers/bridge-status-controller @MetaMask/swaps-engineers

# Notifications Team
app/components/Views/Notifications @MetaMask/notifications
app/components/Views/Settings/NotificationsSettings @MetaMask/notifications
**/Notifications/** @MetaMask/notifications
**/Notification/** @MetaMask/notifications
**/notifications/** @MetaMask/notifications
**/notification/** @MetaMask/notifications
**/*Braze*/ @MetaMask/engagement
**/*Braze* @MetaMask/engagement
**/*braze*/ @MetaMask/engagement
**/*braze* @MetaMask/engagement
app/components/Views/Notifications @MetaMask/engagement
app/components/Views/Settings/NotificationsSettings @MetaMask/engagement
**/Notifications/** @MetaMask/engagement
**/Notification/** @MetaMask/engagement
**/notifications/** @MetaMask/engagement
**/notification/** @MetaMask/engagement

# LavaMoat Team
ses.cjs @MetaMask/supply-chain
Expand Down
1 change: 1 addition & 0 deletions .github/scripts/known-feature-flag-constants.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ const FILE_SOURCES: Array<{ key: string; file: string; exportName: string }> = [
{ key: 'FULL_PAGE_ACCOUNT_LIST_FLAG_NAME', file: sel('fullPageAccountList'), exportName: 'FULL_PAGE_ACCOUNT_LIST_FLAG_NAME' },
{ key: 'IMPORT_SRP_WORD_SUGGESTION_FLAG_NAME', file: sel('importSrpWordSuggestion'), exportName: 'IMPORT_SRP_WORD_SUGGESTION_FLAG_NAME' },
{ key: 'ASSETS_UNIFY_STATE_FLAG', file: sel('assetsUnifyState'), exportName: 'ASSETS_UNIFY_STATE_FLAG' },
{ key: 'BRAZE_BANNER_HOME_FLAG_KEY', file: sel('brazeBannerHome'), exportName: 'BRAZE_BANNER_HOME_FLAG_KEY' },
{ key: 'TOKEN_DETAILS_OHLCV_WS_INTEGRATION_FLAG_KEY', file: sel('tokenDetailsOhlcvWsIntegration'), exportName: 'TOKEN_DETAILS_OHLCV_WS_INTEGRATION_FLAG_KEY' },
];

Expand Down
4 changes: 4 additions & 0 deletions app/components/UI/BrazeBanner/BrazeBanner.constants.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
export const BANNER_HEIGHT = 96;
/** py-3 = 12px top + 12px bottom = 24px total vertical padding */
export const BANNER_IMAGE_SIZE = BANNER_HEIGHT - 24;
export const SKELETON_TIMEOUT_MS = 5000;
Loading
Loading