[#250] Frontend: Improve Wallet Connection UX with auto-reconnect #182
Annotations
10 errors, 1 warning, and 1 notice
|
[chromium] › e2e/deposit-withdraw.spec.ts:30:3 › Deposit panel no wallet › strategy info panel shows exchange rate and network fee:
frontend/e2e/deposit-withdraw.spec.ts#L32
4) [chromium] › e2e/deposit-withdraw.spec.ts:30:3 › Deposit panel no wallet › strategy info panel shows exchange rate and network fee
Error: expect(locator).toBeVisible() failed
Locator: getByText('1 yvUSDC = 1.084 USDC')
Expected: visible
Timeout: 5000ms
Error: element(s) not found
Call log:
- Expect "toBeVisible" with timeout 5000ms
- waiting for getByText('1 yvUSDC = 1.084 USDC')
30 | test('strategy info panel shows exchange rate and network fee', async ({ page }) => {
31 | await page.goto('/');
> 32 | await expect(page.getByText('1 yvUSDC = 1.084 USDC')).toBeVisible();
| ^
33 | await expect(page.getByText('~0.00001 XLM')).toBeVisible();
34 | await expect(page.getByText('BENJI Strategy')).toBeVisible();
35 | });
at /home/runner/work/YieldVault-RWA/YieldVault-RWA/frontend/e2e/deposit-withdraw.spec.ts:32:59
|
|
[chromium] › e2e/dashboard-load.spec.ts:64:3 › Dashboard load › analytics page shows live vault metrics:
frontend/e2e/dashboard-load.spec.ts#L67
3) [chromium] › e2e/dashboard-load.spec.ts:64:3 › Dashboard load › analytics page shows live vault metrics
Retry #2 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(locator).toBeVisible() failed
Locator: getByText('Project Analytics')
Expected: visible
Timeout: 5000ms
Error: element(s) not found
Call log:
- Expect "toBeVisible" with timeout 5000ms
- waiting for getByText('Project Analytics')
65 | await page.goto('/analytics');
66 |
> 67 | await expect(page.getByText('Project Analytics')).toBeVisible();
| ^
68 |
69 | // TVL card
70 | await expect(page.getByText('Total Value Locked')).toBeVisible();
at /home/runner/work/YieldVault-RWA/YieldVault-RWA/frontend/e2e/dashboard-load.spec.ts:67:55
|
|
[chromium] › e2e/dashboard-load.spec.ts:64:3 › Dashboard load › analytics page shows live vault metrics:
frontend/e2e/dashboard-load.spec.ts#L67
3) [chromium] › e2e/dashboard-load.spec.ts:64:3 › Dashboard load › analytics page shows live vault metrics
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(locator).toBeVisible() failed
Locator: getByText('Project Analytics')
Expected: visible
Timeout: 5000ms
Error: element(s) not found
Call log:
- Expect "toBeVisible" with timeout 5000ms
- waiting for getByText('Project Analytics')
65 | await page.goto('/analytics');
66 |
> 67 | await expect(page.getByText('Project Analytics')).toBeVisible();
| ^
68 |
69 | // TVL card
70 | await expect(page.getByText('Total Value Locked')).toBeVisible();
at /home/runner/work/YieldVault-RWA/YieldVault-RWA/frontend/e2e/dashboard-load.spec.ts:67:55
|
|
[chromium] › e2e/dashboard-load.spec.ts:64:3 › Dashboard load › analytics page shows live vault metrics:
frontend/e2e/dashboard-load.spec.ts#L67
3) [chromium] › e2e/dashboard-load.spec.ts:64:3 › Dashboard load › analytics page shows live vault metrics
Error: expect(locator).toBeVisible() failed
Locator: getByText('Project Analytics')
Expected: visible
Timeout: 5000ms
Error: element(s) not found
Call log:
- Expect "toBeVisible" with timeout 5000ms
- waiting for getByText('Project Analytics')
65 | await page.goto('/analytics');
66 |
> 67 | await expect(page.getByText('Project Analytics')).toBeVisible();
| ^
68 |
69 | // TVL card
70 | await expect(page.getByText('Total Value Locked')).toBeVisible();
at /home/runner/work/YieldVault-RWA/YieldVault-RWA/frontend/e2e/dashboard-load.spec.ts:67:55
|
|
[chromium] › e2e/dashboard-load.spec.ts:45:3 › Dashboard load › navbar links navigate to the correct routes:
frontend/e2e/dashboard-load.spec.ts#L51
2) [chromium] › e2e/dashboard-load.spec.ts:45:3 › Dashboard load › navbar links navigate to the correct routes
Retry #2 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(locator).toBeVisible() failed
Locator: getByText('Project Analytics')
Expected: visible
Timeout: 5000ms
Error: element(s) not found
Call log:
- Expect "toBeVisible" with timeout 5000ms
- waiting for getByText('Project Analytics')
49 | await page.getByRole('link', { name: 'Analytics' }).click();
50 | await expect(page).toHaveURL('/analytics');
> 51 | await expect(page.getByText('Project Analytics')).toBeVisible();
| ^
52 |
53 | // Navigate to Portfolio
54 | await page.getByRole('link', { name: 'Portfolio' }).click();
at /home/runner/work/YieldVault-RWA/YieldVault-RWA/frontend/e2e/dashboard-load.spec.ts:51:55
|
|
[chromium] › e2e/dashboard-load.spec.ts:45:3 › Dashboard load › navbar links navigate to the correct routes:
frontend/e2e/dashboard-load.spec.ts#L51
2) [chromium] › e2e/dashboard-load.spec.ts:45:3 › Dashboard load › navbar links navigate to the correct routes
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(locator).toBeVisible() failed
Locator: getByText('Project Analytics')
Expected: visible
Timeout: 5000ms
Error: element(s) not found
Call log:
- Expect "toBeVisible" with timeout 5000ms
- waiting for getByText('Project Analytics')
49 | await page.getByRole('link', { name: 'Analytics' }).click();
50 | await expect(page).toHaveURL('/analytics');
> 51 | await expect(page.getByText('Project Analytics')).toBeVisible();
| ^
52 |
53 | // Navigate to Portfolio
54 | await page.getByRole('link', { name: 'Portfolio' }).click();
at /home/runner/work/YieldVault-RWA/YieldVault-RWA/frontend/e2e/dashboard-load.spec.ts:51:55
|
|
[chromium] › e2e/dashboard-load.spec.ts:45:3 › Dashboard load › navbar links navigate to the correct routes:
frontend/e2e/dashboard-load.spec.ts#L51
2) [chromium] › e2e/dashboard-load.spec.ts:45:3 › Dashboard load › navbar links navigate to the correct routes
Error: expect(locator).toBeVisible() failed
Locator: getByText('Project Analytics')
Expected: visible
Timeout: 5000ms
Error: element(s) not found
Call log:
- Expect "toBeVisible" with timeout 5000ms
- waiting for getByText('Project Analytics')
49 | await page.getByRole('link', { name: 'Analytics' }).click();
50 | await expect(page).toHaveURL('/analytics');
> 51 | await expect(page.getByText('Project Analytics')).toBeVisible();
| ^
52 |
53 | // Navigate to Portfolio
54 | await page.getByRole('link', { name: 'Portfolio' }).click();
at /home/runner/work/YieldVault-RWA/YieldVault-RWA/frontend/e2e/dashboard-load.spec.ts:51:55
|
|
[chromium] › e2e/dashboard-load.spec.ts:33:3 › Dashboard load › shows wallet-not-connected overlay on the deposit panel:
frontend/e2e/dashboard-load.spec.ts#L39
1) [chromium] › e2e/dashboard-load.spec.ts:33:3 › Dashboard load › shows wallet-not-connected overlay on the deposit panel
Retry #2 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(locator).toBeVisible() failed
Locator: getByText('Please connect your Freighter wallet to deposit USDC and earn RWA yields.')
Expected: visible
Timeout: 5000ms
Error: element(s) not found
Call log:
- Expect "toBeVisible" with timeout 5000ms
- waiting for getByText('Please connect your Freighter wallet to deposit USDC and earn RWA yields.')
37 | await expect(
38 | page.getByText('Please connect your Freighter wallet to deposit USDC and earn RWA yields.'),
> 39 | ).toBeVisible();
| ^
40 |
41 | // Connect button in navbar must be present
42 | await expect(page.getByRole('button', { name: /Connect Freighter/i })).toBeVisible();
at /home/runner/work/YieldVault-RWA/YieldVault-RWA/frontend/e2e/dashboard-load.spec.ts:39:7
|
|
[chromium] › e2e/dashboard-load.spec.ts:33:3 › Dashboard load › shows wallet-not-connected overlay on the deposit panel:
frontend/e2e/dashboard-load.spec.ts#L39
1) [chromium] › e2e/dashboard-load.spec.ts:33:3 › Dashboard load › shows wallet-not-connected overlay on the deposit panel
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(locator).toBeVisible() failed
Locator: getByText('Please connect your Freighter wallet to deposit USDC and earn RWA yields.')
Expected: visible
Timeout: 5000ms
Error: element(s) not found
Call log:
- Expect "toBeVisible" with timeout 5000ms
- waiting for getByText('Please connect your Freighter wallet to deposit USDC and earn RWA yields.')
37 | await expect(
38 | page.getByText('Please connect your Freighter wallet to deposit USDC and earn RWA yields.'),
> 39 | ).toBeVisible();
| ^
40 |
41 | // Connect button in navbar must be present
42 | await expect(page.getByRole('button', { name: /Connect Freighter/i })).toBeVisible();
at /home/runner/work/YieldVault-RWA/YieldVault-RWA/frontend/e2e/dashboard-load.spec.ts:39:7
|
|
[chromium] › e2e/dashboard-load.spec.ts:33:3 › Dashboard load › shows wallet-not-connected overlay on the deposit panel:
frontend/e2e/dashboard-load.spec.ts#L39
1) [chromium] › e2e/dashboard-load.spec.ts:33:3 › Dashboard load › shows wallet-not-connected overlay on the deposit panel
Error: expect(locator).toBeVisible() failed
Locator: getByText('Please connect your Freighter wallet to deposit USDC and earn RWA yields.')
Expected: visible
Timeout: 5000ms
Error: element(s) not found
Call log:
- Expect "toBeVisible" with timeout 5000ms
- waiting for getByText('Please connect your Freighter wallet to deposit USDC and earn RWA yields.')
37 | await expect(
38 | page.getByText('Please connect your Freighter wallet to deposit USDC and earn RWA yields.'),
> 39 | ).toBeVisible();
| ^
40 |
41 | // Connect button in navbar must be present
42 | await expect(page.getByRole('button', { name: /Connect Freighter/i })).toBeVisible();
at /home/runner/work/YieldVault-RWA/YieldVault-RWA/frontend/e2e/dashboard-load.spec.ts:39:7
|
|
Playwright E2E
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
🎭 Playwright Run Summary
14 failed
[chromium] › e2e/dashboard-load.spec.ts:33:3 › Dashboard load › shows wallet-not-connected overlay on the deposit panel
[chromium] › e2e/dashboard-load.spec.ts:45:3 › Dashboard load › navbar links navigate to the correct routes
[chromium] › e2e/dashboard-load.spec.ts:64:3 › Dashboard load › analytics page shows live vault metrics
[chromium] › e2e/deposit-withdraw.spec.ts:30:3 › Deposit panel no wallet › strategy info panel shows exchange rate and network fee
[chromium] › e2e/deposit-withdraw.spec.ts:56:3 › Deposit & Withdraw connected wallet › deposit tab is active by default and can switch to withdraw
[chromium] › e2e/deposit-withdraw.spec.ts:70:3 › Deposit & Withdraw connected wallet › MAX button fills the amount input with the current balance
[chromium] › e2e/deposit-withdraw.spec.ts:78:3 › Deposit & Withdraw connected wallet › performs a deposit and updates the balance
[chromium] › e2e/deposit-withdraw.spec.ts:95:3 › Deposit & Withdraw connected wallet › performs a withdrawal and updates the balance
[chromium] › e2e/portfolio.spec.ts:25:3 › Portfolio page authenticated › loads and displays portfolio holdings after wallet connects
[chromium] › e2e/portfolio.spec.ts:34:3 › Portfolio page authenticated › displays correct total portfolio value
[chromium] › e2e/portfolio.spec.ts:41:3 › Portfolio page authenticated › search filter narrows holdings results
[chromium] › e2e/portfolio.spec.ts:54:3 › Portfolio page authenticated › clearing search restores all holdings
[chromium] › e2e/portfolio.spec.ts:66:3 › Portfolio page authenticated › rows-per-page selector changes visible row count
[chromium] › e2e/portfolio.spec.ts:80:3 › Portfolio page authenticated › column sort changes row order
8 passed (9.5m)
|
Artifacts
Produced during runtime
| Name | Size | Digest | |
|---|---|---|---|
|
playwright-failure-artifacts
Expired
|
101 MB |
sha256:807a0dfab2295893b6283747892465bf25d5ec24011f7f8a5f545f1dd9b4028b
|
|
|
playwright-report
Expired
|
97 MB |
sha256:6c89e2c1f2a916ac439981c420302d4801425e06eff69fcf67f53d49bd24a2f9
|
|