-
Notifications
You must be signed in to change notification settings - Fork 411
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
[Counterfactual] Disable notifications and message signing #3240
Conversation
Branch preview✅ Deploy successful! |
ESLint Summary View Full Report
[warning] react-hooks/exhaustive-deps
Report generated by eslint-plus-action |
📦 Next.js Bundle Analysis for safe-wallet-webThis analysis was generated by the Next.js Bundle Analysis action. 🤖
|
Page | Size (compressed) |
---|---|
global |
1.02 MB (🟡 +30 B) |
Details
The global bundle is the javascript bundle that loads alongside every page. It is in its own category because its impact is much higher - an increase to its size means that every page on your website loads slower, and a decrease means every page loads faster.
Any third party scripts you have added directly to your app using the <script>
tag are not accounted for in this analysis
If you want further insight into what is behind the changes, give @next/bundle-analyzer a try!
One Page Changed Size
The following page changed size from the code in this PR compared to its base branch:
Page | Size (compressed) | First Load |
---|---|---|
/settings/notifications |
12.49 KB (🟡 +798 B) |
1.04 MB |
Details
Only the gzipped size is provided here based on an expert tip.
First Load is the size of the global bundle plus the bundle for the individual page. If a user were to show up to your website and land on a given page, the first load size represents the amount of javascript that user would need to download. If next/link
is used, subsequent page loads would only need to download that page's bundle (the number in the "Size" column), since the global bundle has already been downloaded.
Any third party scripts you have added directly to your app using the <script>
tag are not accounted for in this analysis
Next to the size is how much the size has increased or decreased compared with the base branch of this PR. If this percentage has increased by 20% or more, there will be a red status indicator applied, indicating that special attention should be given to this.
Coverage report
Test suite run success1400 tests passing in 190 suites. Report generated by 🧪jest coverage report action from 6feb75a |
ESLint Summary View Full Report
Report generated by eslint-plus-action |
Looks good to me Notifications pop up when creating a CF doesn't show up. Also checked that: |
@@ -37,6 +41,16 @@ import css from './styles.module.css' | |||
|
|||
// UI logic | |||
|
|||
const _filterUndeployedSafes = (safes: NotifiableSafes, undeployedSafes: UndeployedSafesState) => { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
safes here is a {[chain]: [address1, address2]}
but since the variable name is safes
I thought it was a safe object and later when we do difference(safes, undeployedAddresses) I was astonished that it works :)
Maybe at least in mapValues we could call it safeAddresses?
@@ -121,7 +121,12 @@ export const PushNotificationsBanner = ({ children }: { children: ReactElement } | |||
const isSafeAdded = !!addedSafesOnChain?.[safeAddress] | |||
const isSafeRegistered = getPreferences(safe.chainId, safeAddress) | |||
const shouldShowBanner = useDebounce( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
just curious - why do we have to debounce here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the issue was that there were too many popups opening up at the same time which looked messy. This way there is a small delay before this popup opens. Not ideal but a bit better on the UX side.
@@ -140,7 +140,7 @@ export const PushNotifications = (): ReactElement => { | |||
<FormControlLabel | |||
control={<Switch checked={!!preferences} onChange={handleOnChange} />} | |||
label={preferences ? 'On' : 'Off'} | |||
disabled={!isOk || isRegistering} | |||
disabled={!isOk || isRegistering || !safe.deployed} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
in SignMessage we do const isDisabled=
which I prefer, but ok :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agree, with that many variables it makes sense to extract it into a new one for better readability.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One issue is that here we have the isOk
variable which comes from the HoC so we can't extract that easily.
38929ed
to
6feb75a
Compare
What it solves
Part of #3156
How this PR fixes it
How to test it
Screenshots
Checklist