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

Release v1.1.0 #1255

Merged
merged 28 commits into from
Nov 30, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
faaf743
fix: improve reliability of E2E tests (#1182)
iamacook Nov 17, 2022
219a813
Fix: MUI Switch default color (#1189)
katspaugh Nov 18, 2022
f95d7be
add: docs for import all feature (#1152)
schmanu Nov 18, 2022
d3edb2d
fix: handle invalid shortname in url (#1160)
usame-algan Nov 18, 2022
e3556a2
feat: redesign address book import (#1137)
schmanu Nov 18, 2022
d5cea5d
Fix: backdrop color (#1186)
katspaugh Nov 18, 2022
5e70da0
Fix: added safes across chains (#1167)
katspaugh Nov 18, 2022
35f8d34
Chore: PR deployment action (#1197)
katspaugh Nov 22, 2022
19b5e8f
improve reliability of create_tx cypress test (#1196)
schmanu Nov 22, 2022
03882c5
fix: redirect to `/home` of Safe present in URL (#1183)
iamacook Nov 22, 2022
0e36eb2
refactor: simplify GTM logic + unmount on permission removal (#1047)
iamacook Nov 22, 2022
35a9526
feat: Collapsable sidebar in Safe App view (#1169)
DaniSomoza Nov 23, 2022
9cf5c6a
fix: flag Keystone wallets as hardware wallets + adjust modal `z-inde…
iamacook Nov 23, 2022
343edd4
fix: show warning based on `trusted` flag (#1226)
iamacook Nov 23, 2022
9c07ab8
Chore: updated sidebar to open by default (#1228)
DaniSomoza Nov 23, 2022
0179201
feat(safe-apps): Add support for receiving analytics from our Safe Ap…
yagopv Nov 23, 2022
36f3714
Fix: sandbox safe app icons (#1193)
katspaugh Nov 24, 2022
eac0216
fix(safe-apps): Safe apps analysis improvements (#1136)
yagopv Nov 24, 2022
d422941
Fix: show upgrade notification only to owners (#1070)
katspaugh Nov 24, 2022
03135e8
[Epic] Safe Creation (#988)
usame-algan Nov 24, 2022
6ffc44e
Refactor: paginated NFT select (#1235)
katspaugh Nov 25, 2022
243ad59
fix: Send current step with tracking event (#1249)
usame-algan Nov 25, 2022
6eb0acb
fix: Dislay an error when trying to transfer safe token (#1250)
usame-algan Nov 28, 2022
bd23d3a
1.1.0
katspaugh Nov 28, 2022
e12783d
upgrade core-sdk (#1232)
mmv08 Nov 28, 2022
fd9468a
Fix: comment out the untrusted badge (#1262)
katspaugh Nov 28, 2022
e980173
Fix: copy button in dark mode (#1268)
katspaugh Nov 29, 2022
51e0792
fix: updated tx queue bar zIndex to avoid overlaps (#1276)
DaniSomoza Nov 30, 2022
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
44 changes: 26 additions & 18 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
name: Deploy to dev/staging

on:
pull_request:

push:
branches:
- main
- dev
- main

jobs:
deploy:
Expand Down Expand Up @@ -46,27 +48,33 @@ jobs:
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ${{ secrets.AWS_DEFAULT_REGION }}

# Staging
- name: Deploy to the staging S3
if: github.ref == 'refs/heads/main'
run: |
cd out

aws s3 sync . s3://${{ secrets.AWS_STAGING_BUCKET_NAME }}/current
aws s3 sync . s3://${{ secrets.AWS_STAGING_BUCKET_NAME }}/current --delete

for file in $(find . -name '*.html' | sed 's|^\./||'); do
aws s3 cp ${file%} s3://${{ secrets.AWS_STAGING_BUCKET_NAME }}/current/${file%.*} --content-type 'text/html'
done
env:
BUCKET: s3://${{ secrets.AWS_STAGING_BUCKET_NAME }}/current
run: bash ./scripts/github/s3_upload.sh

# Dev
- name: Deploy to the dev S3
if: github.ref == 'refs/heads/dev'
run: |
cd out

aws s3 sync . s3://${{ secrets.AWS_DEVELOPMENT_BUCKET_NAME }}
aws s3 sync . s3://${{ secrets.AWS_DEVELOPMENT_BUCKET_NAME }} --delete
env:
BUCKET: s3://${{ secrets.AWS_DEVELOPMENT_BUCKET_NAME }}
run: bash ./scripts/github/s3_upload.sh

for file in $(find . -name '*.html' | sed 's|^\./||'); do
aws s3 cp ${file%} s3://${{ secrets.AWS_DEVELOPMENT_BUCKET_NAME }}/${file%.*} --content-type 'text/html'
done
# PRs
- name: Deploy PR branch
if: github.ref != 'refs/heads/dev' && github.ref != 'refs/heads/main'
env:
BUCKET: s3://${{ secrets.AWS_REVIEW_BUCKET_NAME }}/webcore/pr${{ github.event.number }}
run: bash ./scripts/github/s3_upload.sh

- name: 'Post the deployment links in the PR'
if: success() && github.ref != 'refs/heads/dev' && github.ref != 'refs/heads/main'
uses: mshick/add-pr-comment@v1
with:
message: |
## Branch preview
https://pr${{ github.event.number }}--webcore.review-react-br.5afe.dev
repo-token: ${{ secrets.GITHUB_TOKEN }}
repo-token-user-login: 'github-actions[bot]'
17 changes: 4 additions & 13 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,20 +45,11 @@ jobs:
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ${{ secrets.AWS_DEFAULT_REGION }}

# Script to upload release files.
# First it uploads new files, so both the previous version and the new one co-exist and there’s no downtime.
# Then it uploads a second time, with --delete, to delete the old files.
# Finally, it uploads HTML files w/o the `.html` extension so that URLs like `/balances` work.
# Script to upload release files
- name: 'Upload release build files for production'
run: |
cd out

aws s3 sync . s3://${{ secrets.AWS_STAGING_BUCKET_NAME }}/releases/${{ github.event.release.tag_name }}
aws s3 sync . s3://${{ secrets.AWS_STAGING_BUCKET_NAME }}/releases/${{ github.event.release.tag_name }} --delete

for file in $(find . -name '*.html' | sed 's|^\./||'); do
aws s3 cp ${file%} s3://${{ secrets.AWS_STAGING_BUCKET_NAME }}/releases/${{ github.event.release.tag_name }}/${file%.*} --content-type 'text/html'
done
env:
BUCKET: s3://${{ secrets.AWS_STAGING_BUCKET_NAME }}/releases/${{ github.event.release.tag_name }}
run: bash ./scripts/github/s3_upload.sh

# Script to prepare production deployments
- run: bash ./scripts/github/prepare_production_deployment.sh
Expand Down
34 changes: 20 additions & 14 deletions cypress/e2e/smoke/create_tx.cy.js → cypress/e2e/create_tx.cy.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,13 @@ describe('Queue a transaction on 1/N', () => {
})

it('should create and queue a transaction', () => {
// Assert that "New transaction" button is visible
cy.contains('New transaction', {
timeout: 60_000, // `lastWallet` takes a while initialize in CI
}).should('be.visible')

// Open the new transaction modal
cy.contains('New transaction', { timeout: 10000 }).click()
cy.contains('New transaction').click()

// Modal is open
cy.contains('h2', 'New transaction').should('be.visible')
Expand All @@ -30,20 +35,21 @@ describe('Queue a transaction on 1/N', () => {

// Insert amount
cy.get('input[name="amount"]').type(`${sendValue}`)

cy.contains('Next').click()
})

it('should create a queued transaction', () => {
// Spy the /estimations request
cy.intercept('POST', '/**/multisig-transactions/estimations').as('estimations')
// Wait for /estimations response
cy.intercept('POST', '/**/multisig-transactions/estimations').as('EstimationRequest')

cy.contains('Next').click()

cy.wait('@EstimationRequest', {
timeout: 30_000, // EstimationRequest takes a while in CI
})

// Alias for New transaction modal
cy.contains('h2', 'Review transaction').parents('div').as('modal')

// Wait for /estimations response
cy.wait('@estimations', { timeout: 30_000 })

// Estimation is loaded
cy.get('button[type="submit"]').should('not.be.disabled')

Expand Down Expand Up @@ -97,17 +103,17 @@ describe('Queue a transaction on 1/N', () => {
cy.get('@modal').within(() => {
cy.get('input[type="checkbox"]').should('not.exist')
})
})

it('should click the notification and see the transaction queued', () => {
cy.contains('Submit').click()

// Spy the /propose request and give it an alias
cy.intercept('POST', '/**/propose').as('propose')

// Wait for the /propose request
cy.wait('@propose', { timeout: 30_000 })
})
cy.intercept('POST', '/**/propose').as('ProposeTx')
cy.wait('@ProposeTx', {
timeout: 30_000, // ProposeTx takes a while in CI
})

it('should click the notification and see the transaction queued', () => {
// Click on the notification
cy.contains('View transaction').click()

Expand Down
7 changes: 5 additions & 2 deletions cypress/e2e/safe-apps/apps_list.cy.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,11 @@ describe('The Safe Apps list', () => {

describe('When searching apps', () => {
it('should filter the list by app name', () => {
cy.findByRole('textbox').type('walletconnect')
cy.findAllByRole('link', { name: /logo/i }).should('have.length', 1)
// Wait for /safe-apps response
cy.intercept('GET', '/**/safe-apps').then(() => {
cy.findByRole('textbox').type('walletconnect')
cy.findAllByRole('link', { name: /logo/i }).should('have.length', 1)
})
})

it('should filter the list by app description', () => {
Expand Down
14 changes: 7 additions & 7 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"homepage": "https://github.com/safe-global/web-core",
"license": "MIT",
"type": "module",
"version": "1.0.9",
"version": "1.1.0",
"private": true,
"scripts": {
"dev": "next dev",
Expand Down Expand Up @@ -39,11 +39,11 @@
"@emotion/server": "^11.10.0",
"@emotion/styled": "^11.10.0",
"@gnosis.pm/safe-apps-sdk": "^7.8.0",
"@gnosis.pm/safe-core-sdk": "^3.1.1",
"@gnosis.pm/safe-deployments": "^1.15.0",
"@gnosis.pm/safe-ethers-lib": "^1.6.1",
"@gnosis.pm/safe-core-sdk": "^3.2.0",
"@gnosis.pm/safe-deployments": "^1.17.0",
"@gnosis.pm/safe-ethers-lib": "^1.7.0",
"@gnosis.pm/safe-modules-deployments": "^1.0.0",
"@gnosis.pm/safe-react-gateway-sdk": "^3.4.5",
"@gnosis.pm/safe-react-gateway-sdk": "^3.4.6",
"@mui/icons-material": "^5.8.4",
"@mui/material": "^5.9.3",
"@mui/x-date-pickers": "^5.0.0-beta.6",
Expand All @@ -65,7 +65,7 @@
"classnames": "^2.3.1",
"date-fns": "^2.29.2",
"ethereum-blockies-base64": "^1.0.2",
"ethers": "^5.6.8",
"ethers": "5.7.2",
"exponential-backoff": "^3.1.0",
"fuse.js": "^6.6.2",
"js-cookie": "^3.0.1",
Expand All @@ -84,7 +84,7 @@
"semver": "^7.3.7"
},
"devDependencies": {
"@gnosis.pm/safe-core-sdk-types": "^1.6.1",
"@gnosis.pm/safe-core-sdk-types": "^1.7.0",
"@next/bundle-analyzer": "^12.2.4",
"@sentry/types": "^7.8.1",
"@svgr/webpack": "^6.3.1",
Expand Down
2 changes: 1 addition & 1 deletion public/images/common/copy.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
10 changes: 10 additions & 0 deletions public/images/common/lightbulb.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions public/images/sidebar/address-book.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 6 additions & 0 deletions public/images/sidebar/apps.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 3 additions & 3 deletions public/images/sidebar/assets.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion public/images/sidebar/copy-bold.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 4 additions & 4 deletions public/images/sidebar/help-center.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading