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 1.49.0 #4746

Merged
merged 106 commits into from
Jan 13, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
106 commits
Select commit Hold shift + click to select a range
a2b98b1
refactor: switch to Yarn v4 (#4686)
compojoom Dec 18, 2024
eefb895
Chore(deps): Bump @walletconnect/utils from 2.17.2 to 2.17.3 (#4682)
dependabot[bot] Dec 18, 2024
0eb3802
Chore(deps-dev): Bump @cowprotocol/app-data from 2.1.0 to 2.4.0 (#4681)
dependabot[bot] Dec 18, 2024
5c431f5
Chore(deps): Bump @reduxjs/toolkit from 2.2.6 to 2.5.0 (#4683)
dependabot[bot] Dec 18, 2024
f87c5a8
Chore(deps): Bump @ducanh2912/next-pwa from 9.7.1 to 10.2.9 (#4684)
dependabot[bot] Dec 18, 2024
0ff5be7
fix: generating docker image was failing (#4689)
compojoom Dec 18, 2024
ce51771
Merge with main
katspaugh Dec 18, 2024
011e808
refactor: Split up MyAccounts component (#4671)
usame-algan Dec 19, 2024
4d51ba2
Chore: fine-tune AI review prompt (#4696)
katspaugh Dec 19, 2024
f3a66b4
Fix: display Safe App icon and name in history (#4694)
katspaugh Dec 19, 2024
ad43394
fix: React props errors (#4692)
usame-algan Dec 19, 2024
b344122
Feat: upgrade to 1.4.1 (#4645)
katspaugh Dec 19, 2024
538dd43
Refactor: white label branding + domain checks (#4593)
katspaugh Dec 19, 2024
f6750be
Refactor: message origin instead of safeAppId (#4680)
katspaugh Dec 19, 2024
9a20297
Feat: create new outreach campaign targeting all safes [SW-638] (#4672)
jmealy Dec 19, 2024
914fd3b
fix: use `dataGas` when calculating message hash of <1.0.0 (#4621)
iamacook Dec 19, 2024
cb19058
feat: display `SafeMessage` message hash when signing off-chain (#4687)
iamacook Dec 19, 2024
371be06
Fix: rm circular dependency (#4697)
katspaugh Dec 19, 2024
31656b0
refactor: move nextjs files to apps/web
compojoom Dec 19, 2024
a363a78
chore: setup monorepo
compojoom Dec 18, 2024
7825b1c
fix: github actions on monorepo
compojoom Dec 18, 2024
8a244b9
squashed history up to 7220c7613b425edc5597c61a6747570263478238
clovisdasilvaneto Oct 9, 2024
4a9ab2d
Fix tests (#13)
compojoom Nov 1, 2024
9c9072c
feat: Create Tx history page (#14)
clovisdasilvaneto Nov 5, 2024
947272f
chore: Use Alert component in the status banners components (#17)
clovisdasilvaneto Nov 7, 2024
a7d10c1
feat: Add chains and active chain slice (#16)
clovisdasilvaneto Nov 7, 2024
db8f9b8
featr: Create static pending transactions screen (#18)
clovisdasilvaneto Nov 11, 2024
ac072c6
chore: update to expo-52 and rn 0.76
compojoom Nov 11, 2024
c986a14
chore: update detox
compojoom Nov 11, 2024
104d687
refactor: safeThemeProvider
compojoom Nov 11, 2024
3cf0ba2
chore: update dependencies
compojoom Nov 11, 2024
639f5a7
feat: use react-navigation header in screens (#21)
compojoom Nov 18, 2024
52c3c7e
fix: app crashed due to syntax error (#23)
compojoom Nov 18, 2024
85b624d
chore: update expo to v52.0.7 (#24)
compojoom Nov 19, 2024
33f001d
fix: redux-devtools not working on expo52 (#25)
compojoom Nov 20, 2024
0103bc4
feat: use RTK code-generation for endpoints (#22)
compojoom Nov 20, 2024
9dc0821
Fix failing tests (#26)
compojoom Nov 20, 2024
e3c668f
Feat: active safe slice (#28)
katspaugh Nov 20, 2024
c84b5aa
feat: automatically run unit tests on new PRs (#27)
compojoom Nov 20, 2024
cfeb792
fix: wrong confirmationrequired/confirmation submitted (#30)
compojoom Nov 20, 2024
300a4af
feat: add storybook for web (#32)
compojoom Nov 21, 2024
049ac4f
feat: automatically run unit tests on new PRs (#27) (#29)
compojoom Nov 21, 2024
8bd4ae8
refactor: update the openAPI spec for RTK code generation (#33)
compojoom Nov 25, 2024
8d4f7da
fix: autogenerated response definition for getSafeOverview was missin…
compojoom Nov 26, 2024
e11eaf2
feat: Assets screen (#34)
clovisdasilvaneto Nov 26, 2024
bf63c3f
chore: enable eslint curly rule (#38)
compojoom Nov 26, 2024
c670453
feat: Cover assets screen with unit tests (#36)
clovisdasilvaneto Nov 26, 2024
69831ab
Feat: Settings Screen [SW-315] (#35)
compojoom Nov 26, 2024
8790c51
chore: adjust components folder structure (#40)
clovisdasilvaneto Nov 27, 2024
4ab9f18
fix: unit tests of Identicon component (#41)
clovisdasilvaneto Nov 27, 2024
b5ff1a8
fix: wrong color for settings (#39)
compojoom Nov 27, 2024
1fdbeb9
Chore: Refactor features folder to follow code guidelines (#43)
clovisdasilvaneto Nov 28, 2024
dc22e65
feat: blurred identicon header (#42)
compojoom Nov 28, 2024
3e1a251
fix: crash in production (#44)
compojoom Nov 28, 2024
6ea5053
fix: wrong background (#45)
compojoom Nov 28, 2024
d955405
chore: manual ios deployment (#46)
compojoom Nov 29, 2024
46dae03
Fix android UI glitches (#47)
compojoom Dec 2, 2024
d24abe2
fix: avoid using complex values to not have the UnhandledLinkingConte…
clovisdasilvaneto Dec 4, 2024
cac233e
Setup Maestro & remove detox (#48)
compojoom Dec 4, 2024
d9a3934
Eas (#49)
compojoom Dec 4, 2024
903f114
chore: clean up (#52)
compojoom Dec 5, 2024
ff2cb7a
refactor: repository now follows a Monorepo structure (#55)
compojoom Dec 6, 2024
3a12ca0
feat: Loading screen (#56)
clovisdasilvaneto Dec 9, 2024
951aae1
Refactor: extract CGW types into a package (#57)
compojoom Dec 16, 2024
013110a
feat: Create initial onboarding screens (#58)
clovisdasilvaneto Dec 17, 2024
0107aa7
Merge remote-tracking branch 'mobile-app/reorganised-history' into mo…
compojoom Dec 20, 2024
5e835f6
fix: tsc failing in web package
compojoom Dec 20, 2024
3b198da
fix: workflow names were not easily distinguishable
compojoom Dec 20, 2024
4b15a91
Chore(deps-dev): Bump eslint from 9.16.0 to 9.17.0 (#4702)
dependabot[bot] Dec 23, 2024
160c0cd
Chore(deps): Bump expo-system-ui from 4.0.5 to 4.0.6 (#4705)
dependabot[bot] Dec 23, 2024
50ac6ed
Chore(deps): Bump @tamagui/babel-plugin from 1.119.0 to 1.120.2 (#4703)
dependabot[bot] Dec 23, 2024
50486ea
fix: run prettier over the codebase (#4701)
compojoom Dec 23, 2024
f8473bd
Docs: update monorepo readme
katspaugh Dec 23, 2024
256d854
Docs: update app readmes
katspaugh Dec 23, 2024
4ee2c26
Fix: typography sx
katspaugh Dec 23, 2024
0532402
Feat(Mobile): private key and safe account management
clovisdasilvaneto Dec 27, 2024
7a614d3
Fix(Safe upgrade): preserve fallback handler + show queue warning onl…
katspaugh Dec 27, 2024
f7e77af
Chore(deps): Bump @react-navigation/native from 7.0.13 to 7.0.14 (#4713)
dependabot[bot] Dec 30, 2024
dd392f5
Chore(deps): Bump @tamagui/font-dm-sans from 1.119.0 to 1.121.3 (#4714)
dependabot[bot] Dec 30, 2024
a5ff805
Chore(deps): Bump @cowprotocol/widget-react from 0.10.0 to 0.13.0 (#4…
dependabot[bot] Dec 30, 2024
a6e3246
Chore: update mui
katspaugh Dec 30, 2024
ca09816
fix: decoding of migrateToL2 (#4718)
schmanu Dec 31, 2024
1a4e706
Fix: do not show unsupported contract warning if upgrading contract (…
katspaugh Dec 31, 2024
def2640
Chore: fix docker and on-demand e2e jobs (#4719)
katspaugh Jan 2, 2025
165228e
Chore: fix junit report path
katspaugh Jan 2, 2025
8458c96
Fix(Outreach): use versioning for outreach popup local storage flags …
jmealy Jan 2, 2025
bb44a5f
Feat(Mobile): monochrome launcher icon for Android (#4723)
ThatOneCalculator Jan 3, 2025
cc8e161
Feat(Mobile): Account Management: Edit and reorganise accounts (#4721)
clovisdasilvaneto Jan 3, 2025
1cbef69
Fix: larger coingecko icons (#4726)
katspaugh Jan 3, 2025
d0d682c
Feat(sidebar): change safe search placeholder text (#4725)
jmealy Jan 3, 2025
40999bf
Chore(deps): Bump @mui/x-date-pickers from 7.23.2 to 7.23.3 (#4733)
dependabot[bot] Jan 6, 2025
130162b
Chore(deps): Bump @react-navigation/material-top-tabs (#4735)
dependabot[bot] Jan 6, 2025
f42cfea
Chore(deps-dev): Bump @storybook/addon-ondevice-actions (#4731)
dependabot[bot] Jan 6, 2025
f40f7bf
Chore(deps-dev): Bump @typescript-eslint/eslint-plugin (#4732)
dependabot[bot] Jan 6, 2025
2ba2f6d
fix(web): do not copy addresses in SignerForm (#4730)
schmanu Jan 6, 2025
37d6bc0
Fix: lint
katspaugh Jan 6, 2025
e651c23
Revert "Chore(deps-dev): Bump @typescript-eslint/eslint-plugin (#4732)"
katspaugh Jan 6, 2025
5bcc4c7
Fix: close the outreach banner in cypress tests when connecting a sig…
jmealy Jan 7, 2025
6267e89
Chore: fix docker build (#4740)
katspaugh Jan 7, 2025
043be03
Feat: public transaction notes (#4693)
katspaugh Jan 8, 2025
ce56283
1.49.0
katspaugh Jan 8, 2025
aa96af5
Fix: remove network selector from WC proposal warning (#4742)
katspaugh Jan 8, 2025
ebfb7f4
feat: notifications renewal (#4699)
tmjssz Jan 8, 2025
4f17ac6
updates yarn.lock (#4748)
Jonathansoufer Jan 8, 2025
c43e6cb
fix: initialize Firebase only if `projectId` is present in options (#…
tmjssz Jan 8, 2025
2ae2626
Fix: use recommendedMasterCopyVersion only for Safe upgrades (#4747)
katspaugh Jan 9, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
12 changes: 7 additions & 5 deletions .github/ISSUE_TEMPLATE/bug-report.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
name: Bug report
about: Create an issue to fix a bug
labels: ["bug"]
labels: ['bug']
---

<!--
Expand All @@ -11,12 +11,14 @@ BEFORE SUBMITTING: Please search to make sure this issue hasn't been reported al
## Bug description

## Environment
- Browser: Chrome
- Wallet: MetaMask
- Chain: Ethereum mainnet

- Browser: Chrome
- Wallet: MetaMask
- Chain: Ethereum mainnet

## Steps to reproduce
1. Go to

1. Go to

## Expected result

Expand Down
7 changes: 4 additions & 3 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ Resolves #
## Screenshots

## Checklist
* [ ] I've tested the branch on mobile 📱
* [ ] I've documented how it affects the analytics (if at all) 📊
* [ ] I've written a unit/e2e test for it (if applicable) 🧑‍💻

- [ ] I've tested the branch on mobile 📱
- [ ] I've documented how it affects the analytics (if at all) 📊
- [ ] I've written a unit/e2e test for it (if applicable) 🧑‍💻
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,4 @@ runs:
steps:
- name: Build Storybook
shell: bash
run: yarn build-storybook -o ./out/storybook
run: yarn workspace @safe-global/web build-storybook -o ./out/storybook
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ description: 'Build the app'
inputs:
secrets:
required: true
description: 'GitHub secrets as JSON'

prod: # id of input
description: 'Production build flag'
Expand All @@ -18,6 +19,12 @@ runs:
using: 'composite'

steps:
- name: Restore Next.js Build Cache & Cypress cache
id: restore-nc
uses: ./.github/actions/cache-deps
with:
mode: restore-nc

- name: Set environment variables
shell: bash
run: |
Expand All @@ -31,7 +38,7 @@ runs:

- name: Build
shell: bash
run: yarn build
run: yarn workspace @safe-global/web build
env:
NEXT_PUBLIC_IS_PRODUCTION: ${{ inputs.prod }}
NEXT_PUBLIC_CYPRESS_MNEMONIC: ${{ inputs.e2e_mnemonic }}
Expand All @@ -51,6 +58,8 @@ runs:
NEXT_PUBLIC_SAFE_RELAY_SERVICE_URL_PRODUCTION: ${{ fromJSON(inputs.secrets).NEXT_PUBLIC_SAFE_GELATO_RELAY_SERVICE_URL_PRODUCTION }}
NEXT_PUBLIC_SAFE_RELAY_SERVICE_URL_STAGING: ${{ fromJSON(inputs.secrets).NEXT_PUBLIC_SAFE_GELATO_RELAY_SERVICE_URL_STAGING }}
NEXT_PUBLIC_IS_OFFICIAL_HOST: ${{ fromJSON(inputs.secrets).NEXT_PUBLIC_IS_OFFICIAL_HOST }}
NEXT_PUBLIC_BRAND_LOGO: ${{ fromJSON(inputs.secrets).NEXT_PUBLIC_BRAND_LOGO }}
NEXT_PUBLIC_BRAND_NAME: ${{ fromJSON(inputs.secrets).NEXT_PUBLIC_BRAND_NAME }}
NEXT_PUBLIC_BLOCKAID_CLIENT_ID: ${{ fromJSON(inputs.secrets).NEXT_PUBLIC_BLOCKAID_CLIENT_ID }}
NEXT_PUBLIC_SOCIAL_WALLET_OPTIONS_STAGING: ${{ fromJSON(inputs.secrets).NEXT_PUBLIC_SOCIAL_WALLET_OPTIONS_STAGING }}
NEXT_PUBLIC_SOCIAL_WALLET_OPTIONS_PRODUCTION: ${{ fromJSON(inputs.secrets).NEXT_PUBLIC_SOCIAL_WALLET_OPTIONS_PRODUCTION }}
Expand All @@ -60,3 +69,10 @@ runs:
NEXT_PUBLIC_FIREBASE_VAPID_KEY_STAGING: ${{ fromJSON(inputs.secrets).NEXT_PUBLIC_FIREBASE_VAPID_KEY_STAGING }}
NEXT_PUBLIC_SPINDL_SDK_KEY: ${{ fromJSON(inputs.secrets).NEXT_PUBLIC_SPINDL_SDK_KEY }}
NEXT_PUBLIC_ECOSYSTEM_ID_ADDRESS: ${{ fromJSON(inputs.secrets).NEXT_PUBLIC_ECOSYSTEM_ID_ADDRESS }}

- name: Save Next.js Build Cache & Cypress cache
if: steps.restore-nc.outputs.cache-hit-nc != 'true'
uses: ./.github/actions/cache-deps
with:
mode: save-nc
key: ${{ steps.restore-nc.outputs.computed-cache-key-nc }}
85 changes: 85 additions & 0 deletions .github/actions/cache-deps/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
name: "Cache Yarn Dependencies"
description: "Restore or save yarn dependencies"
inputs:
mode:
description: "restore-yarn | save-yarn | restore-nc | safe-nc"
required: true
key:
description: "The cache key to use to safe. Attention! Make sure to use the correct computed cache key depending on the mode"
required: false

outputs:
cache-hit-yarn:
value: ${{ steps.restore.outputs.cache-hit }}
description: "Whether the cache was hit or not"
computed-cache-key-yarn:
value: ${{ steps.restore.outputs.cache-primary-key }}
description: "The computed cache key for yarn"
cache-hit-nc:
value: ${{ steps.restore-nc.outputs.cache-hit }}
description: "Whether the cache was hit or not"
computed-cache-key-nc:
value: ${{ steps.restore-nc.outputs.cache-primary-key }}
description: "The computed cache key for nextjs/cypress"

runs:
using: "composite"
steps:
- name: Restore Yarn Cache
if: ${{ inputs.mode == 'restore-yarn' }}
id: restore
uses: actions/cache/restore@v4
with:
path: |
**/node_modules
/home/runner/.cache/Cypress
${{ github.workspace }}/.yarn/install-state.gz
${{ github.workspace }}/apps/web/src/types
key: ${{ runner.os }}-web-core-modules-${{ hashFiles('**/package.json','**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-web-core-modules-

- name: Set composite outputs yarn
if: ${{ inputs.mode == 'restore-yarn' }}
shell: bash
run: |
echo "cache-hit-yarn=${{ steps.restore.outputs.cache-hit }}" >> $GITHUB_OUTPUT
echo "computed-cache-key-yarn=${{ steps.restore.outputs.cache-primary-key }}" >> $GITHUB_OUTPUT

- name: Save Yarn Cache
if: ${{ inputs.mode == 'save-yarn' }}
uses: actions/cache/save@v4
with:
path: |
**/node_modules
/home/runner/.cache/Cypress
${{ github.workspace }}/.yarn/install-state.gz
${{ github.workspace }}/apps/web/src/types
key: ${{inputs.key}}

- name: Restore Next.js
if: ${{ inputs.mode == 'restore-nc' }}
id: restore-nc
uses: actions/cache/restore@v4
with:
path: |
${{ github.workspace }}/apps/web/.next/cache
key: ${{ runner.os }}-nextjs-cypress-${{ hashFiles('apps/web/package.json', 'apps/web/yarn.lock') }}-${{ hashFiles('apps/web/src/**/*', 'apps/web/public/**/*', 'apps/web/*.{js,jsx,cjs,ts,mjs,tsx,json} ') }}
restore-keys: |
${{ runner.os }}-nextjs-${{ hashFiles('apps/web/package.json', 'apps/web/yarn.lock') }}-

- name: Set composite outputs nc
if: ${{ inputs.mode == 'restore-nc' }}
shell: bash
run: |
echo "cache-hit-nc=${{ steps.restore-nc.outputs.cache-hit }}" >> $GITHUB_OUTPUT
echo "computed-cache-key-nc=${{ steps.restore-nc.outputs.cache-primary-key }}" >> $GITHUB_OUTPUT


- name: Save Next.js
if: ${{ inputs.mode == 'save-nc' }}
uses: actions/cache/save@v4
with:
path: |
${{ github.workspace }}/apps/web/.next/cache
key: ${{inputs.key}}
8 changes: 8 additions & 0 deletions .github/actions/corepack/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
name: "Enable corepack"

runs:
using: "composite"
steps:
- name: "Enable Corepack"
shell: bash
run: corepack enable
Original file line number Diff line number Diff line change
Expand Up @@ -30,27 +30,19 @@ inputs:
runs:
using: 'composite'
steps:
- uses: ./.github/workflows/yarn
- uses: ./.github/actions/yarn

- name: Install Latest stable Chrome Version
shell: bash
run: |
curl -O 'https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb'
sudo apt-get install ./google-chrome-stable_current_amd64.deb

- name: Install Cypress 13.15.2
shell: bash
run: yarn add -D [email protected]

- uses: ./.github/workflows/build
- uses: ./.github/actions/build
with:
secrets: ${{ inputs.secrets }}
e2e_mnemonic: ${{ fromJSON(inputs.secrets).NEXT_PUBLIC_CYPRESS_MNEMONIC }}

- name: Serve
shell: bash
run: yarn serve &

- uses: cypress-io/github-action@v6
with:
spec: ${{ inputs.spec }}
Expand All @@ -60,6 +52,9 @@ runs:
record: true
tag: ${{ inputs.tag }}
config: baseUrl=http://localhost:8080
install: false
start: yarn workspace @safe-global/web serve
working-directory: apps/web
env:
CYPRESS_RECORD_KEY: ${{ inputs.record_key || fromJSON(inputs.secrets).CYPRESS_RECORD_KEY }}
GITHUB_TOKEN: ${{ fromJSON(inputs.secrets).GITHUB_TOKEN }}
Expand Down
41 changes: 41 additions & 0 deletions .github/actions/yarn/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: 'Yarn'

description: 'Install the dependencies'

runs:
using: 'composite'
steps:
# We require yarn v4 and installing through corepack is the easiest way to get it
- uses: actions/checkout@v4

- uses: ./.github/actions/corepack

- name: Restore Yarn Cache & Types
id: restore-yarn-types
uses: ./.github/actions/cache-deps
with:
mode: restore-yarn

- name: Echo cache hit
shell: bash
run: |
echo "Yarn cache hit: ${{ steps.restore-yarn-types.outputs.cache-hit-yarn }}"

- name: Yarn install
if: steps.restore-yarn-types.outputs.cache-hit-yarn != 'true'
shell: bash
run: |
yarn install --immutable

- name: Yarn after-install to generate contracts types
if: steps.restore-yarn-types.outputs.cache-hit-yarn != 'true'
shell: bash
run: |
yarn workspace @safe-global/web after-install

- name: Save Yarn Cache & Types
if: steps.restore-yarn-types.outputs.cache-hit-yarn != 'true'
uses: ./.github/actions/cache-deps
with:
mode: save-yarn
key: ${{ steps.restore-yarn-types.outputs.computed-cache-key-yarn }}
32 changes: 0 additions & 32 deletions .github/workflows/code-review-gpt.yml

This file was deleted.

62 changes: 0 additions & 62 deletions .github/workflows/deploy-dockerhub.yml

This file was deleted.

Loading
Loading