Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
ae8a386
fix: disable layout animations on ios new arch projects
ignaciosantise Mar 28, 2025
fd814b9
chore: run verify and tests on release action
ignaciosantise Jun 11, 2025
331169b
Update author field in package.json files
devin-ai-integration[bot] Jun 18, 2025
fc2fda7
Create nasty-spiders-care.md
ignaciosantise Jun 18, 2025
03ff0a0
chore: added folders to prettierignore
ignaciosantise Jun 18, 2025
cd7f1ce
Merge pull request #361 from reown-com/devin/1750236592-update-author…
ignaciosantise Jun 18, 2025
186907e
Remove name property from private package.json files
devin-ai-integration[bot] Jun 19, 2025
bf53f11
Fix workspace configuration by restoring name property to root packag…
devin-ai-integration[bot] Jun 19, 2025
48154df
Remove name property from root package.json to complete task requirem…
devin-ai-integration[bot] Jun 19, 2025
ee4c881
Update lockfile to fix CI
devin-ai-integration[bot] Jun 19, 2025
9847987
Set root package.json name to ak-rn-monorepo to fix CI
devin-ai-integration[bot] Jun 19, 2025
3241fe8
Merge pull request #363 from reown-com/devin/1750327764-remove-name-f…
ignaciosantise Jun 19, 2025
234c995
chore: bump valtio to 1.13.2 + removed vanilla imports
ignaciosantise Jun 25, 2025
d83a322
chore: update changeset
ignaciosantise Jun 25, 2025
a6eb6ce
chore: add names in sample apps package.json
ignaciosantise Jun 25, 2025
a0bd822
chore: yarn file
ignaciosantise Jun 25, 2025
95fc8ac
chore: removed react-native-modal peer dep from scaffold
ignaciosantise Jun 25, 2025
c425b73
chore: changeset file
ignaciosantise Jun 26, 2025
ec26317
Merge pull request #368 from reown-com/fix/valtio-vanilla
ignaciosantise Jun 26, 2025
5e95cb1
chore: chore: replace internal URL usage with custom logic to avoid p…
ignaciosantise Jun 26, 2025
7542b99
Merge pull request #369 from reown-com/fix/remove-url-usage
ignaciosantise Jun 26, 2025
52750d7
Merge pull request #375 from reown-com/fix/ios-new-arch
ignaciosantise Jul 1, 2025
df7b5b2
chore: added extra checks to createUrl util
ignaciosantise Jul 1, 2025
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
2 changes: 1 addition & 1 deletion .changeset/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,5 @@
"baseBranch": "main",
"commit": false,
"updateInternalDependencies": "patch",
"ignore": ["@apps/gallery", "@apps/native"]
"ignore": ["@apps/*"]
}
18 changes: 18 additions & 0 deletions .changeset/nasty-spiders-care.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
"@reown/appkit-core-react-native": patch
"@reown/appkit-ui-react-native": patch
"@reown/appkit-common-react-native": patch
"@reown/appkit-wallet-react-native": patch
"@reown/appkit-scaffold-utils-react-native": patch
"@reown/appkit-scaffold-react-native": patch
"@reown/appkit-siwe-react-native": patch
"@reown/appkit-wagmi-react-native": patch
"@reown/appkit-coinbase-wagmi-react-native": patch
"@reown/appkit-auth-wagmi-react-native": patch
"@reown/appkit-auth-ethers-react-native": patch
"@reown/appkit-coinbase-ethers-react-native": patch
"@reown/appkit-ethers5-react-native": patch
"@reown/appkit-ethers-react-native": patch
---

Update author field in package.json files to use Discord link
18 changes: 18 additions & 0 deletions .changeset/rotten-pianos-argue.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
'@reown/appkit-coinbase-ethers-react-native': patch
'@reown/appkit-coinbase-wagmi-react-native': patch
'@reown/appkit-scaffold-utils-react-native': patch
'@reown/appkit-auth-ethers-react-native': patch
'@reown/appkit-auth-wagmi-react-native': patch
'@reown/appkit-scaffold-react-native': patch
'@reown/appkit-ethers5-react-native': patch
'@reown/appkit-common-react-native': patch
'@reown/appkit-ethers-react-native': patch
'@reown/appkit-wallet-react-native': patch
'@reown/appkit-wagmi-react-native': patch
'@reown/appkit-core-react-native': patch
'@reown/appkit-siwe-react-native': patch
'@reown/appkit-ui-react-native': patch
---

chore: replace internal URL usage with custom logic to avoid polyfill issues
18 changes: 18 additions & 0 deletions .changeset/shaggy-plants-fly.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
'@reown/appkit-scaffold-react-native': patch
'@reown/appkit-auth-ethers-react-native': patch
'@reown/appkit-auth-wagmi-react-native': patch
'@reown/appkit-coinbase-ethers-react-native': patch
'@reown/appkit-coinbase-wagmi-react-native': patch
'@reown/appkit-common-react-native': patch
'@reown/appkit-core-react-native': patch
'@reown/appkit-ethers-react-native': patch
'@reown/appkit-ethers5-react-native': patch
'@reown/appkit-scaffold-utils-react-native': patch
'@reown/appkit-siwe-react-native': patch
'@reown/appkit-ui-react-native': patch
'@reown/appkit-wagmi-react-native': patch
'@reown/appkit-wallet-react-native': patch
---

fix: disable layout animations on ios new arch projects
18 changes: 18 additions & 0 deletions .changeset/slow-toes-dream.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
'@reown/appkit-coinbase-ethers-react-native': patch
'@reown/appkit-coinbase-wagmi-react-native': patch
'@reown/appkit-scaffold-utils-react-native': patch
'@reown/appkit-auth-ethers-react-native': patch
'@reown/appkit-auth-wagmi-react-native': patch
'@reown/appkit-scaffold-react-native': patch
'@reown/appkit-ethers5-react-native': patch
'@reown/appkit-common-react-native': patch
'@reown/appkit-ethers-react-native': patch
'@reown/appkit-wallet-react-native': patch
'@reown/appkit-wagmi-react-native': patch
'@reown/appkit-core-react-native': patch
'@reown/appkit-siwe-react-native': patch
'@reown/appkit-ui-react-native': patch
---

chore: bump valtio to 1.13.2
3 changes: 2 additions & 1 deletion .eslintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@
"react-hooks/exhaustive-deps": "warn",
"no-console": ["error", { "allow": ["warn"] }],
"newline-before-return": "error",
"radix": "off"
"radix": "off",
"dot-notation": "off"
},
"parserOptions": {
"requireConfigFile": false
Expand Down
11 changes: 11 additions & 0 deletions .github/workflows/changesets.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,19 @@ concurrency:
cancel-in-progress: true

jobs:
verify:
name: Verify
uses: ./.github/workflows/verify.yml
secrets: inherit

e2e:
name: E2E
uses: ./.github/workflows/e2e.yml
secrets: inherit

release:
name: Release
needs: [verify, e2e]
permissions:
contents: write
id-token: write
Expand Down
10 changes: 8 additions & 2 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
/apps
.yarn
.github/actions
.yarn/
.github/
.changeset/
.env*
.vscode/
.turbo/
__mocks__/
scripts/
2 changes: 1 addition & 1 deletion apps/gallery/package.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"name": "@apps/gallery",
"version": "1.0.8",
"main": "index.js",
"private": true,
"name": "@apps/gallery",
"devDependencies": {
"@babel/core": "*",
"@babel/preset-env": "^7.22.10",
Expand Down
2 changes: 1 addition & 1 deletion apps/native/package.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"name": "@apps/native",
"version": "1.0.8",
"main": "index.js",
"private": true,
"name": "@apps/native",
"scripts": {
"start": "expo start",
"android": "expo start --android",
Expand Down
6 changes: 3 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"name": "appkit-react-native",
"name": "ak-rn-monorepo",
"version": "1.2.5",
"private": true,
"workspaces": [
Expand Down Expand Up @@ -42,8 +42,8 @@
"@babel/plugin-proposal-class-properties": "^7.18.6",
"@babel/plugin-proposal-private-methods": "^7.18.6",
"@babel/plugin-transform-flow-strip-types": "^7.26.5",
"@changesets/changelog-github": "0.5.0",
"@changesets/cli": "2.27.7",
"@changesets/changelog-github": "0.5.1",
"@changesets/cli": "2.29.5",
"@coinbase/wallet-mobile-sdk": "1.1.2",
"@react-native-async-storage/async-storage": "2.1.2",
"@react-native/babel-preset": "0.76.7",
Expand Down
2 changes: 1 addition & 1 deletion packages/auth-ethers/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
"ethers"
],
"repository": "https://github.com/reown-com/appkit-react-native",
"author": "Reown <support@reown.com> (https://reown.com)",
"author": "Reown (https://discord.gg/reown)",
"homepage": "https://reown.com/appkit",
"license": "Apache-2.0",
"bugs": {
Expand Down
2 changes: 1 addition & 1 deletion packages/auth-wagmi/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
"wagmi"
],
"repository": "https://github.com/reown-com/appkit-react-native",
"author": "Reown <support@reown.com> (https://reown.com)",
"author": "Reown (https://discord.gg/reown)",
"homepage": "https://reown.com/appkit",
"license": "Apache-2.0",
"bugs": {
Expand Down
2 changes: 1 addition & 1 deletion packages/coinbase-ethers/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
"ethers"
],
"repository": "https://github.com/reown-com/appkit-react-native",
"author": "Reown <support@reown.com> (https://reown.com)",
"author": "Reown (https://discord.gg/reown)",
"homepage": "https://reown.com/appkit",
"license": "Apache-2.0",
"bugs": {
Expand Down
2 changes: 1 addition & 1 deletion packages/coinbase-wagmi/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
"wagmi"
],
"repository": "https://github.com/reown-com/appkit-react-native",
"author": "Reown <support@reown.com> (https://reown.com)",
"author": "Reown (https://discord.gg/reown)",
"homepage": "https://reown.com/appkit",
"license": "Apache-2.0",
"bugs": {
Expand Down
2 changes: 1 addition & 1 deletion packages/common/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
"react-native"
],
"repository": "https://github.com/reown-com/appkit-react-native",
"author": "Reown <support@reown.com> (https://reown.com)",
"author": "Reown (https://discord.gg/reown)",
"homepage": "https://reown.com/appkit",
"license": "Apache-2.0",
"bugs": {
Expand Down
4 changes: 2 additions & 2 deletions packages/core/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
"react-native"
],
"repository": "https://github.com/reown-com/appkit-react-native",
"author": "Reown <support@reown.com> (https://reown.com)",
"author": "Reown (https://discord.gg/reown)",
"homepage": "https://reown.com/appkit",
"license": "Apache-2.0",
"bugs": {
Expand All @@ -39,7 +39,7 @@
},
"dependencies": {
"@reown/appkit-common-react-native": "1.2.5",
"valtio": "1.11.2"
"valtio": "1.13.2"
},
"peerDependencies": {
"@react-native-async-storage/async-storage": ">=1.17.0",
Expand Down
107 changes: 107 additions & 0 deletions packages/core/src/__tests__/utils/FetchUtil.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
import { FetchUtil } from '../../utils/FetchUtil';

describe('FetchUtil', () => {
const baseUrl = 'https://api.example.com';
const clientId = 'test-client-id';

describe('createUrl', () => {
it('should construct a simple URL with a relative path', () => {
const fetchUtil = new FetchUtil({ baseUrl });
// @ts-expect-error Testing private method
const url = fetchUtil.createUrl({ path: 'test' });
expect(url).toBe('https://api.example.com/test');
});

it('should handle base URL without a trailing slash', () => {
const fetchUtil = new FetchUtil({ baseUrl: 'https://api.example.com' });
// @ts-expect-error Testing private method
const url = fetchUtil.createUrl({ path: 'test' });
expect(url).toBe('https://api.example.com/test');
});

it('should handle base URL with a trailing slash', () => {
const fetchUtil = new FetchUtil({ baseUrl: 'https://api.example.com/' });
// @ts-expect-error Testing private method
const url = fetchUtil.createUrl({ path: 'test' });
expect(url).toBe('https://api.example.com/test');
});

it('should handle relative path with a leading slash', () => {
const fetchUtil = new FetchUtil({ baseUrl });
// @ts-expect-error Testing private method
const url = fetchUtil.createUrl({ path: '/test' });
expect(url).toBe('https://api.example.com/test');
});

it('should use the path as is if it is an absolute URL', () => {
const fetchUtil = new FetchUtil({ baseUrl });
// @ts-expect-error Testing private method
const url = fetchUtil.createUrl({ path: 'https://another.com/test' });
expect(url).toBe('https://another.com/test');
});

it('should add query parameters to the URL', () => {
const fetchUtil = new FetchUtil({ baseUrl });
const params = { foo: 'bar', baz: 'qux' };
// @ts-expect-error Testing private method
const url = fetchUtil.createUrl({ path: 'test', params });
expect(url).toBe('https://api.example.com/test?foo=bar&baz=qux');
});

it('should add clientId as a query parameter if provided', () => {
const fetchUtil = new FetchUtil({ baseUrl, clientId });
// @ts-expect-error Testing private method
const url = fetchUtil.createUrl({ path: 'test' });
expect(url).toBe('https://api.example.com/test?clientId=test-client-id');
});

it('should combine clientId and other query parameters', () => {
const fetchUtil = new FetchUtil({ baseUrl, clientId });
const params = { foo: 'bar' };
// @ts-expect-error Testing private method
const url = fetchUtil.createUrl({ path: 'test', params });
expect(url).toBe('https://api.example.com/test?foo=bar&clientId=test-client-id');
});

it('should append to existing query parameters in the path', () => {
const fetchUtil = new FetchUtil({ baseUrl });
const params = { baz: 'qux' };
// @ts-expect-error Testing private method
const url = fetchUtil.createUrl({ path: 'test?foo=bar', params });
expect(url).toBe('https://api.example.com/test?foo=bar&baz=qux');
});

it('should correctly encode special characters in parameters', () => {
const fetchUtil = new FetchUtil({ baseUrl });
const params = { 'key with space': 'value with &' };
// @ts-expect-error Testing private method
const url = fetchUtil.createUrl({ path: 'test', params });
const expectedUrl = 'https://api.example.com/test?key%20with%20space=value%20with%20%26';
expect(url).toBe(expectedUrl);
});

it('should ignore undefined parameter values', () => {
const fetchUtil = new FetchUtil({ baseUrl });
const params = { foo: 'bar', baz: undefined };
// @ts-expect-error Testing private method
const url = fetchUtil.createUrl({ path: 'test', params });
expect(url).toBe('https://api.example.com/test?foo=bar');
});

it('should handle absolute URL with params', () => {
const fetchUtil = new FetchUtil({ baseUrl });
const params = { foo: 'bar' };
// @ts-expect-error Testing private method
const url = fetchUtil.createUrl({ path: 'https://another.com/test', params });
expect(url).toBe('https://another.com/test?foo=bar');
});

it('should handle absolute URL with existing params and new params', () => {
const fetchUtil = new FetchUtil({ baseUrl, clientId });
const params = { bar: 'baz' };
// @ts-expect-error Testing private method
const url = fetchUtil.createUrl({ path: 'https://another.com/test?foo=bar', params });
expect(url).toBe('https://another.com/test?foo=bar&bar=baz&clientId=test-client-id');
});
});
});
4 changes: 2 additions & 2 deletions packages/core/src/controllers/EnsController.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { subscribeKey as subKey } from 'valtio/vanilla/utils';
import { proxy, subscribe as sub } from 'valtio/vanilla';
import { subscribeKey as subKey } from 'valtio/utils';
import { proxy, subscribe as sub } from 'valtio';
import { BlockchainApiController } from './BlockchainApiController';
import type { BlockchainApiEnsError } from '../utils/TypeUtil';

Expand Down
2 changes: 1 addition & 1 deletion packages/core/src/controllers/EventsController.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { proxy, subscribe as sub } from 'valtio/vanilla';
import { proxy, subscribe as sub } from 'valtio';
import { ApiController } from './ApiController';
import { OptionsController } from './OptionsController';
import { CoreHelperUtil } from '../utils/CoreHelperUtil';
Expand Down
4 changes: 2 additions & 2 deletions packages/core/src/controllers/SendController.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { subscribeKey as subKey } from 'valtio/vanilla/utils';
import { proxy, ref, subscribe as sub } from 'valtio/vanilla';
import { subscribeKey as subKey } from 'valtio/utils';
import { proxy, ref, subscribe as sub } from 'valtio';
import { ContractUtil, type Balance } from '@reown/appkit-common-react-native';
import { AccountController } from './AccountController';
import { ConnectionController } from './ConnectionController';
Expand Down
2 changes: 1 addition & 1 deletion packages/core/src/controllers/TransactionsController.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import type { Transaction } from '@reown/appkit-common-react-native';
import { proxy, subscribe as sub } from 'valtio/vanilla';
import { proxy, subscribe as sub } from 'valtio';
import { OptionsController } from './OptionsController';
import { EventsController } from './EventsController';
import { SnackController } from './SnackController';
Expand Down
Loading