Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
2ca41a3
fix: hotfix release flow ships only hotfix commits and uses patch bum…
0xApotheosis Mar 3, 2026
2a7fc49
fix: add bsc fallback rpc env urls (#12074)
gomes-bot Mar 3, 2026
c803fad
fix: resolve 404 on terms of service and privacy policy links (#12069)
NeOMakinG Mar 3, 2026
1a48e12
feat: bitcoin wcv2 wallet support (#11913)
gomes-bot Mar 3, 2026
cf2c8ed
feat: bitcoin wc dapps support (#11916)
gomes-bot Mar 3, 2026
7bf30cf
feat: honor dev port override (#12076)
gomes-bot Mar 3, 2026
55b9823
chore: update rfox ipfs hash (#12090)
kaladinlight Mar 3, 2026
07dc276
Merge branch 'main' into develop
0xApotheosis Mar 3, 2026
7148c6b
fix: chainflip lending information architecture revamp polish (#12091)
gomes-bot Mar 4, 2026
4c99f2c
feat: chainflip lending action center integration (#12064)
gomes-bot Mar 4, 2026
a775d05
fix: unrug chainflip ltv gauge (#12087)
gomes-bot Mar 4, 2026
14b724c
fix: disable rfox claim button when no claimable unstaking requests (…
NeOMakinG Mar 4, 2026
2995947
feat: gate chainflip lending actions by safe mode (#12088)
gomes-bot Mar 4, 2026
a526803
feat: add reliability checklist to qabot skill (#12089)
gomes-bot Mar 4, 2026
89c135a
fix: ledger yield staking blind signing toast and transaction underpr…
gomes-bot Mar 4, 2026
ef526e6
feat: opt-in rbf for bitcoin transactions (#11883)
gomes-bot Mar 4, 2026
522eb9c
feat: qabot exploration mode, no-go zones, trade data-testids (#12062)
gomes-bot Mar 4, 2026
114d2bd
chore: codex compatibility symlinks (#12068)
gomes-bot Mar 4, 2026
d96512f
fix: limit order expiry selector scroll truncation (#12070)
NeOMakinG Mar 4, 2026
02fc000
fix: add mobile padding to yields page title (#12080)
NeOMakinG Mar 4, 2026
d9b9632
fix: constrain send address input height with maxRows (#12072)
NeOMakinG Mar 4, 2026
b5cf8b1
fix: route fox ecosystem trade CTA to FOX context (#12081)
NeOMakinG Mar 4, 2026
b6e4306
fix: prevent fiat input from preserving trailing zero (#12084)
NeOMakinG Mar 4, 2026
3778221
fix: show error state when pools endpoint fails (#12093)
NeOMakinG Mar 4, 2026
375b040
fix: add mixpanel tracking for yield.xyz provider (#12013) (#12086)
NeOMakinG Mar 4, 2026
b3f4c86
fix: mobile yield opportunity scrolling and layout (#12083)
NeOMakinG Mar 4, 2026
24403c7
fix: handle ton:mainnet assets gracefully in ecosystem (#12082)
NeOMakinG Mar 4, 2026
19aceea
fix: mitigate dependabot alerts via pnpm overrides (#12060)
gomes-bot Mar 4, 2026
9c2c443
feat: enable strict peer dependency enforcement (#12061)
gomes-bot Mar 4, 2026
7e7f5a7
fix: unrug public-api railway ci (#12097)
gomesalexandre Mar 4, 2026
7ba94b1
fix: unrug Railway CI - copy patches dir and add .railwayignore (#12099)
0xApotheosis Mar 5, 2026
ad1e24d
fix: use copy package-import-method in Docker to avoid pnpm ENOENT (#…
0xApotheosis Mar 5, 2026
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
1 change: 1 addition & 0 deletions .agents/skills
34 changes: 34 additions & 0 deletions .claude/skills/qabot/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,27 @@ On first visit to any origin (gome.shapeshift.com, release.shapeshift.com, etc.)

**IMPORTANT**: Always use the `qabot` profile. The native wallet is stored in this profile's IndexedDB per-origin.

Use a shell-scoped command alias at session start to reduce command noise:

```bash
AB='agent-browser --session qabot --profile ~/.agent-browser/profiles/qabot'
```

Then use `$AB` for all commands in that shell session:

```bash
$AB open <url>
$AB snapshot
$AB click "Connect Wallet"
$AB screenshot /tmp/step-0.png
```

When you need a headed run, append `--headed` only for that command:

```bash
$AB --headed open <url>
```

```bash
agent-browser --session qabot --profile ~/.agent-browser/profiles/qabot open <url>
```
Expand Down Expand Up @@ -127,6 +148,19 @@ The native wallet requires a password on each session start. The wallet-health f
`eval "$(cat /tmp/click-next.js)"`
7. Wait 8+ seconds for external origins to fully hydrate

### PR Review Reliability Checklist (localhost)

When using qabot for PR review validation on localhost:

1. Follow PR `Testing` steps verbatim before adding extra assertions.
2. Do a manual-first pass with `agent-browser` in the same live session:
- reach exact page/state
- confirm account/wallet assumptions
- validate selectors and click-path before reporting
3. Keep wallet setup as preflight only (never as reported qabot steps), but ensure required preconditions are visible before step 1 (e.g. `Send` button).
4. Only after manual flow is stable, create/report qabot run steps.
5. If automation friction is selector-related, add/ask for precise `data-testid` at the failing UI control.

### Tips

#### JS Eval & Smart Quotes (CRITICAL)
Expand Down
2 changes: 1 addition & 1 deletion .npmrc
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
node-linker=hoisted
shamefully-hoist=true
strict-peer-dependencies=false
strict-peer-dependencies=true
auto-install-peers=true
49 changes: 49 additions & 0 deletions .railwayignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Railway snapshot ignore - reduce repo snapshot size for public-api builds
# The Dockerfile.dockerignore handles Docker build context separately;
# this file reduces what Railway snapshots from GitHub before the build starts.

# Frontend source (not needed for public-api server build)
src/
cypress/
e2e/

# Large generated/static assets already copied explicitly in Dockerfile
public/generated/generatedAssetData.json.gz
public/generated/generatedAssetData.json.br
public/generated/relatedAssetIndex.json

# Images and static assets
src/assets/
*.png
*.jpg
*.jpeg
*.svg
*.gif
*.ico
*.webp

# Development/IDE files
.vscode/
.idea/
.claude/
.agents/
.beads/
.playwright-mcp/
coverage/
*.log
.DS_Store

# Yarn state (not needed for pnpm builds)
.yarn/

# Documentation
*.md
!packages/public-api/*.md
!packages/swap-widget/*.md
docs/

# Test files
**/*.test.ts
**/*.test.tsx
**/*.spec.ts
**/*.spec.tsx
Binary file added .yarn/install-state.gz
Binary file not shown.
40 changes: 0 additions & 40 deletions AGENTS.md

This file was deleted.

1 change: 1 addition & 0 deletions AGENTS.md
38 changes: 38 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -190,3 +190,41 @@ Current contracts:
- Each wallet has unique `walletId` (e.g., `metamask:0x123`, `ledger:ABC`)
- Portfolio state is filtered by active `walletId`
- Account discovery runs per wallet on connection

### Issue Tracking (beads)

This project uses **bd** (beads) for issue tracking. Run `bd onboard` to get started.

```bash
bd ready # Find available work
bd show <id> # View issue details
bd update <id> --status in_progress # Claim work
bd close <id> # Complete work
bd sync # Sync with git
```

### Session Completion

**When ending a work session**, you MUST complete ALL steps below. Work is NOT complete until `git push` succeeds.

**MANDATORY WORKFLOW:**

1. **File issues for remaining work** - Create issues for anything that needs follow-up
2. **Run quality gates** (if code changed) - Tests, linters, builds
3. **Update issue status** - Close finished work, update in-progress items
4. **PUSH TO REMOTE** - This is MANDATORY:
```bash
git pull --rebase
bd sync
git push
git status # MUST show "up to date with origin"
```
5. **Clean up** - Clear stashes, prune remote branches
6. **Verify** - All changes committed AND pushed
7. **Hand off** - Provide context for next session

**CRITICAL RULES:**
- Work is NOT complete until `git push` succeeds
- NEVER stop before pushing - that leaves work stranded locally
- NEVER say "ready to push when you are" - YOU must push
- If push fails, resolve and retry until it succeeds
27 changes: 27 additions & 0 deletions e2e/fixtures/chainflip-lending-action-center-pr-12064.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Chainflip Lending Action Center PR 12064
description: >
Evidence-only fixture for PR 12064. Assumes the current browser session
already executed Chainflip lending USDC operations and the Action Center
contains the resulting cards. Focuses only on notification center copy,
expanded details, and egress transaction affordances.
route: /#/chainflip-lending/pool/eip155:1/erc20:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
steps:
- name: Verify confirmed Chainflip lending cards
instruction: >
Open the notification center drawer and verify the confirmed Chainflip
lending cards for deposit, borrow, repay, add collateral, and remove
collateral show sane user copy with expanded details for operation,
amount, and transaction id.
expected: >
Confirmed Chainflip lending cards are visible with expanded details and
no untranslated keys.
screenshot: true
- name: Verify egress card transaction affordance
instruction: >
Verify the egress card shows the withdraw-from-Chainflip copy, expanded
details include the egress transaction id, and a View Transaction button
is present for the external explorer link.
expected: >
The egress Action Center card shows human copy, egress tx id, and a View
Transaction button.
screenshot: true
32 changes: 32 additions & 0 deletions e2e/fixtures/chainflip-lending-revamp-ui.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: Chainflip Lending Revamp UI
description: Validates the revamped Chainflip lending surfaces for USDC pool and key action modals.
route: /chainflip-lending
steps:
- name: Chainflip lending dashboard
instruction: Open the chainflip lending dashboard and ensure the refreshed layout is visible.
expected: Chainflip lending dashboard cards and market tables are visible.
screenshot: true
- name: Open usdc pool
instruction: Navigate into the USDC pool from the All Markets table.
expected: USDC pool page is visible with action tabs.
screenshot: true
- name: Supply modal
instruction: Open Supply action and verify supply input controls.
expected: Supply modal is open with amount input, max and submit controls.
screenshot: true
- name: Deposit and egress modal
instruction: Open Deposit to Chainflip tab and open Withdraw modal.
expected: Egress modal is open with destination toggle and amount controls.
screenshot: true
- name: Collateral modal ltv gauge
instruction: Open Collateral tab and open Add Collateral modal.
expected: LTV gauge shows target, soft liquidation and hard liquidation labels without overlap.
screenshot: true
- name: Borrow modal
instruction: Open Manage Loan tab and open Borrow modal.
expected: Borrow modal is open with amount input and target LTV section.
screenshot: true
- name: Repay modal
instruction: Open Repay modal from Manage Loan tab.
expected: Repay modal is open with full repayment toggle and amount controls.
screenshot: true
Loading
Loading